domingo, 30 de diciembre de 2012

Crear una san con GNU/Linux e iscsitarget

Buenos días!

Durante los próximos días voy a estar documentando como crear un cluster con linux usando pacemaker (probablemente un servidor LAPP [Linux/Apache/PostgreSQL/PHP]). Como prerequisito de ese procedimiento, en este artículo voy a describir como crear una SAN en la que se colocarán los recursos que serán compartidos entre los servidores del cluster LAPP.

La descripción del precedimiento se realiza sobre Ubuntu Server 12.04.1 pero estoy seguro de que podría funcionar para otras distribuciones con pequeños cambios.

Prerequisitos
Los siguientes paquetes deben ser instalados:
  • iscsitarget
  • iscsitarget-dkms
Recursos a compartir
Para el servicio LAPP que voy a crear se debe compartir 3 recursos entre los servidores del cluster:
  • /var/www
  • /var/lib/php5
  • /var/lib/postgresql
Para los efectos de mi experimento tengo un disco duro de 4 GBs (espacio más que suficiente para lo que necesito en mi experimento) en /dev/sdb donde voy a crear las 3 particiones que me van a servir para los 3 puntos de montaje.

/etc/default/iscsitargetEditar este archivo y habilitar el servicio:
ISCSITARGET_ENABLE=true

/etc/iet/ietd.conf
En este archivo se definirán los "targets" y las LUNs (Unidades Lógicas) que serán exportados por iscsitarget. Es importante recalcar que se puede crear más de un "target" y más de un LUN por target. Como única restricción, debe haber un LUN con ID 0 por cada target.

En nuestro caso tenemos un target con un LUN.

Siguiendo las instrucciones para definir el nombre del target y los LUN (está al principio del archivo), los voy a definir de esta forma:

Target iqn.2012-12.san:sanstorage
     Lun 0 path=/dev/sdb

Reiniciar el servicio

sudo /etc/init.d/iscsitarget restart

Verificar que arrancó bien

En la red:
user@san:~$ sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      626/sshd       
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN      1418/ietd      
tcp6       0      0 :::22                   :::*                    LISTEN      626/sshd       
tcp6       0      0 :::3260                 :::*                    LISTEN      1418/ietd      

Los recursos publicados por iet:
user@san:~$ cat /proc/net/iet/volume
tid:1 name:iqn.2012-12.san:sanstorage
        lun:0 state:0 iotype:fileio iomode:wt blocks:8388608 blocksize:512 path:/dev/sdb


Y de esta forma tenemos nuestra san levantada. Para probar, desde otro equipo que tenga instalado open-iscsi (configuración a ser explicada en los capítulos relativos al cluster):

user@server:~$ sudo iscsiadm -m discovery -t st -p 192.168.55.11
192.168.55.11:3260,1 iqn.2012-12.san:sanstorage


Ajuste la IP (en mi caso 192.168.55.11) según su ambiente.

No hay comentarios:

Publicar un comentario