sábado, 2 de mayo de 2015

Configuración de targetcli - Proyecto - SAN (Storage Area Network)

Configuración de targetcli - Proyecto - SAN (Storage Area Network)

En el artículo anterior hemos visto como instalar targetcli y realizar una configuración sencilla. Vamos a cambiar de escenario y por lo tanto la configuración anterior ya no será válida particionaremos el espacio total del RAID-5 que eran de 21T en 3 particiones de 5T cada para los canales de Fibra y el resto lo reservamos para iscsi sobre TCP/IP en una red Gigabit Ethernet.

Existe la posibilidad de desinstalar targetcli:

Desistalar Targetcli:
sudo apt-get remove targetcli
 
Desistalar Targetcli y sus dependencias:
sudo apt-get remove --auto-remove targetcli
  
Desistalar Targetcli , sus dependencias y la configuración:
sudo apt-get purge --auto-remove targetcli


Otra opción es borrar la configuración parando el servicio:

Paso 1 (paramos el servicio)
Unloading fabric/configfs: Successfully released fabric: /sys/kernel/config/target/srpt
Successfully released fabric: /sys/kernel/config/target/qla2xxx
Successfully released fabric: /sys/kernel/config/target/loopback
Successfully released fabric: /sys/kernel/config/target/fc
[OK]
Unloading LIO-Target/ConfigFS fabric: [OK]
Unloading target_core_mod/ConfigFS core: rmmod: ERROR: Module target_core_stgt is not currently loaded
[OK]
Successfully unloaded target_core_mod/ConfigFS core


 Entramos en targetcli:

 Paso 2 (entramos en targetcli, cargrá una confiuración vacía)
root@SAN:/etc/target# targetcli
targetcli GIT_VERSION (rtslib GIT_VERSION)
Copyright (c) 2011-2013 by Datera, Inc.
All rights reserved.
Loaded tcm_fc kernel module.
Created '/sys/kernel/config/target/fc'.
Loaded tcm_qla2xxx kernel module.
Created '/sys/kernel/config/target/qla2xxx'.
Loaded iscsi_target_mod kernel module.
Created '/sys/kernel/config/target/iscsi'.
Loaded ib_srpt kernel module.
Created '/sys/kernel/config/target/srpt'.
Loaded tcm_loop kernel module.
Created '/sys/kernel/config/target/loopback'.

 Resultado de una configuración vacía:


Guardamos la configuración:

 Paso 3 (Guardar la configuración)
/> saveconfig
WARNING: Saving SAN current configuration to disk will overwrite your boot settings.
The current target configuration will become the default boot config.
Are you sure? Type 'yes': yes
Making backup of loopback/ConfigFS with timestamp: 2015-05-02_18:06:25.212974
Successfully updated default config /etc/target/loopback_start.sh
Making backup of srpt/ConfigFS with timestamp: 2015-05-02_18:06:25.212974
Successfully updated default config /etc/target/srpt_start.sh
Making backup of qla2xxx/ConfigFS with timestamp: 2015-05-02_18:06:25.212974
Successfully updated default config /etc/target/qla2xxx_start.sh
Making backup of fc/ConfigFS with timestamp: 2015-05-02_18:06:25.212974
Successfully updated default config /etc/target/fc_start.sh
Making backup of LIO-Target/ConfigFS with timestamp: 2015-05-02_18:06:25.212974
Generated LIO-Target config: /etc/target/backup/lio_backup-2015-05-02_18:06:25.212974.sh
Making backup of Target_Core_Mod/ConfigFS with timestamp: 2015-05-02_18:06:25.212974
Generated Target_Core_Mod config: /etc/target/backup/tcm_backup-2015-05-02_18:06:25.212974.sh
Successfully updated default config /etc/target/lio_start.sh
Successfully updated default config /etc/target/tcm_start.sh


Otra forma de empesar una nueva configuración:
clearconfig

Se ha producid un cambio de S.O debido a que estaba usando la versión UBUNTU 14.04.2 LTS Desktop y tenía problemar para crear un portal iscsi.
(hablaremos de ellos más tarde).

Versión y distribución actual del servidor SAN:
Distributor ID:    Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:    14.04
Codename:    trusty


Comprobar que targetcli carga todos los módulos:



Iniciamos la configuración del nuevo escenario, el servidor SAN-SERVER tiene un canal de fibra de 4Gpbs con el servidor SRV-ANUBIS.

Servidor SAN
QLE 2464 port 1: WWN: 21:00:00:1b:32:8d:0c:f3
Objeto tipo iblock, unidad /dev/sda1 de 5T. (partición de un espacio total de 21T sobre RAID-5)

Sevidor SRV-ANUBISsss
QLE 2462 port 1: WWN: 21:00:00:1b:32:09:bd:74

Recordatorio para particionar el disco RAID-5 usando: parted
(usado para particiones > 2TB)
parted /dev/sda

Listar la configuración de las particiones en la tabla gpt:
(parted) print
Model: LSI MR9261-8i (scsi)
Disk /dev/sda: 20,9TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 20,9TB 20,9TB ext4 primary

Quitar una partición:
(parted) rm
Partition number? 1


Creamos las nuevas particiones:
(parted) mkpart primary 0GB 5120GB
(parted) mkpart primary 5120GB 10240GB
(parted) mkpart primary 10240GB 15360GB
############################
(parted) print
Model: LSI MR9261-8i (scsi)
Disk /dev/sda: 20,9TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 5120GB 5120GB ext4 primary
2 5120GB 10,2TB 5120GB primary
3 10,2TB 15,4TB 5120GB primary

 Formateamos las particiones:
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3


Empezaos a configurar targelcli, a continuación empezaremos creando los objetos en este caso estamos usando bloques de un diso (particiones).

Creamos los objetos tipo iblock:
/backstores/iblock/ create name=SRV-ANUBIS dev=/dev/sda1

/backstores/iblock/ create name=SRV-NUT dev=/dev/sda2

/backstores/iblock/ create name=SRV-OSIRIS dev=/dev/sda3

Creamos WWN´s en targetcli en cada puerto:
/qla2xxx create 21:00:00:1b:32:8d:0c:f3


/qla2xxx create 21:03:00:1b:32:ed:0c:f3


/qla2xxx create 21:01:00:1b:32:ad:0c:f3


/qla2xxx create 21:02:00:1b:32:cd:0c:f3

En caso de este fallo para crear un Target de fibra:
/> /qla2xxx create 21:03:00:1b:32:ed:0c:f3
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/configshell/shell.py", line 983, in run_interactive
self._cli_loop()
File "/usr/lib/python2.7/dist-packages/configshell/shell.py", line 806, in _cli_loop
self.run_cmdline(cmdline)
File "/usr/lib/python2.7/dist-packages/configshell/shell.py", line 927, in run_cmdline
self._execute_command(path, command, pparams, kparams)
File "/usr/lib/python2.7/dist-packages/configshell/shell.py", line 902, in _execute_command
result = target.execute_command(command, pparams, kparams)
File "/usr/lib/python2.7/dist-packages/targetcli/ui_node.py", line 216, in execute_command
return UINode.execute_command(self, command, pparams, kparams)
File "/usr/lib/python2.7/dist-packages/targetcli/ui_node.py", line 101, in execute_command
pparams, kparams)
File "/usr/lib/python2.7/dist-packages/configshell/node.py", line 1405, in execute_command
result = method(*pparams, **kparams)
File "/usr/lib/python2.7/dist-packages/targetcli/ui_target.py", line 119, in ui_command_create
target = Target(self.rtsnode, wwn, mode='create')
File "/usr/lib/python2.7/dist-packages/rtslib/target.py", line 1209, in __init__
self._create_in_cfs_ine(mode)
File "/usr/lib/python2.7/dist-packages/rtslib/node.py", line 71, in _create_in_cfs_ine
os.mkdir(self.path)
OSError: [Errno 22] Invalid argument: '/sys/kernel/config/target/qla2xxx/21:03:00:1b:32:ed:0c:f3'

Seguir estos pasos par realizar una modificación en la controladora de la tarjeta de fibra HBA.

vi /etc/modprobe.d/qla2xxx.conf
Modificar:  options qla2xxx qlini_mode="enable"
Por:  options qla2xxx qlini_mode="disabled"
Salir y guardar.
Actualizar inittramfs: 
update-initramfs -u -k all
Reiniciar el servidor.


Creamos la instancia Target usando las WWN´s
/qla2xxx/21:00:00:1b:32:8d:0c:f3/luns/ create /backstores/iblock/SRV-ANUBIS



/qla2xxx/21:03:00:1b:32:ed:0c:f3/luns/ create /backstores/iblock/SRV-NUT



/qla2xxx/21:01:00:1b:32:ad:0c:f3/luns/ create /backstores/iblock/SRV-OSIRIS



/qla2xxx/21:02:00:1b:32:cd:0c:f3/luns/ create /backstores/iblock/*** RESERVADO /no creado**




 
Cremos el ACL(sólo para el servidor cliente ANUBIS de momento:
/qla2xxx/21:00:00:1b:32:8d:0c:f3/acls/ create 21:00:00:1b:32:09:bd:74


Guardamos la configuración:
saveconfig

No hay comentarios:

Publicar un comentario