iSCSI (Internet Small Computer System Interface) es un protocolo de almacenamiento de datos que permite ejecutar comandos SCSI a través de una conexión de red, normalmente Ethernet. En este artículo explicamos cómo funciona iSCSI, sus ventajas y características, y cómo configurarlo correctamente.
Para entender el funcionamiento de iSCSI, debemos conocer sus principales componentes: los iniciadores y los destinos (targets).
Los iniciadores son los hosts que inician una conexión iSCSI.
Los destinos son los hosts que aceptan esa conexión.
Los dispositivos de almacenamiento actúan como destinos a los que los iniciadores se conectan.
La conexión se establece mediante TCP/IP, mientras que iSCSI encapsula los comandos SCSI en paquetes de datos. Estos paquetes se transmiten entre los hosts locales y remotos. En el extremo receptor, iSCSI procesa los paquetes, separa los comandos SCSI y hace que el sistema operativo perciba el almacenamiento remoto como un disco local, que puede formatearse y administrarse de manera habitual.
En iSCSI, los iniciadores y los destinos se identifican mediante nombres únicos:
IQN (iSCSI Qualified Name) y EUI (Extended Unique Identifier), este último utilizado principalmente con IPv6.
2003-02 indica el año y el mes en que se registró el dominio.
El dominio aparece en orden inverso: site.com → com.site.
name23 es el identificador único del host iSCSI.
Los 24 primeros bits identifican la red o la empresa.
Los 40 bits restantes identifican de forma única el host dentro de esa red.
Cada sesión de iSCSI tiene dos fases:
Autenticación sobre TCP.
Intercambio de datos entre el iniciador y el dispositivo de almacenamiento, a través de una única conexión.
Una vez finalizada la transferencia, la sesión se cierra mediante el comando iSCSI logout.
Para prevenir la pérdida de datos, iSCSI incorpora varios mecanismos de recuperación, entre ellos:
Reenvío de paquetes PDU perdidos.
Recuperación de conexión o reinicio de sesión.
Cancelación de comandos no procesados.
La seguridad de los datos se garantiza mediante el protocolo CHAP, que no transmite contraseñas en texto plano, sino que utiliza comparación de hash. Además, puede aplicarse IPsec para cifrar los paquetes y verificar su integridad.
Existen tres tipos principales de implementación de iSCSI:
Procesamiento por la CPU del host: toda la carga es gestionada por la CPU del iniciador.
Offload parcial de TCP/IP: la mayoría de los paquetes son procesados por el dispositivo de almacenamiento, y el resto por el host.
Offload completo de TCP/IP: todo el procesamiento se realiza en el dispositivo de almacenamiento.
Existen tres tipos principales de implementación de iSCSI:
Procesamiento por la CPU del host: toda la carga es gestionada por la CPU del iniciador.
Offload parcial de TCP/IP: la mayoría de los paquetes son procesados por el dispositivo de almacenamiento, y el resto por el host.
Offload completo de TCP/IP: todo el procesamiento se realiza en el dispositivo de almacenamiento.
Existe una extensión denominada iSER (iSCSI Extension for RDMA), que utiliza RDMA (Remote Direct Memory Access) para acceder directamente a la memoria remota. Esto permite transferir datos sin utilizar recursos de la CPU de los nodos de red, reduciendo la carga del sistema y aumentando la velocidad.
El iSCSI ofrece una excelente combinación de rendimiento y eficiencia de costes, junto con:
Simplicidad de implementación: funciona sobre redes Ethernet Gigabit estándar.
Fácil mantenimiento: basado en TCP/IP, no requiere formación adicional.
Los protocolos iSCSI SAN (Storage Area Network) y FC SAN (Fibre Channel SAN) suelen compararse. A continuación se resumen sus principales diferencias:
Característica |
iSCSI SAN |
Fibre Channel SAN |
Uso de red existente |
Sí |
No |
Velocidad de transferencia |
1–100 Gbps |
2–32 Gbps |
Configuración en hardware existente |
Sí |
No |
Control de flujo de datos |
Sin retransmisión de paquetes |
Fiable |
Aislamiento de red |
No |
Sí |
El iSCSI SAN es una solución más económica, ya que aprovecha la infraestructura de red existente. Por el contrario, el FC SAN requiere hardware especializado (como switches y adaptadores HBA), pero ofrece menor latencia y mayor fiabilidad.
Como se observa en la comparación, cada protocolo tiene sus propias ventajas: