iSCSI Fedora · 9 min read · Feb 07, 2026

Uso de iSCSI en Fedora 10 (Iniciador y Destino)

Uso de iSCSI en Fedora 10 (Iniciador y Destino)

Versión 1.0
Autor: Falko Timme

Esta guía explica cómo puedes configurar un destino iSCSI y un iniciador iSCSI (cliente), ambos ejecutándose en Fedora 10. El protocolo iSCSI es un protocolo de red de área de almacenamiento (SAN) que permite a los iniciadores iSCSI utilizar dispositivos de almacenamiento en el destino iSCSI (remoto) utilizando cableado ethernet normal. Para el iniciador iSCSI, el almacenamiento remoto se ve como un disco duro normal conectado localmente.

¡No emito ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

Estoy utilizando aquí dos servidores Fedora 10:

  • server1.example.com (Iniciador): dirección IP 192.168.0.100
  • server2.example.com (Destino): dirección IP 192.168.0.101

2 Configurando El Destino (server2)

server2:

Primero configuramos el destino (server2). Debido a que los paquetes necesarios están disponibles solo en el repositorio RPMFusion, debemos habilitarlo primero:

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Luego podemos instalar los paquetes del destino iSCSI:

yum install iscsitarget kmod-iscsitarget

Es posible que esto también actualice tu kernel. Si este es el caso, reinicia el sistema después:

reboot

Podemos usar volúmenes lógicos no utilizados, archivos de imagen, discos duros (por ejemplo, /dev/sdb), particiones de disco duro (por ejemplo, /dev/sdb1) o dispositivos RAID (por ejemplo, /dev/md0) para el almacenamiento. En este ejemplo, crearé un volumen lógico de 20GB llamado storage_lun1 en el grupo de volúmenes VolGroup00:

lvcreate -L20G -n storage_lun1 VolGroup00

(Si deseas usar un archivo de imagen, puedes crearlo de la siguiente manera:

mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000

Esto crea el archivo de imagen /storage/lun1.img con un tamaño de 20GB.

)

A continuación, editamos /etc/ietd.conf…

vi /etc/ietd.conf

… y comentamos todo en ese archivo. Al final, agregamos la siguiente estrofa:

| [...] Target iqn.2001-04.com.example:storage.lun1 IncomingUser someuser secret OutgoingUser Lun 0 Path=/dev/VolGroup00/storage_lun1,Type=fileio Alias LUN1 #MaxConnections 6 |

El nombre del destino debe ser un nombre globalmente único, el estándar iSCSI define el “Nombre Calificado iSCSI” de la siguiente manera: iqn.yyyy-mm.[:identificador]; yyyy-mm es la fecha en la que el dominio es válido; el identificador es seleccionable libremente. La línea IncomingUser contiene un nombre de usuario y una contraseña para que solo los iniciadores (clientes) que proporcionen este nombre de usuario y contraseña puedan iniciar sesión y usar el dispositivo de almacenamiento; si no necesitas autenticación, no especifiques un nombre de usuario y contraseña en la línea IncomingUser. En la línea Lun, debemos especificar la ruta completa al dispositivo de almacenamiento (por ejemplo, /dev/VolGroup00/storage_lun1, /storage/lun1.img, /dev/sdb, etc.).

Ahora le decimos al destino que queremos permitir conexiones al dispositivo iqn.2001-04.com.example:storage.lun1 desde la dirección IP 192.168.0.100 (server1.example.com):

vi /etc/initiators.allow

| [...] iqn.2001-04.com.example:storage.lun1 192.168.0.100 |

A continuación, creamos los enlaces de inicio del sistema para iscsi-target y lo iniciamos:

chkconfig –levels 235 iscsi-target on
/etc/init.d/iscsi-target start

3 Configurando El Iniciador (server1)

server1:

En server1, instalamos el iniciador:

yum install iscsi-initiator-utils

A continuación, abrimos /etc/iscsi/iscsid.conf…

vi /etc/iscsi/iscsid.conf

… y nos aseguramos de que node.startup esté configurado en automático:

| [...] node.startup = automatic [...] |

Ahora nos conectamos al destino (server2) y verificamos qué dispositivos de almacenamiento tiene para ofrecer:

iscsiadm -m discovery -t st -p 192.168.0.101

[root@server1 init.d]# iscsiadm -m discovery -t st -p 192.168.0.101
Iniciando iscsid: [ OK ]
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#

iscsiadm -m node

[root@server1 init.d]# iscsiadm -m node
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#

Los ajustes para el dispositivo de almacenamiento iqn.2001-04.com.example:storage.lun1 en 192.168.0.101:3260,1 se almacenan en el archivo /var/lib/iscsi/nodes/iqn.2001-04.com.example:storage.lun1/192.168.0.101,3260,1/default. Necesitamos establecer el nombre de usuario y la contraseña para el destino en ese archivo; en lugar de editar ese archivo manualmente, podemos usar el comando iscsiadm para hacerlo por nosotros:

iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.authmethod –value=CHAP
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.username –value=someuser
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.password –value=secret

Ahora podemos iniciar sesión:

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login

[root@server1 init.d]# iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –login
Iniciando sesión en [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Inicio de sesión en [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: exitoso
[root@server1 init.d]#

(Si deseas cerrar sesión, puedes ejecutar

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout

)

En la salida de

fdisk -l 

debes encontrar ahora un nuevo disco duro (/dev/sdb en este ejemplo); ese es nuestro dispositivo de almacenamiento iSCSI:

[root@server1 init.d]# fdisk -l
Disco /dev/sda: 32.2 GB, 32212254720 bytes
255 cabezas, 63 sectores/cilindro, 3916 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x000d5f46

Dispositivo Inicio Fin Bloques Id Sistema
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM

Disco /dev/sdb: 21.4 GB, 21474836480 bytes
64 cabezas, 32 sectores/cilindro, 20480 cilindros
Unidades = cilindros de 2048 * 512 = 1048576 bytes
Identificador de disco: 0x00000000

El disco /dev/sdb no contiene una tabla de particiones válida
[root@server1 init.d]#

Para usar ese dispositivo, debemos formatearlo:

fdisk /dev/sdb

[root@server1 init.d]# fdisk /dev/sdb
El dispositivo no contiene ni una tabla de particiones DOS válida, ni una etiqueta de disco Sun, SGI u OSF
Construyendo una nueva etiqueta de disco DOS con el identificador de disco 0xa1870fdd.
Los cambios permanecerán en memoria solo, hasta que decidas escribirlos.
Después de eso, por supuesto, el contenido anterior no será recuperable.

El número de cilindros para este disco está configurado en 20480.
No hay nada de malo en eso, pero esto es más grande que 1024,
y podría en ciertas configuraciones causar problemas con:

  1. software que se ejecuta en el tiempo de arranque (por ejemplo, versiones antiguas de LILO)
  2. software de arranque y particionamiento de otros sistemas operativos
    (ej., DOS FDISK, OS/2 FDISK)
    Advertencia: la bandera inválida 0x0000 de la tabla de particiones 4 será corregida por w(escribir)

Comando (m para ayuda): <– n
Acción del comando
e extendido
p partición primaria (1-4)
<– p
Número de partición (1-4): <– 1
Primer cilindro (1-20480, valor predeterminado 1): <– ENTER
Usando el valor predeterminado 1
Último cilindro, +cilindros o +tamaño{K,M,G} (1-20480, valor predeterminado 20480): <– ENTER
Usando el valor predeterminado 20480

Comando (m para ayuda): <– t
Partición seleccionada 1
Código hexadecimal (tipo L para listar códigos): <– L

0 Vacío 1e Oculto W95 FAT1 80 Antiguo Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / antiguo Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 oculto C: c7 Syrinx
5 Extendida 41 PPC PReP Boot 85 Linux extendido da Datos no FS
6 FAT16 42 SFS 86 Conjunto de volumen NTFS db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 Conjunto de volumen NTFS de de Utilidad Dell
8 AIX 4e QNX4.x 2da parte 88 Linux texto plano df BootIt
9 AIX arrancable 4f QNX4.x 3ra parte 8e Linux LVM e1 Acceso DOS
a Gestor de Arranque OS/2 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee GPT
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
11 FAT12 Oculto 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Diagnóstico Compaq 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 FAT16 Oculto <3 61 SpeedStor a9 NetBSD f2 secundario DOS
16 FAT16 Oculto 63 GNU HURD o Sys ab Arranque de Darwin fb VMware VMFS
17 HPFS/NTF Oculto 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 intercambio BSDI fd Linux raid auto
1b FAT3 Oculto W95 70 DiskSecure Mult bb Asistente de Arranque oculto fe LANstep
1c FAT3 Oculto W95 75 PC/IX be arranque Solaris ff BBT
Código hexadecimal (tipo L para listar códigos): <– 83

Comando (m para ayuda): <– w
¡La tabla de particiones ha sido alterada!

Llamando a ioctl() para volver a leer la tabla de particiones.
Sincronizando discos.
[root@server1 init.d]#

Después, la salida de

fdisk -l

debiera verse como sigue:

[root@server1 init.d]# fdisk -l
Disco /dev/sda: 32.2 GB, 32212254720 bytes
255 cabezas, 63 sectores/cilindro, 3916 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0x000d5f46

Dispositivo Inicio Fin Bloques Id Sistema
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM

Disco /dev/sdb: 21.4 GB, 21474836480 bytes
64 cabezas, 32 sectores/cilindro, 20480 cilindros
Unidades = cilindros de 2048 * 512 = 1048576 bytes
Identificador de disco: 0xa1870fdd

Dispositivo Inicio Fin Bloques Id Sistema
/dev/sdb1 1 20480 20971504 83 Linux
[root@server1 init.d]#

Ahora creamos un sistema de archivos en /dev/sdb1…

mkfs.ext3 /dev/sdb1

… y lo montamos para fines de prueba:

mount /dev/sdb1 /mnt

Ahora deberías ver el nuevo dispositivo en las salidas de…

mount

[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 en / tipo ext3 (rw)
/proc en /proc tipo proc (rw)
sysfs en /sys tipo sysfs (rw)
devpts en /dev/pts tipo devpts (rw,gid=5,mode=620)
/dev/sda1 en /boot tipo ext3 (rw)
tmpfs en /dev/shm tipo tmpfs (rw)
ninguno en /proc/sys/fs/binfmt_misc tipo binfmt_misc (rw)
sunrpc en /var/lib/nfs/rpc_pipefs tipo rpc_pipefs (rw)
/dev/sdb1 en /mnt tipo ext3 (rw)
[root@server1 ~]#

… y

df -h

[root@server1 ~]# df -h
Sistema de archivos Tamaño Usado Disponible Uso% Montado en
/dev/mapper/VolGroup00-LogVol00 29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /mnt
[root@server1 ~]#

Puedes desmontarlo así:

umount /mnt

Para que el dispositivo se monte automáticamente al iniciar el sistema, por ejemplo, en el directorio /storage, creamos ese directorio…

mkdir /storage

… y agregamos la siguiente línea a /etc/fstab:

vi /etc/fstab

| [...] /dev/sdb1 /storage ext3 defaults,auto,_netdev 0 0 |

Para fines de prueba, ahora puedes reiniciar el sistema:

reboot

Después del reinicio, el dispositivo debería estar montado:

mount

[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 en / tipo ext3 (rw)
/proc en /proc tipo proc (rw)
sysfs en /sys tipo sysfs (rw)
devpts en /dev/pts tipo devpts (rw,gid=5,mode=620)
/dev/sda1 en /boot tipo ext3 (rw)
tmpfs en /dev/shm tipo tmpfs (rw)
ninguno en /proc/sys/fs/binfmt_misc tipo binfmt_misc (rw)
sunrpc en /var/lib/nfs/rpc_pipefs tipo rpc_pipefs (rw)
/dev/sdb1 en /storage tipo ext3 (rw,_netdev)
[root@server1 ~]#

df -h

[root@server1 ~]# df -h
Sistema de archivos Tamaño Usado Disponible Uso% Montado en
/dev/mapper/VolGroup00-LogVol00 29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /storage
[root@server1 ~]#

4 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.