Guía A3 Configurar el servicio SAN del datastore1


Contenido


Contenido        1

a. Objetivo:        1

b. Software necesario        1

Escenario de la guía        2

Solución al desafío propuesto        4

Pasos para crear un recurso compartido por iSCSI        4

Paso 0 Pasos previos        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

Comandos de ayuda        17


Aspectos didácticos.


a. Objetivo:


Configurar el protocolo iSCSI en la modalidad target para compartir dos LUN a un cliente iSCSI utilizando un equipo FreeNAS


b. Software necesario


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.



Escenario de la guía


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


Solución al desafío propuesto


Pasos para crear un recurso compartido por iSCSI


Paso 0 Pasos previos

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


Paso 1 - Ingresar a configurar los parámetros del servicio iSCSI


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)”




Paso 2 Configurar las opciones del Servidor


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”


Paso 3. Definir opciones de red para el Portal (contenedor)


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



Paso 4 Definir las reglas de acceso para los iniciadores


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



Paso 5 Definir los usuarios para el acceso autorizado con CHAP


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.



Paso 6 Crear target y asociar ID de portal e ID del grupo iniciador


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



Paso 7 Crear medio a compartir


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


Paso 8 Destinos asociados


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

                }

}




Paso 9 Iniciar servicio iSCSI


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



Paso 10 Probar conectividad.


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.



Comandos de ayuda


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