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 |