La alternativa a FiberChannel, el protocolo iSCSI: Qué es y configuración en RHEL/CENTOS

Como en este blog queremos hablar un poco de todos los temas relacionados con la informática, hoy tocamos con un tema del que no habíamos hablado hasta ahora:  Almacenamiento.

A consecuencia del aumento de las necesidades de disco duro para los diferentes sistemas informáticos, por ejemplo de bases de datos, de virtualización, de hosting, etcétera, en la actualidad están proliferando a pasos agigantados las soluciones de almacenamiento en red (SAN) en todas sus variantes. Probablemente la SAN sea el hardware al que más difícil sea ajustar el presupuesto de un proyecto, por eso empezamos hablando de iSCSI, una forma más barata de obtener almacenamiento a través de red TCP/IP.

¿Qué es?

El protocolo iSCSI utiliza TCP/IP para sus transferencias de datos. Al contrario que otros protocolos de red diseñados para almacenamiento, como por ejemplo el canal de fibra (que es la base de la mayor parte de las redes de áreas de almacenamiento), solamente requiere una simple y sencilla interfaz Ethernet (o cualquier otra red compatible TCP/IP) para funcionar. Esto permite una solución de almacenamiento centralizada de bajo coste sin la necesidad de realizar inversiones costosas ni sufrir las habituales incompatibilidades asociadas a las soluciones canal de fibra para redes de área de almacenamiento.

Los dispositivos iSCSI no deben ser confundidos con los dispositivos Network-Attached Storage (NAS), los cuales incluyen software en el servidor para controlar las peticiones de acceso simultáneo desde los diferentes hosts. Mientras que iSCSI está basado en bloques de discos, NAS es un sistema de compartición de archivos. De este modo, se descarga al dispositivo de almacenamiento de la responsabilidad de escribir datos a disco, proporcionando un mejor tiempo de acceso a disco.

Como veremos en el artículo a continuación, es posible acceder a un dispositivo iSCSI mediante dos variantes: hadware y software. El hardware es una tarjeta con conexión a red TCP/IP llamada iSCSI HBA, que tampoco ha de confundirse con la HBA (a secas). El software es un driver que permite al sistema operativo acceder al dispositivo iSCSI.

NOTA: En la actualidad, la mayor parte de las veces que se usa el término HBA, se refiere a una tarjeta de Canal de fibra (FiberChannel FC). Las HBAs (a secas) están disponibles para los principales sistemas. Cada HBA tiene un nombre único mundial (WWN), que es similar a la MAC de Ethernet ya que se usa un identificador único organizado, asignado por el IEEE. Sin embargo, los WWN son más largos (8 bytes).

Sin más preámbulos, vamos a ver cómo configurar mediante tgtadm un dispositivo iSCSI en RHEL/CENTOS:

Setup an iSCSI target using tgtadm in Red Hat Enterprise Linux 5?

SCSI uses a client-server architecture. A “client” (ie: your system) is an initiator, it initiates requests. A “server” (ie: your storage device) is a target, it has something you want and answers requests from the initiator(s). Initiators come in two varieties: software and hardware. A software initiator is just a driver that handles all requests and pairs the network interfaces driver and the SCSI drivers together to make it all work. Using a software initiator any system with an ethernet card can act as an iSCSI initiator. A hardware initiator is an iSCSI HBA, which is basically just an ethernet card with a SCSI ASIC on-board to offload all the work from the system CPU.#yum install scsi-target-utils -y

Start the tgtd service:

# service tgtd start

Define an iSCSI target name:

# tgtadm –lld iscsi –op new –mode target –tid=1 –targetname iqn.2001-

04.com.example:storage.disk1.amiens.sys1.xyz

To view the currect configuration:

# tgtadm –lld iscsi –op show –mode target

For example, here we create a 512M file as the block device:

# dd if=/dev/zero of=/disk1 bs=1M count=512

Add it as a logical unit to the target:

# tgtadm –lld iscsi –op new –mode logicalunit –tid 1 –lun 1 -b /disk1

Enable the target to accept any initiators:

# tgtadm –lld iscsi –op bind –mode target –tid 1 -I ALL

View the current configuration again:

# tgtadm –lld iscsi –op show –mode target
Target 1: iqn.2001-04.com.example:storage.disk1.amiens.sys1.xyz
System information:
Driver: iscsi
Status: running
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: deadbeaf1:0
SCSI SN: beaf10
Size: 0
Backing store: No backing store
LUN: 1
Type: disk
SCSI ID: deadbeaf1:1
SCSI SN: beaf11
Size: 55G
Backing store: /disk1
Account information:
ACL information:
ALL

Ensure TCP port 3260 can be accessed from remote host.

Start from Red Hat Enterprise Linux 5, tgt-admin and /etc/tgt/targets.conf can be used for make the setup persistent over reboot:

# tgt-admin –dump > /etc/tgt/targets.conf
# chkconfig tgtd on

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *