Configuración iSCSI (targetcli)- Proyecto - SAN (Storage Area Network)
En paralelo a nuestra configuración de los targets para nuestros canales de fibra se puede configurar target iSCSI para llegar a servidor que no tengan una targeta de fibra. Configurar iSCSI en plataforma de bajo presupuesto es una buena alternativa para implementar un sistema de "disaster recovery". Otra alternativa en lugar de usar targetcli es Openfiler viene preparado con una interfaz gráfica y permite gestionar desde los volúmenes, permisos, targets ...
Otra gran ventaja de iSCSI es la recuperación automática de la sesión en caso de cortes o pérdida de red. En entornos donde hay que priorizar la alta disponibilidad se puede usar DM-multipath, otra beneficio directo es aprovechar un load-balancing y mayor ancho de banda. Poniendo a práctica este interesante escenario en cada controladora hay que agrupar las LUN y crear un solo mapeo por controladora HBA o RED(para iSCSI). En la gran mayoria de los sistemas de virtualización se puede usar iSCSI y los principales sistemas operativos lo tienen integrado. El ancho de banda necesario es proporcional a las necesidades y conviene usar tarjetas de varios puertos o 10-Gigabit-Ethernet. Para aumentar el rendimiento se puede hacer VLAN trunk dependiendo del tráfico.
A continuación explicamos la configuración a realizar en el servidor SAN y Cliente-Servidor (SRV-Mysql-2).
Servidor SAN:
Entramos en targetcli y creamos un objeto:
Otra gran ventaja de iSCSI es la recuperación automática de la sesión en caso de cortes o pérdida de red. En entornos donde hay que priorizar la alta disponibilidad se puede usar DM-multipath, otra beneficio directo es aprovechar un load-balancing y mayor ancho de banda. Poniendo a práctica este interesante escenario en cada controladora hay que agrupar las LUN y crear un solo mapeo por controladora HBA o RED(para iSCSI). En la gran mayoria de los sistemas de virtualización se puede usar iSCSI y los principales sistemas operativos lo tienen integrado. El ancho de banda necesario es proporcional a las necesidades y conviene usar tarjetas de varios puertos o 10-Gigabit-Ethernet. Para aumentar el rendimiento se puede hacer VLAN trunk dependiendo del tráfico.
A continuación explicamos la configuración a realizar en el servidor SAN y Cliente-Servidor (SRV-Mysql-2).
Servidor SAN:
Entramos en targetcli y creamos un objeto:
/backstores> /backstores/iblock/ create name=mysql2 dev=/dev/sda4
|
Activamos el target por iSCSI:
cd /iscsi
create
La opción de crear un portal de forma automática no está activada. |
Creamos un portal:
/> /iscsi create
Created target iqn.200301.org.linux- iscsi.san.x8664:sn.284ffa240148. Selected TPG Tag 1. Successfully created TPG 1. |
Añadimos una LUN:
cd /iscsi/iqn.200301.org.linux-
iscsi.san.x8664:sn.284ffa240148/tpgt1 luns/ create /backstores/iblock/mysql2 |
Creamos una ACL:
Previamente tendremos que conseguir el nombre del iniciador, instalamos opem-iscsi (en el servidor cliente). listamos el nombre,
cat /etc/iscsi/initiatornmae.iscsi
Ejemplo:
root@mysql-2:/# cat /etc/iscsi/initiatorname.iscsi
## DO NOT EDIT OR REMOVE THIS FILE! ## If you remove this file, the iSCSI daemon will not start. ## If you change the InitiatorName, existing access control lists ## may reject this initiator. The InitiatorName must be unique ## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames. InitiatorName=iqn.1993-08.org.debian:01:a4b591a99cfa |
Regresamos al servidor SAN y continuamos con la configuración del ACL:
/iscsi/iqn.20...c1/tpgt1/acls>
Successfully created Node ACL for iqn.199308.org.debian:01:a4b591a99cfa Created mapped LUN 0.
Añadimos usando la autenticación CHAP, un usuario y una contraseña:
/iscsi/iqn.20...:a4b591a99cfa> ls
o iqn.199308.org.debian:01:a4b591a99cfa ................................................. [1Mapped LUN] o mapped_lun0 ................................................................................................ [lun0 (rw)] /iscsi/iqn.20...:a4b591a99cfa> set auth userid=usrmysql2 Parameter userid is now 'usrmysql2'. /iscsi/iqn.20...:a4b591a99cfa> set auth password=123456 Parameter password is now '123456'.
NO OLVIDAMOS GUARDAR LA CONFIGURACIÓN:
/iscsi/iqn.20....03efa1d619c1> cd ..
/iscsi> cd .. /> saveconfig |
Servidor Mysql-2:
Instalamos open-iscsi, previamente realizando para la obtención del nombre iniciador para la configuración del access-list en targetcli.
root@mysql-2:/# apt-get install open-iscsi
|
Nombre del iniciador:
root@mysql-2:/# cat /etc/iscsi/initiatorname.iscsi
|
Configuración del tipo de autenticación, usuario y contarseña:
node.session.auth.authmethod = CHAP
node.session.auth.username = usrmysql2
node.session.auth.password = 123456
|
Reiniciamos el servicio open-iscsi:
root@mysql-2:/# /etc/init.d/open-iscsi
|
Ejecutamos iscsiadm en modo discover:
root@mysql-2:/# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.113
192.168.1.113:3260,1 iqn.2003-01.org.linux-iscsi.san.x8664:sn.03efa1d619c1 |
Ejecutamos iscsiadm en modo nodo:
root@mysql-2:/# iscsiadm --mode node --targetname iqn.2003-01.org.linux-iscsi.san.x8664:sn.03efa1d619c1 --portal 192.168.1.113 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.san.x8664:sn.03efa1d619c1, portal: 192.168.1.113,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.san.x8664:sn.03efa1d619c1, portal: 192.168.1.113,3260] successful. |
Verificamos que el recurso este en modo (RW) lectura y escritura:
root@mysql-2:/# lsblk | egrep "NAME|sda" NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 14.9G 0 disk |
Una vez el recurso disponible se puede crear el file system:
root@mysql-2:/# mkfs.ext4 /dev/sda |
Se puede añadir en el fstab para que este disponbible en el próximo aranque:
root@mysql-2:/# blkid | grep "/dev/sda" /dev/sda: UUID="4b5f702a-8319-47a4-9b55-7e439db385c3" TYPE="ext4" |
root@mysql-2:/# echo "UUID=4b5f702a-8319-47a4-9b55-7e439db385c3" >> /etc/fstab |
root@mysql-2:/# echo "UUID=4b5f702a-8319-47a4-9b55-7e439db385c3" >> /etc/fstab |
Editamos /etc/fstab:
UUID=4b5f702a-8319-47a4-9b55-7e439db385c3 /mnt/sda ext4 _netdev 0 0 |
_netdev: Indicamos que es una unidad y que depende de la conexión antes hacer el mount.
No hay comentarios:
Publicar un comentario