Solución al desafío propuesto 4
Pasos para crear un recurso compartido por iSCSI 4
Paso 1 - Ingresar a configurar los parámetros del servicio iSCSI 4
Paso 2 – Configurar las opciones del Servidor 4
Paso 3. Definir opciones de red para el Portal (contenedor) 5
Paso 4 – Definir las reglas de acceso para los iniciadores 6
Paso 5 – Definir los usuarios para el acceso autorizado con CHAP 7
Paso 6 – Crear target y asociar ID de portal e ID del grupo iniciador 8
Paso 7 – Crear medio a compartir 9
Paso 8 – Destinos asociados 11
Paso 9 – Iniciar servicio iSCSI 13
Configurar el protocolo iSCSI en la modalidad target para compartir dos LUN a un cliente iSCSI utilizando un equipo FreeNAS
Para esta práctica se utilizará el siguiente software.
•Equipo o MV con dos tarjetas de red tipo Intel con cualquier tipo de lagg. (De preferencia)
•Cuatro discos duros tipo iSCSI configurado con un RAID. (De preferencia)
•VirtualBox en su versión más reciente, si no se cuenta con el equipo físico
•MV con dos tarjetas de red (driver Intel) con cualquier tipo de lagg y dos discos duros configurados con un RAID 1+0 (tipo SATA o SCSI de 10GB c/u)
•Imagen del archivo de instalación en formato ISO de FreeNAS (64 bits) en la versión más reciente.
•Conexión a Internet.
La Empresa Y ha contratado los servicios profesionales de vuestro equipo para realizar las siguientes tareas:
•Instalar y configurar un servidor iSCSI (Target iSCSI) con FreeNAS.
•Configurar un portal que publique un target con dos LUN: uno con 8 GB y el segundo con 6 GB.
•Incrementar la seguridad del acceso a los dos LUN utilizando el cifrado de la conexión de los iniciadores (clientes iSCSI) con el protocolo CHAP.
•Aplicar las especificaciones del cuadro 1 y 2
En la Empresa Y se tienen las siguientes condiciones:
•Una red LAN de alta velocidad (1 GBps) para la la red.
•Un router con salida a Internet y los servicios de infraestructura DNS y DHCP para la red 192.168.50+Y.0
•Un equipo físico para el Datastore1 con FreeNAS con las siguientes especificaciones (o una Máquina virtual)
oDos tarjetas de red de 1 GBps
oCuatro discos SCSI o SATA de 10 GB y 10K rpm
En la figura 1 se ilustra la implementación e identificación del servicio iSCSI, para el cliente iSCSI (iniciador) para este escenario el cliente podrá ser cualquier sistema operativo que tenga un iniciador iSCSI (Ubuntu server, Centos, Windows 2008, 2012, etc.)
Figura 1 – Representación gráfica del cuadro 1 (elaboración propia)
1. Datos para el protocolo iSCSI |
|
IQN del servidor iSCSI |
iqn.2015-06.sv.com.empresay:datastore1 |
IQN del cliente iSCSI |
iqn.2015-06.sv.com.empresay:frontend1 |
Tipo de cifrado para enlace |
CHAP |
2. Datos para el portal (Datastore1 – FreeNAS) |
|
Nombre |
miPortal01 |
Dirección de escucha |
cualquier dirección IP del datastore1 |
Puerto de escucha |
3260 (estándar) |
3. Accesos para el portal (Datastore1 – FreeNAS) |
|
Se permitirá el acceso de |
cualquier iniciador conectado a la red de la SAN |
Comentario o Alias: |
Acceso desde cualquier red |
4. Datos para el grupo de usuarios CHAP |
|
Nombre de usuario: |
usuariochap |
Contraseña: |
123456123456 (palabra entre 12 a 16 caracteres) |
Cuadro 1 – Información para el protocolo iSCSI
Figura 2 – Representación gráfica del cuadro 2 (elaboración propia)
5. Datos para el target |
|||
Nombre y alias: |
miDestino01 |
||
Serial: |
1001 |
||
Portal de publicación |
miPortal01 |
||
Grupo de iniciadores |
Acceso desde cualquier red |
||
Método de Autenticación |
CHAP |
||
ID del grupo de autenticación |
1 |
||
6. Medios a compartir |
|||
Nombre: |
LUN_mv_run |
LUN_mv_ori |
|
Tamaño del PV: |
8 GB |
6 GB |
|
Tamaño de bloque: |
512 K |
1024 K |
|
Comentario: |
LUN para MV ejecutándose |
LUN para las imágenes originales |
|
LUN RPM: |
SSD |
SSD |
|
7. Publicación de los LUN |
|||
LUN ID |
1 |
2 |
|
Target |
midestino01 |
midestino01 |
|
LUN |
LUN_mv_run |
LUN_mv_ori |
Cuadro 2 – Información de los recursos a publicar
En la siguiente figura se muestra cómo se verán los dos LUN compartidos ya sea un equipo tipo UNIX/LINUX o un servidor Windows
Figura 3. Representación final de los recursos en los clientes iSCSI en Linux o Windows
0.1 Verifique que el equipo Datastore1 tenga aplicado un tipo de lagg (bonding)
0.2 Verifique que el equipo Datastore1 tenga un RAID tipo 1+0
0.3 Verifique que haya espacio para dos volúmenes de 8 GB y 6 GB
Método 1 |
Método 2 |
Método 3 |
Clic en menú “Servicios” Clic en el icono “tool” de iSCSI |
Expanda Servicios Seleccione iSCSI |
Clic menú “Compartido” Clic opción “Block (iSCSI)” |
2.1 Clic en ficha “Configuración Global del Destino”
2.2 Complete el formulario con la siguiente información
•Nombre base: iqn.2015-06.sv.com.empresay:ds1
•Descubrir Método de autenticación: CHAP
•Descubrir Grupo Autorizador: 1
2.3 Clic “Botón guardar”
✍Nota: Si tiene problema para definir el grupo autorizador deje las dos últimas opciones en Ninguno.
2.4 Verifique en la parte superior de la pantalla aparezca el mensaje “Configuración Global del Destino actualizada correctamente”
3.1 Clic en la “Ficha Portales”
3.2 Clic en botón “Add Portal”
3.3 Llenar el formulario con la siguiente información:
•Comentarios: MiPortal01
•IPv4: 0.0.0.0
•Puerto: 3260
3.4 Clic en botón “OK”
3.5 Comprobar que se hayan realizado los cambios
4.1 Clic en ficha “Iniciadores”
4.2 Clic en botón “Add iniciadores”
4.3 Completar formulario con la información del cuadro 1:
•Iniciador: ALL (nombre de la regla)
•Red Autorizada: ALL (IPv4 del iniciador)
•Comentario: "Acceso desde cualquier red"
4.4 Clic en botón “OK”
4.5 Verificar que aparezca en la parte superior:
“Iniciadores ha sido actualizado correctamente”
4.6 Comprobar los cambios realizados
5.1 Clic en ficha “Acceso autorizado”
5.2 Clic en botón “Add Acceso autorizado”
5.3 Completar el formulario con la siguiente información
•ID de grupo: 1
•Usuario: usuariochap (Será para funciones Discovery e Ingreso)
•Contraseña: 123456123456 (deberá tener una longitud entre 12 a 16 caracteres)
•Confirmar contraseña: 123456123456
•Usuario "Peer":
•Contraseña:
•Confirmar contraseña:
5.4 Dar clic en botón “OK”
5.5 Verificar mensaje “Acceso autorizado ha sido actualizado correctamente”
5.6 Comprobar que se haya realizado los cambios.
6.1 Seleccionar ficha “Destinos” (target)
6.2 Clic en botón “Add Destino”
6.3 Completar información utilizando datos del cuadro 2
•Nombre del destino: miDestino01
•Alias del destino: miDestino01
•Serial: 1001
•ID del Portal del Grupo: 1 (MiPortal01) ← Seleccionar
•ID del grupo iniciador: (Todos los iniciadores) ← Seleccionar
•Método de Autentificación: Ninguno ← Seleccionar (/ CHAP / CHAP mutuo)
•Número de Autenticación de Grupo: 1
6.4 Clic en botón OK
6.5 Observar mensaje “Destino ha sido actualizado correctamente.”
6.6 Comprobar que se hayan aplicado los cambios
7.1 Clic en ficha “Extender” (Medio)
7.2 Clic en botón “Add Medio (Extent)”
7.3 Completar información con cuadro 2
•Nombre del medio: LUN_mv_run
•Tipo de medio: Dispositivo
•Dispositivo: Seleccionar el recurso de 8GB del RAID
•Tamaño de bloque lógico: 512
•Disable Physical Block Size Reporting: No
•Comentario: “LUN para MV ejecutándose”
•Enable TPC: Si
•Xen initiator compat mode: No
•LUN RPM: 550
7.4 Repetir proceso (paso 7.3) para segundo LUN (ver cuadro 2)
7.5 Verificar mensaje “Medio (Extend) ha sido actualizado correctamente”
7.6 Comprobar LUN creados
Debido a que esta estos LUN contendrán la información del cliente iSCSI, es necesario ubicar la ruta desde la consola de texto para verificar posibles errores
7.7 Digite los siguientes comandos
[root@datastore1] ~# ls /dev/zvol/
./ ../ miRaid01/
[root@datastore1] ~# ls -l /dev/zvol/miRaid01/
total 1
dr-xr-xr-x 2 root wheel 512 Jun 23 15:16 ./
dr-xr-xr-x 3 root wheel 512 Jun 23 15:16 ../
crw-r----- 1 root operator 0x94 Jun 23 15:16 miZvol01
crw-r----- 1 root operator 0x97 Jun 23 15:24 miZvol02
8.1 Clic en ficha “Destinos asociados”
8.2 Clic en botón “Add Destino / Medio”
8.3 Completar el formulario con la siguiente información:
•LUN ID: 1
•Destino: miDestino01
•Medio (Extent): LUN_mv_ori
8.4 Repita el proceso para el segundo LUN
8.5 Observe mensaje “Destino / medio ha sido actualizado correctamente”
8.6 Comprobar LUN creados
8.7 Verificar líneas en archivo de configuración.
Es de gran utilidad comprobar el archivo de configuración por si la herramienta web no permite los cambios
Digite en la consola el siguiente comando
[root@datastore1] ~# cat /etc/ctl.conf
auth-group ag1 {
chap usuariochap "123456123456"
}
portal-group pg1 {
discovery-filter portal-name
discovery-auth-group ag1
listen 0.0.0.0:3260
}
auth-group ag4tg_1 {
chap usuariochap "123456123456"
}
target iqn.2015-06.sv.com.empresay:ds1:midestino01 {
alias "miDestino01"
auth-group ag4tg_1
portal-group pg1
lun 1 {
option unmap on
path /dev/zvol/miRaid01/miZvol02
blocksize 1024
serial 10011
device-id "iSCSI Disk 10011 "
option vendor "FreeBSD"
option product "iSCSI Disk"
option revision "0123"
option naa 0x6589cfc000000b8aa8d9670287d402f5
option insecure_tpc on
option rpm 1
}
lun 2 {
option unmap on
path /dev/zvol/miRaid01/miZvol01
blocksize 512
serial 10012
device-id "iSCSI Disk 10012 "
option vendor "FreeBSD"
option product "iSCSI Disk"
option revision "0123"
option naa 0x6589cfc000000f2ec88b9033de5cc42e
option insecure_tpc on
option rpm 1
}
}
9.1 Clic en menú Servicios
9.2 Clic en interruptor de iSCSSI
9.3 Verifique que el puerto 3260 esté en escucha
Digite en la consola cualquiera de los siguientes comando:
[root@datastore1] ~# netstat -a -f inet | grep LISTEN
tcp4 0 0 *.iscsi-target *.* LISTEN
tcp4 0 0 *.ssh *.* LISTEN
tcp4 0 0 localhost.9042 *.* LISTEN
tcp4 0 0 *.http *.* LISTEN
[root@datastore1] ~# netstat -an -f inet | grep LISTEN
tcp4 0 0 *.3260 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp4 0 0 127.0.0.1.9042 *.* LISTEN
tcp4 0 0 *.80 *.* LISTEN
[root@datastore1] ~# netstat -p tcp -na
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 *.3260 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp6 0 0 *.22 *.* LISTEN
tcp4 0 0 127.0.0.1.9042 *.* LISTEN
tcp6 0 0 *.80 *.* LISTEN
tcp4 0 0 *.80 *.* LISTEN
Nota: Comandos útiles
Ctladm devlist, ctladm devlist -v
En este paso se probará lo siguiente:
•El portal esté disponible
•Se comprobará el acceso a los dos LUN del target miDestino01
10.1 Probar que exista comunicación entre los dos equipos.
Enviar paquetes ICMP desde cada equipo y verificar que no haya problemas de comunicación
[root@datastore1] ~# ping -c 4 10.10.3.X
PING 10.10.3.X (10.10.3.X): 56 data bytes
64 bytes from 10.10.3.X: icmp_seq=0 ttl=64 time=1.048 ms
64 bytes from 10.10.3.X: icmp_seq=1 ttl=64 time=0.850 ms
64 bytes from 10.10.3.X: icmp_seq=2 ttl=64 time=0.984 ms
64 bytes from 10.10.3.X: icmp_seq=3 ttl=64 time=1.112 ms
10.2 Verificar que el servicio iSCSI esté ejecutándose en el target
[root@datastore1] ~# service ctld status
ctld is running as pid 1819.
Nota: si no estuviera activo: /Panel de la izquierda / Servicios / Control de servicios / iSCSI -> ON
10.3 Verificar los datos del servidor iSCSI
[root@datastore1] ~# cat /etc/ctl.conf
auth-group ag1 {
chap usuariochap "123456123456"
}
portal-group pg1 {
discovery-filter portal-name
discovery-auth-group ag1
listen 0.0.0.0:3260
}
auth-group ag4tg_1 {
chap usuariochap "123456123456"
}
target iqn.2015-06.sv.com.empresay:ds1:midestino01 {
alias "miDestino01"
auth-group ag4tg_1
portal-group pg1
lun 1 {
option unmap on
path /dev/zvol/miRaid01/miZvol02
blocksize 1024
serial 10011
device-id "iSCSI Disk 10011 "
option vendor "FreeBSD"
option product "iSCSI Disk"
option revision "0123"
option naa 0x6589cfc000000b8aa8d9670287d402f5
option insecure_tpc on
option rpm 1
}
lun 2 {
option unmap on
path /dev/zvol/miRaid01/miZvol01
blocksize 512
serial 10012
device-id "iSCSI Disk 10012 "
option vendor "FreeBSD"
option product "iSCSI Disk"
option revision "0123"
option naa 0x6589cfc000000f2ec88b9033de5cc42e
option insecure_tpc on
option rpm 1
}
}
Si se utiliza la interfaz gráfica: /Panel de la izquierda / Servicios / iSCSI / Block (iSCSI)
10.4 Establecer comunicación con el cliente iSCSI desde el iniciador
✍Nota: Este paso solo es para verificar que se puede reconocer los discos duros, se escogió utilizar VirtualBox, para evitar instalar otro sistema operativo. Posteriormente se utilizará un Equipo o máquina virtual con Centos para establecer la configuración del Target e Initiator iSCSI. Si se desea se puede utilizar un equipo Windows o Linux con un cliente iSCSI.
Para facilidad se utilizará el cliente iSCSI de VirtualBox
•Crear una máquina virtual con Windows con el nombre “prueba-iscsi”
•Borrar los disco IDE
•Agregar la tarjeta controladora SATA
•NO agregar los discos Duros a la tarjeta SATA
10.5 Identificar los datos de conexión:
•iscsi-prueba ← Nombre de la máquina virtual a utilizar
•storagectl SATA ← tipo de controladora
•device 0 ← número de disco
•type hdd ← tipo de dispositivo
•port 0 ← puerto
•medium iscsi ← forma en la cual se accederá al disco duro
•server 192.168.50+Y.2 ← IPv4 del target iSCSI
•target iqn.2015-06.sv.com.empresay:ds1 ← iqn del target del servidor iSICI
•username usuariochap ← nombre del usuario
•password 123456123456 ← la contraseña
•tport 3260 ← Puerto de escucha del target iSCSI
10.6 Digitar los siguientes comandos: (el último en una sola línea)
C:\>cd "Program Files"
C:\Program Files>cd Oracle
C:\Program Files\Oracle>cd VirtualBox
C:\Program Files\Oracle\VirtualBox>
VBoxManage storageattach "prueba-iscsi" --storagectl SATA --device 0 --type hdd --port 0 --medium iscsi --server 192.168.50+Y.2 --target iqn.2015-06.sv.com.empresay:datastore1 --username usuariochap --password 123456123456 --tport 3260
iSCSI disk created. UUID: 7d4609e5-6bcb-4dc5-9494-cc7579828196
Si todo está bien en el administrador de discos aparecerá el disco y en la máquina virtual también.
Para target
# service ctld reload
# service ctld start
[root@datastore1] ~# ctladm devlist
LUN Backend Size (Blocks) BS Serial Number Device ID
0 block 6291456 1024 10011 iSCSI Disk 10011
1 block 16777216 512 10012 iSCSI Disk 10012
Se puede usar la opción –v para el detalle de cada LUN
[root@datastore1] ~# ctladm port -o on
Front End Ports enabled
[root@datastore1] ~# ctladm port -l
Port Online Type Name pp vp WWNN WWPN
0 YES IOCTL ioctl 0 0 0 0
1 YES INTERNAL camsim 0 0 0x5000000d1bdd9b00 0x5000000d1bdd9b02
2 YES INTERNAL kernel 0 0 0 0
3 YES INTERNAL tpc 0 0 0 0
4 YES ISCSI iscsi 2 1 0 0
[root@datastore1] ~# ctladm lunlist
(7:0:0/0): <FreeBSD iSCSI Disk 0123> Fixed Direct Access SCSI-6 device
(7:0:1/1): <FreeBSD iSCSI Disk 0123> Fixed Direct Access SCSI-6 device
[root@datastore1] ~# ctladm port -o off
Front End Ports disabled
[root@datastore1] ~# ctladm port -l
Port Online Type Name pp vp WWNN WWPN
0 NO IOCTL ioctl 0 0 0 0
1 NO INTERNAL camsim 0 0 0x5000000d1bdd9b00 0x5000000d1bdd9b02
2 NO INTERNAL kernel 0 0 0 0
3 NO INTERNAL tpc 0 0 0 0
4 NO ISCSI iscsi 2 1 0 0
Para iniciador
# service iscsid start
Referencia para la equivalencia
http://www.zfsbuild.com/2010/05/26/zfs-raid-levels/
https://www.freebsd.org/doc/handbook/network-iscsi.html