Configura un escenario con vagrant o similar que incluya varias máquinas que permita realizar la configuración de un servidor iSCSI y dos clientes (uno linux y otro windows). Explica de forma detallada en la tarea los pasos realizados.
-
Crea un target con una LUN y conéctala a un cliente GNU/Linux. Explica cómo escaneas desde el cliente buscando los targets disponibles y utiliza la unidad lógica proporcionada, formateándola si es necesario y montándola.
-
Utiliza systemd mount para que el target se monte automáticamente al arrancar el cliente
-
Crea un target con 2 LUN y autenticación por CHAP y conéctala a un cliente windows. Explica cómo se escanea la red en windows y cómo se utilizan las unidades nuevas (formateándolas con NTFS)
-
Tendremos tres máquinas, una debian que actuará como servidor con 3 discos adicionales de 1 GB cada uno, y dos clientes conectados, uno será debian y otro windows.
-
Ahora en el servidor instalaremos el paqute tgt.
vagrant@maquina1:~$ sudo apt install tgt
-
Ahora realizaremos nuestra configuración, si lo hicieramos desde línea de comandos al cerrar la sesión se eliminaria nuestra configuración, por ello vamos a configurarlo mediante los ficheros de configuración empezaremos con
/etc/tgt/conf.d/target1.conf
para definir dos targets, uno para el cliente windows y otro para el cliente debian, notaremos que el target 2 tiene una línea que no está en el primero, esto es porque lo usaremos para windows y necesitaremos un usuario y una contraseña para el mismo.
<target iqn.2022-01.es.alegv:target1>
backing-store /dev/sdb
</target>
<target iqn.2022-01.es.alegv:target2>
backing-store /dev/sdc
incominguser admin admin
</target>
- Después de reiniciar el servicio vamos a ver las targets que acabamos de configurar.
vagrant@maquina1:~$ sudo systemctl restart tgt
vagrant@maquina1:~$ sudo tgtadm --op show --mode target
Target 1: iqn.2022-01.es.alegv:target1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
ACL information:
ALL
Target 2: iqn.2022-01.es.alegv:target2
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00020000
SCSI SN: beaf20
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
SWP: No
Thin-provisioning: No
Backing store type: null
Backing store path: None
Backing store flags:
Account information:
admin
ACL information:
ALL
- Vamos a dirigirnos al cliente linux ahora e instalar el paquete
open-iscsi
.
vagrant@maquina2:~$ sudo apt install open-iscsi
- Podemos comprobar que esta máquina solo tiene un disco duro.
vagrant@maquina2:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 20G 0 disk
└─vda1 254:1 0 20G 0 part /
- Vamos a ver las targets que tenemos disponibles.
root@maquina2:~# iscsiadm --mode discovery --type sendtargets --portal 192.168.121.231
192.168.121.231:3260,1 iqn.2022-01.es.alegv:target1
192.168.121.231:3260,1 iqn.2022-01.es.alegv:target2
- Vamos a conectarnos a la que queramos.
root@maquina2:~# sudo iscsiadm --mode node -T iqn.2022-01.es.alegv:target1 --portal 192.168.121.231 --login
Logging in to [iface: default, target: iqn.2022-01.es.alegv:target1, portal: 192.168.121.231,3260]
Login to [iface: default, target: iqn.2022-01.es.alegv:target1, portal: 192.168.121.231,3260] successful.
- Si ahora listamos nuestros dispositivos veremos que se ha añadido un nuevo volumen.
vagrant@maquina2:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 20G 0 disk
└─vda1 254:1 0 20G 0 part /
vdb 254:16 0 1G 0 disk
- Vamos a darle formato y montarlo.
root@maquina2:~# mkfs.ext4 /dev/vdb
root@maquina2:~# mount /dev/vdb /mnt/prueba
root@maquina2:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 20G 0 disk
└─vda1 254:1 0 20G 0 part /
vdb 254:16 0 1G 0 disk /mnt/prueba
systemd mount
-
Ahora mismo está montado pero no permanentemente, modificamos el fichero
/etc/iscsi/iscsid.conf
y cambiamos la línea que veremos a continuación de manual a automatic.node.startup = automatic
-
Vamos a crear en
/etc/systemd/system/
un fichero al que llamaremosprueba1.mount
y servirá para crear la unidad.[Unit] Description= Montaje del target1 [Mount] What=/dev/vdb Where=/prueba1 Type=ext4 Options=_netdev [Install] WantedBy=multi-user.target
-
Ahora reiniciamos el servicio.
root@maquina2:~# sudo systemctl daemon-reload
-
Montaremos nuestro disco y crearemos un enlace simbólico.
root@maquina2:~# systemctl start prueba1.mount root@maquina2:~# systemctl enable prueba1.mount Created symlink /etc/systemd/system/multi-user.target.wants/prueba1.mount → /etc/systemd/system/prueba1.mount.
-
Vamos a ver que se ha realizado el cambio, podremos comprobarlo porque hemos cambiado el punto de montaje, ahora está en
/prueba1
.
root@maquina2:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 20G 0 disk
└─vda1 254:1 0 20G 0 part /
vdb 254:16 0 1G 0 disk prueba1
- Ahora si podremos abrir nuestro cliente windows y nos dirigiremos a
panel de control > sistema y seguridad > herramientas administrativas > iniciador iSCSI
una vez ahí, enconexión rápida
añadiremos la IP de nuestro servidor y aparcerán las targets que tenemos configuradas.
- Elegiriamos la 2 que configuramos al principio con usuario y contraseña concienciudamente y clicaremos en opciones avanzadas dentro de las pestaña que aparece habilitando el
inicio de sesion CHAP
y escribiendo nuestro usuario y contraseña configurados anteriormente.
- Después de activar nuestro targer debemos montarlo, para ello iriamos a la aplicacion de particiones.
- Y dentro nos aparecerá una ventana avisando de que se ha encontrado un nuevo disco.
- Le daremos el formato estandar de windows NTFS y comprobaremos que se encuentra en nuestro sistema