jueves, 2 de abril de 2015

Fiber Channel Target - Proyecto - SAN (Storage Area Network)



Guía para instalar en Ubuntu 14.04 LTS un servidor Fiber Channel Target.
El Canal de Fibra (en Inglés Fiber Channel) es una tecnología de red utilizada principalmente para redes de almacenamiento,  con una tasa de transferencia que empieza en 1 Gbits/s (Actualmente se puede alcanzar los 16Gbits/s y para 2016 está proyectado alcanzar los 128Gbits/s).
La tecnología de fibra no se rige por el modelo OSI, está dividida en cinco capas:

FC4
Protocol mapping
LUN masking
FC3
Common services

FC2
Network
Fiber Channel fabric
Fiber Channel zoning
Registered State Change Notification
FC1
Data link
Fiber Channel 8B/10B enconding
FC0
Physical



Capa FC4: Protocolos de aplicación como SCSI o IP son encapsulados a en forma de PDU para ser entregado a FC2.
Capa FC3: Puede implementar funcionalidades como encriptación,  Algoritmo de redundancia para RAID.
Capa FC2: Definido por el Estándar FC-PI-2, es núcleo de la fibra. Protocolo que define una conexión de puerto a puerto.
Capa FC1: codificación de la señal.
Capa FC0: Conectores, cables el medio físico.

Las 3 principales topologías son:
-      Point-to-Point    (FC-P2P) - Dos dispositivos conectados directamente.
-      Arbitrated loop   (FC-AL) – Diseño en forma de anillo.
-      Switched Fabric (FC-SW) – Todos los dispositivos están conectados a un fiber cannel switch.
Algunos términos para familiarizarse:
(Iniciator): Es el extremo final y que inicia una sesión.
(Target): Destino, no inicia una sesión pero está a la espera del (iniciator).
                   Proporciona uno o más LUN al (Iniciator).
LUN: (Logical Unit Number), en términos de almacenamiento es una dirección para una unidad de disco duro y cuando hablamos de SAN se refiere a un disco entero sin particiones virtuales (o volumen) dentro de un conjunto RAID.
HBA:  (Host Bus Adapter) el Bus de datos, la tarjeta para acceder al medio físico, en este caso la fibra óptica.

Empezamos con la guía de instalación:
Para esta instalación no hay que escoger el tipo de particionado LVM, de lo contrario una vez instalado el sistema al reiniciar El Fiber Channel Target no funcionará.
Realizamos una instalación normal del sistema operativo.
A continuación instalamos LIO (open source) y su único propósito es proporcionar las LUN´s.  LIO soporta varios soportes para Fiber Fabric los más importantes o conocidos: FC(Fiber Channel), IEEE 1394, FCoE (FC over Ethernet), iSCSI…
OpenStack soporta nativamente LIO buena opción para desplegar una infraestructura Cloud.

Sudo apt-get install lio-utils

Sudo apt-get install targetcli

Configurar el driver para Fiber Channel
Previamente hay que cambiar la modalidad a (target mode) en el HBA

sudo vi /etc/modprobe.d/qla2xxx.conf

Añadir:

Options qla2xxx qlini_mode= "disabled"

Una vez el fichero guardado :

sudo update-initramfs –u –k all

Necesitamos reiniciar el servidor a continuación de este cambio:

sudo reboot

Creamos el objeto  Backstore:
(Backstores) son diferentes tipos de recursos  de almacenamiento local que targetcli podrá exportar.  El mapeado de cada recurso local que cada backstore crea son llamados objetos de almacenamiento.
Targetcli es un consola para ver, editar y guardar la configuración de cada subsistema del target en el kernel . Se puede asignar recursos locales (volumen, unidad local SCSI, un fichero o un disco RAM) y exportarlos al sistema remoto por la fábrica de red como iSCSI , FCoE o FC.

sudo targetcli
Y creamos un dispositivo iblock o un objeto con el comando siguiente:
/backstores/iblock/ create name=SAN-SERVER dev=/dev/sda

Obtener WWN:
Averiguar los WWN´s del HBA

Un World Wide Name (WWN) es un identificador único dentro de una SAN, que principalmente utilizamos para hacer el zoning de una HBA con otra. A diferencia del FCID, éste viene grabado de fábrica (aunque existen excepciones). Un WWN podríamos equipararlo, con matices, a una dirección MAC en un entorno Ethernet.
Un WWN es un número de 16 Bytes, formado a su vez por un WWNN de 8 Bytes y un WWPN de 8 Bytes. Aunque en el 90% de las conversaciones nos referimos a todo como WWN.

sudo apt-get install sysfsutils

Obtención de los WWN´s en el (Iniciator):

karim@anubis:/etc$ systool -c fc_host -A port_name

Class = "fc_host"



 Class Device = "host17"

    port_name           = "0x2101001b3229bd74"



    Device = "host17"





 Class Device = "host8"

    port_name           = "0x2100001b3209bd74"



    Device = "host8"

El número WWN empieza después de 0x y lo formateamos de esta forma:

0x2101001b3229bd74    -    21:01:00:1b:32:29:bd:74

Obtención de los WWN´s en el (Target):
En el servidor SAN la tarjeta HBA es un Qlogic qle2464 de 4 puerto. Usamos la misma herramienta sysfsutils. 

Con formato:
21:00:00:1b:32:8d:0c:f3

21:03:00:1b:32:ed:0c:f3

21:01:00:1b:32:ad:0c:f3

21:02:00:1b:32:cd:0c:f3

O se puede también obtener a través de la consola targetcli:

/qla2xxx/info



21:00:00:1b:32:8d:0c:f3

21:03:00:1b:32:ed:0c:f3

21:01:00:1b:32:ad:0c:f3

21:02:00:1b:32:cd:0c:f3

Acceder a targetcli:

targetcli

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

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

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

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

/qla2xxx/21:02:00:1b:32:cd:0c:f3/luns/ create /backstores/iblock/SAN-SERVER

Cremos el ACL:

/qla2xxx/21:00:00:1b:32:8d:0c:f3/acls/ create 21:00:00:1b:32:09:bd:74

/qla2xxx/21:03:00:1b:32:ed:0c:f3/acls/ create 21:00:00:1b:32:09:bd:74

/qla2xxx/21:01:00:1b:32:ad:0c:f3/acls/ create 21:00:00:1b:32:09:bd:74

/qla2xxx/21:02:00:1b:32:cd:0c:f3/acls/ create 21:00:00:1b:32:09:bd:74

Guardamos la configuración:

saveconfig

Mostramos la configuración en la consola targetcli usando “ls”:
                                                                                             

Para particionar un volumen con un tamaño superior a 2Gb se usa parted.

Parted (>2TB)

Servidor:
SAN-SERVER
sudo parted
(parted) select /dev/sdX
(parted) mklabel gpt
(parted) mkpart primary 0% 100%
(parted) quit
sudo mkfs.ext4 /dev/sdX1

miércoles, 18 de marzo de 2015

Identificar la tarjeta FC - Proyecto - SAN (Storage Area Network)

Identificar la tarjeta FC - Proyecto - SAN (Storage Area Network)

Algunos comandos linux para identificar la tarjeta FC y las WWNs.


Identificar la tarjeta FC (Fibra Optica) y Driver:

remote-host@anubis:~$ lspci|grep -i fibre
02:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)
02:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)


remote-host@anubis:/$ dmesg | grep Fibre
[    1.412178] qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 8.06.00.08-k.
[    1.780209] qla2xxx [0000:02:00.0]-00fb:0: QLogic QLE2462 - PCI-Express Dual Channel 4Gb Fibre Channel HBA.
[    2.147981] qla2xxx [0000:02:00.1]-00fb:17: QLogic QLE2462 - PCI-Express Dual Channel 4Gb Fibre Channel HBA.

servidor-san@SAN:/etc/modprobe.d# dmesg | grep Fibre
[    1.930214] qla2xxx [0000:00:00.0]-0005: : QLogic Fibre Channel HBA Driver: 8.06.00.08-k.
[    2.299150] qla2xxx [0000:07:00.0]-00fb:7: QLogic QLE2464 - PCI-Express Quad Channel 4Gb Fibre Channel HBA.
[    2.670315] qla2xxx [0000:07:00.1]-00fb:8: QLogic QLE2464 - PCI-Express Quad Channel 4Gb Fibre Channel HBA.
[    3.038036] qla2xxx [0000:08:00.0]-00fb:9: QLogic QLE2464 - PCI-Express Quad Channel 4Gb Fibre Channel HBA.
[    3.406173] qla2xxx [0000:08:00.1]-00fb:10: QLogic QLE2464 - PCI-Express Quad Channel 4Gb Fibre Channel HBA.

Identificación de las WWNs:

SAN
[root@localhost fc_host]# cat /sys/class/fc_host/host*/port_name
0x2103001b32ed0cf3
0x2100001b328d0cf3
0x2101001b32ad0cf3
0x2102001b32cd0cf3
----
21:00:00:1b:32:8d:0c:f3
21:03:00:1b:32:ed:0c:f3
21:01:00:1b:32:ad:0c:f3
21:02:00:1b:32:cd:0c:f3


ANUBIS
karim@anubis:~$ cat /sys/class/fc_host/host*/port_name
0x2100001b3209bd74
0x2101001b3229bd74
----
21:01:00:1b:32:29:bd:74
21:00:00:1b:32:09:bd:74

También se puede instalar la herramienta sysfsutils:

apt-get install sysfsutils

host@anubis:/etc$ systool -c fc_host -A port_name
Class = "fc_host"

 Class Device = "host17"
    port_name           = "0x2101001b3229bd74"

    Device = "host17"


 Class Device = "host8"
    port_name           = "0x2100001b3209bd74"

    Device = "host8"



sábado, 7 de marzo de 2015

¿Qué Instalar? - Proyecto - SAN (Storage Area Network)

¿Qué Instalar? - Proyecto - SAN (Storage Area Network)

Existen muchas opciones para montar un servidor SAN, en mis primeras búsquedas Openfiler me llamo la atención por su interfaz gráfica y la facilidad con lo que parecía gestionar los volúmenes. Este producto soporta varios protocolos como NFS, CIFS, HTTP/DAV, FTP, RSYNC para gestionar ficheros y ISCSI y FiberChannel (FC)a nivel de bloque. Mi gran desilución con esta distribución fue que la parte de FiberChannel erá un plugins por separado y de pago.

Menos mal que existen otras alternativas y he optado por instalar como sistema operativo Ubuntu 14.04LTS.Posteriormente instalaremos ciertas herramientas para poner en marcha el servidor SAN.

Para empezar y simplificar el escenario empezaremos con una configuracion sencilla sin elementos intermedios como un switch de fibra.


Un servidor SAN con una tarjeta FC conectado por un cable de fibra (Multimode LC/LC Duplex MMF, 50/125) a PC. El cable en este caso tiene que estar cruzado (tarjeta 1 tx a tarjeta 2 rx y tarjeta 1 rx a tarjeta 1 tx).

sábado, 14 de febrero de 2015

Introudcción - Proyecto - SAN (Storage Area Network)

Proyecto - ALMACENAMIENTO SAN (Storage Area Network)



 Introducción a la tecnología y su evolución.

Antes se almacenaba la información en disco de servidores remotos. El número de disco era limitado y se producían atascos de tráfico de Red. El crecimiento de datos es cada vez mayor incluso la tasa de aumento es exponencial una de las mayores preocupaciones para las organizaciones. Información que se tiene que almacenar, proteger y acceder. La dificultad de la administración de los costos y la complejidad de estos proceso acompañan el aumento exponencial.

En estos artículos iré poniendo poco a poco algunas técnicas para una puesta en marcha de un servidor SAN con hardware corriente. El objetivo es  probar protocolos y realizar una serie de mediciones para hacer comparaciones de transferencia en disco y transferencia de datos.

La tendencia actual es recurrir a infraestrucutra de open source y realidad frente a hiperrealidad = almacenamiento definido por soluciones de entorno virtual.

Material escogido para el proceso de montaje.







LSI MegaRAID SAS 9261-8i

300,000 IOPS delivers high I/O transfer
rates for storage applications


Memory: 
1MB SRAM per port,1MBflash
(SPI), and 2KB NVRAM (SPI) 






QLogic qle2464 quad Port 4 Gbit/s fc PCI-e HBA




Cable fibra óptica 2 metros  LC-LC  50/125





Western Digital Modelo: WD30EFRX

Formato: 3,5
Interfaz: Serial ATA/600

Tasa de transferencia de datos
- leer 145 MB/s
- escribir 145 MB/s

Caché64 MB
Capacidad: 3000Gb x 8 unidades.




ADATA - ASP900S3-128GM-C

Formato: 2,5
Interfaz: Serial ATA/600

Tasa de transferencia de datos
- leer 545 MB/s
- escribir 535 MB/s

Capacidad: 128Gb x 1 unidad




P6X58D PREMIUM




be quiet! Straight Power 10 700W CM

  • Potencia: 700 vatios
  • Nivel de ruido: 10,5 - 23,3 dB/A

 





Mushkin 8GB PC3-8500

  • Capacidad: 8 GB
  • Latencias: CL7 7-7-20
  • Módulos: 2 unidad(es





Noctua NH-C12P SE14

Volumen: 10,1 - 19,6 dB

Corriente de volumen: 71,2 - 110,3 m³/h (41,9 - 64,9 cfm)


  


X-CASE RM 400/10 V4-H

HOTSWAP 10 Drive


Alcance y objetivos del escenario de prueba.

- Implantación de un sistema de disco por FC para 4 servidores.
- Estudio de diferentes tecnologías para poner en marcha un servidor SAN.