ISCSI

Ajustar Compartir Imprimir Citar

Interfaz de sistemas informáticos pequeños de Internet o iSCSI (EYE-skuz-ee) es un estándar de red de almacenamiento basado en el protocolo de Internet para vincular instalaciones de almacenamiento de datos. iSCSI proporciona acceso a nivel de bloque a dispositivos de almacenamiento mediante la transmisión de comandos SCSI a través de una red TCP/IP. iSCSI facilita las transferencias de datos a través de intranets y la gestión del almacenamiento a largas distancias. Se puede utilizar para transmitir datos a través de redes de área local (LAN), redes de área amplia (WAN) o Internet y puede permitir el almacenamiento y la recuperación de datos independientes de la ubicación.

El protocolo permite a los clientes (llamados iniciadores) enviar comandos SCSI (CDB) a dispositivos de almacenamiento (destinos) en servidores remotos. Es un protocolo de red de área de almacenamiento (SAN), que permite a las organizaciones consolidar el almacenamiento en arreglos de almacenamiento mientras brinda a los clientes (como bases de datos y servidores web) la ilusión de discos SCSI conectados localmente. Compite principalmente con el canal de fibra, pero a diferencia del canal de fibra tradicional, que generalmente requiere un cableado dedicado, iSCSI se puede ejecutar a largas distancias utilizando la infraestructura de red existente. iSCSI fue iniciado por IBM y Cisco en 1998 y presentado como borrador de estándar en marzo de 2000.

Conceptos

En esencia, iSCSI permite que dos hosts negocien y luego intercambien comandos SCSI mediante redes de protocolo de Internet (IP). Al hacer esto, iSCSI toma un popular bus de almacenamiento local de alto rendimiento y lo emula en una amplia gama de redes, creando una red de área de almacenamiento (SAN). A diferencia de algunos protocolos SAN, iSCSI no requiere cableado dedicado; se puede ejecutar sobre la infraestructura IP existente. Como resultado, iSCSI a menudo se ve como una alternativa de bajo costo a Fibre Channel, que requiere una infraestructura dedicada excepto en su forma FCoE (Fibre Channel over Ethernet). Sin embargo, el rendimiento de una implementación SAN iSCSI puede degradarse gravemente si no se opera en una red o subred dedicada (LAN o VLAN), debido a la competencia por una cantidad fija de ancho de banda.

Aunque iSCSI puede comunicarse con tipos arbitrarios de dispositivos SCSI, los administradores de sistemas casi siempre lo utilizan para permitir que los servidores (como los servidores de bases de datos) accedan a los volúmenes de disco en las matrices de almacenamiento. Las SAN iSCSI a menudo tienen uno de dos objetivos:

Consolidación del almacenamiento
Las organizaciones trasladan recursos de almacenamiento dispares de servidores alrededor de su red a lugares centrales, a menudo en centros de datos; esto permite una mayor eficiencia en la asignación de almacenamiento, ya que el propio almacenamiento ya no está vinculado a un servidor en particular. En un entorno SAN, un servidor se puede asignar un nuevo volumen de disco sin cambios en hardware o cableado.
Recuperación de desastres
Organizaciones espejo de almacenamiento recursos de un centro de datos a un centro de datos remoto, que puede servir como un caliente / standby en caso de una salida prolongada. En particular, iSCSI SANs permite que los arrays de disco enteros sean migrados a través de un WAN con cambios mínimos de configuración, en efecto haciendo el almacenamiento "routable" de la misma manera que el tráfico de red.

Iniciadora

(feminine)

Un iniciador funciona como un cliente iSCSI. Un iniciador generalmente tiene el mismo propósito para una computadora que un adaptador de bus SCSI, excepto que, en lugar de cablear físicamente los dispositivos SCSI (como discos duros y cambiadores de cinta), un iniciador iSCSI envía comandos SCSI a través de una red IP. Un iniciador se divide en dos grandes tipos:

Un iniciador de software usa código para implementar iSCSI. Por lo general, esto sucede en un controlador de dispositivo residente en el kernel que usa la tarjeta de red (NIC) existente y la pila de red para emular dispositivos SCSI para una computadora hablando el protocolo iSCSI. Los iniciadores de software están disponibles para los sistemas operativos más populares y son el método más común para implementar iSCSI.

Un iniciador de hardware utiliza hardware dedicado, generalmente en combinación con el firmware que se ejecuta en ese hardware, para implementar iSCSI. Un iniciador de hardware mitiga la sobrecarga del procesamiento de iSCSI y TCP y las interrupciones de Ethernet y, por lo tanto, puede mejorar el rendimiento de los servidores que usan iSCSI. Un adaptador de bus de host iSCSI (más comúnmente, HBA) implementa un iniciador de hardware. Un HBA típico se empaqueta como una combinación de un controlador de interfaz de red Ethernet Gigabit (o 10 Gigabit), algún tipo de tecnología de motor de descarga TCP/IP (TOE) y un adaptador de bus SCSI, que es como aparece en el sistema operativo. Un HBA iSCSI puede incluir una ROM de opción PCI para permitir el arranque desde una SAN iSCSI.

Un motor de descarga iSCSI, o tarjeta iSOE, ofrece una alternativa a un HBA iSCSI completo. Una iSOE "descarga" las operaciones del iniciador iSCSI para esta interfaz de red en particular desde el procesador host, liberando ciclos de CPU para las principales aplicaciones host. Los iSCSI HBA o iSOE se usan cuando la mejora de rendimiento adicional justifica el gasto adicional de usar un HBA para iSCSI, en lugar de usar un cliente iSCSI basado en software (iniciador). iSOE se puede implementar con servicios adicionales como el motor de descarga TCP (TOE) para reducir aún más el uso de la CPU del servidor host.

Objetivo

La especificación iSCSI hace referencia a un recurso de almacenamiento ubicado en un servidor iSCSI (más generalmente, una de las posibles instancias de nodos de almacenamiento iSCSI que se ejecutan en ese servidor) como un objetivo.

Un destino iSCSI suele ser un dispositivo de almacenamiento de disco duro conectado a la red dedicado, pero también puede ser una computadora de uso general, ya que, al igual que con los iniciadores, el software para proporcionar un destino iSCSI está disponible para la mayoría de los sistemas operativos convencionales.

Los escenarios de implementación comunes para un objetivo iSCSI incluyen:

Matriz de almacenamiento

En un centro de datos o entorno empresarial, un destino iSCSI suele residir en una gran matriz de almacenamiento. Estos arreglos pueden tener la forma de hardware básico con implementaciones iSCSI basadas en software libre o como productos comerciales, como en Quantastor, CloudByte, StorTrends, Pure Storage, HP StorageWorks, EqualLogic, Tegile Systems, Nimble Storage, Reduxio, IBM Storwize familia, Isilon, NetApp filer, Dell EMC, Kaminario, serie NS, CX4, VNX, VNXe, VMAX, Hitachi Data Systems HNAS o Pivot3 vSTAC.

Una matriz de almacenamiento suele proporcionar distintos destinos iSCSI para numerosos clientes.

Objetivo de software

Casi todos los sistemas operativos de servidor convencionales modernos (como BSD, Linux, Solaris o Windows Server) pueden proporcionar la funcionalidad de destino iSCSI, ya sea como una función integrada o con software complementario. Algunos sistemas operativos de propósito específico implementan soporte de destino iSCSI.

Número de unidad lógica

En la terminología SCSI, LU significa unidad lógica, que se especifica mediante un número de unidad lógica único. Un LUN representa un dispositivo SCSI (lógico) direccionable individualmente que forma parte de un dispositivo SCSI físico (objetivo). En un entorno iSCSI, los LUN son esencialmente unidades de disco numeradas. Un iniciador negocia con un destino para establecer conectividad a un LUN; el resultado es una conexión iSCSI que emula una conexión a un disco duro SCSI. Los iniciadores tratan los iSCSI LUN de la misma manera que lo harían con un disco duro SCSI o IDE sin procesar; por ejemplo, en lugar de montar directorios remotos como se haría en entornos NFS o CIFS, los sistemas iSCSI formatean y administran directamente los sistemas de archivos en iSCSI LUN.

En las implementaciones empresariales, los LUN suelen representar subconjuntos de matrices de discos RAID grandes, a menudo asignados uno por cliente. iSCSI no impone reglas ni restricciones sobre varias computadoras que comparten LUN individuales; deja el acceso compartido a un solo sistema de archivos subyacente como una tarea para el sistema operativo.

Arranque de red

Para el almacenamiento general de datos en una computadora ya iniciada, se puede usar cualquier tipo de interfaz de red genérica para acceder a los dispositivos iSCSI. Sin embargo, una interfaz de red genérica para el consumidor no puede iniciar una computadora sin disco desde una fuente de datos iSCSI remota. En cambio, es común que un servidor cargue su sistema operativo inicial desde un servidor TFTP o un dispositivo de inicio local y luego use iSCSI para el almacenamiento de datos una vez que finaliza el inicio desde el dispositivo local.

Se puede configurar un servidor DHCP independiente para ayudar a las interfaces equipadas con capacidad de inicio de red para poder iniciar a través de iSCSI. En este caso, la interfaz de red busca un servidor DHCP que ofrezca una imagen de arranque PXE o bootp. Esto se usa para iniciar el proceso de inicio remoto iSCSI, utilizando la dirección MAC de la interfaz de red de inicio para dirigir la computadora al destino de inicio iSCSI correcto. Luego, se puede usar un enfoque de solo software para cargar un pequeño programa de inicio que, a su vez, puede montar un destino iSCSI remoto como si fuera una unidad SCSI local y luego iniciar el proceso de inicio desde dicho destino iSCSI. Esto se puede lograr utilizando una ROM de arranque Preboot Execution Environment (PXE) existente, que está disponible en muchos adaptadores Ethernet con cable. El código de inicio también se puede cargar desde un CD/DVD, disquete (o imagen de disquete) y almacenamiento USB, o puede reemplazar el código de inicio PXE existente en adaptadores que se pueden volver a actualizar. El software gratuito más popular que ofrece soporte de arranque iSCSI es iPXE.

La mayoría de los controladores Intel Ethernet para servidores admiten el arranque iSCSI.

Direccionamiento

iSCSI utiliza TCP (por lo general, los puertos TCP 860 y 3260) para los propios protocolos, y se utilizan nombres de nivel superior para abordar los objetos dentro del protocolo. Los nombres especiales hacen referencia tanto a los iniciadores como a los destinos iSCSI. iSCSI proporciona tres formatos de nombre:

iSCSI Nombre calificado (IQN)
Formato: El nombre calificado iSCSI está documentado en RFC 3720, con otros ejemplos de nombres en RFC 3721. En breve, los campos son:
  • iqn literal (iSCSI nombre calificado)
  • fecha (yyy-mm) que la autoridad de nombramiento tomó la propiedad del dominio
  • nombre de dominio invertido de la autoridad (por ejemplo org.alpinelinux, com.example, to.yp.cr)
  • Opcional ":" prefijando un nombre de destino de almacenamiento especificado por la autoridad de nombrar.
De la RFC:
Tipo.Fecha.Naming Auth:Pendiente definida por ejemplo.com Naming Authority
iqn.1992-01.com.example:almacenamiento:diskarrays-sn-a8675309
iqn.1992-01.com.example
iqn.1992-01.com.example:storage.tape1.sys1.xyz
iqn.1992-01.com.example:storage.disk2.sys1.xyz
Identificador único extendido (EUI)
Formato: eui.{EUI-64 bit address} (por ejemplo. eui.02004567A425678D)
T11 Network Address Authority (NAA)
Formato: naa.{NAA 64 or 128 bit identifier} (e.g. naa.52004567BA64678D)

Las direcciones en formato IQN son las más comunes. Están calificados por una fecha (aaaa-mm) porque los nombres de dominio pueden vencer o ser adquiridos por otra entidad.

La autoridad de registro IEEE proporciona EUI de acuerdo con el estándar EUI-64. NAA es parte de OUI proporcionada por la autoridad de registro de IEEE. Los formatos de nombre NAA se agregaron a iSCSI en RFC 3980, para brindar compatibilidad con las convenciones de nomenclatura utilizadas en las tecnologías de almacenamiento Fibre Channel y Serial Attached SCSI (SAS).

Por lo general, un participante iSCSI se puede definir mediante tres o cuatro campos:

  1. Nombre de host o dirección IP (por ejemplo, "iscsi.example.com")
  2. Número de puerto (por ejemplo, 3260)
  3. iSCSI Name (por ejemplo, el IQN "iqn.2003-01.com.ibm:00.fcd0ab21.shark128")
  4. Un secreto de CHAP opcional (por ejemplo, "secretsarefun")

SIN

Los iniciadores de iSCSI pueden ubicar los recursos de almacenamiento adecuados mediante el protocolo del servicio de nombres de almacenamiento de Internet (iSNS). En teoría, iSNS proporciona a las SAN iSCSI el mismo modelo de gestión que las SAN Fibre Channel dedicadas. En la práctica, los administradores pueden satisfacer muchos objetivos de implementación de iSCSI sin usar iSNS.

Seguridad

Autenticación

Los iniciadores y destinos de iSCSI prueban su identidad entre sí mediante CHAP, que incluye un mecanismo para evitar que aparezcan contraseñas de texto claro en el cable. Por sí mismo, CHAP es vulnerable a ataques de diccionario, suplantación de identidad y ataques de reflexión. Si se siguen cuidadosamente, las mejores prácticas para usar CHAP dentro de iSCSI reducen la superficie de estos ataques y mitigan los riesgos.

Además, como ocurre con todos los protocolos basados en IP, IPsec puede operar en la capa de red. El protocolo de negociación iSCSI está diseñado para adaptarse a otros esquemas de autenticación, aunque los problemas de interoperabilidad limitan su implementación.

Aislamiento de red lógica

Para asegurarse de que solo los iniciadores válidos se conecten a los arreglos de almacenamiento, los administradores normalmente ejecutan iSCSI solo en redes backchannel aisladas lógicamente. En esta arquitectura de implementación, solo los puertos de administración de los arreglos de almacenamiento están expuestos a la red interna de uso general, y el protocolo iSCSI en sí mismo se ejecuta en segmentos de red dedicados o VLAN. Esto mitiga las preocupaciones de autenticación; los usuarios no autorizados no están físicamente aprovisionados para iSCSI y, por lo tanto, no pueden comunicarse con los arreglos de almacenamiento. Sin embargo, también crea un problema de confianza transitiva, ya que un solo host comprometido con un disco iSCSI puede usarse para atacar los recursos de almacenamiento de otros hosts.

Aislamiento de red física

Si bien iSCSI se puede aislar lógicamente de la red general usando solo VLAN, no es diferente de cualquier otro equipo de red y puede usar cualquier cable o puerto siempre que haya una ruta de señal completa entre el origen y el destino. Un solo error de cableado por parte de un técnico de red puede comprometer la barrera de separación lógica, y es posible que un puente accidental no se detecte de inmediato porque no provoca errores de red.

Para diferenciar aún más iSCSI de la red normal y evitar errores de cableado al cambiar las conexiones, los administradores pueden implementar estándares de etiquetado y codificación de colores autodefinidos, como usar solo cables de color amarillo para las conexiones iSCSI y solo cables azules. para la red normal y etiquetar claramente los puertos y conmutadores utilizados solo para iSCSI.

Si bien iSCSI podría implementarse simplemente como un clúster de puertos VLAN en un conmutador multipuerto grande que también se utiliza para el uso general de la red, el administrador puede optar por utilizar conmutadores separados físicamente dedicados únicamente a las VLAN iSCSI, para evitar aún más la posibilidad de que un cable conectado incorrectamente esté conectado al puerto equivocado puenteando la barrera lógica.

Autorización

Debido a que iSCSI tiene como objetivo consolidar el almacenamiento para muchos servidores en un solo arreglo de almacenamiento, las implementaciones de iSCSI requieren estrategias para evitar que los iniciadores no relacionados accedan a los recursos de almacenamiento. Como ejemplo patológico, una sola matriz de almacenamiento empresarial podría contener datos para servidores regulados de diversas formas por la Ley Sarbanes-Oxley para contabilidad corporativa, HIPAA para información sobre beneficios de salud y PCI DSS para procesamiento de tarjetas de crédito. Durante una auditoría, los sistemas de almacenamiento deben demostrar controles para garantizar que un servidor bajo un régimen no pueda acceder a los activos de almacenamiento de un servidor bajo otro.

Por lo general, los arreglos de almacenamiento iSCSI asignan explícitamente iniciadores a LUN de destino específicos; un iniciador no se autentica en la matriz de almacenamiento, sino en el activo de almacenamiento específico que pretende utilizar. Sin embargo, debido a que los LUN de destino para los comandos SCSI se expresan tanto en el protocolo de negociación iSCSI como en el protocolo SCSI subyacente, se debe tener cuidado para garantizar que el control de acceso se proporcione de manera uniforme.

Confidencialidad e integridad

En su mayor parte, iSCSI funciona como un protocolo de texto no cifrado que no proporciona protección criptográfica para los datos en movimiento durante las transacciones SCSI. Como resultado, un atacante que pueda escuchar el tráfico Ethernet iSCSI puede:

Estos problemas no ocurren solo con iSCSI, sino que se aplican a cualquier protocolo SAN sin seguridad criptográfica. Los protocolos de seguridad basados en IP, como IPsec, pueden proporcionar protección criptográfica basada en estándares para este tráfico.

Implementaciones

Sistemas operativos

Las fechas de la siguiente tabla indican la primera aparición de un controlador nativo en cada sistema operativo. Los controladores de terceros para Windows y Linux estaban disponibles desde 2001, específicamente para conectar el dispositivo IP Storage 200i de IBM.

OS Fecha de lanzamiento Versión Características
IBM i 2006-10 V5R4M0 (como i5/OS) Objetivo, Multipath
VMware ESX 2006-06 ESX 3.0, ESX 4.0, ESXi 5.x, ESXi 6.x Iniciador, Multipath
AIX 2002-10 AIX 5.3 TL10, AIX 6.1 TL3 Iniciador, Meta
Windows 2003-06 2000, XP Pro, 2003, Vista, 2008, 2008 R2, 7, 8, Server 2012, 8.1, Server 2012 R2, 10, Server 2016, 11, Server 2019 Iniciador, Meta, Multipath
NetWare 2003-08 NetWare 5.1, 6.5, " OES Iniciador, Meta
HP-UX 2003 a 10 HP 11i v1, HP 11i v2, HP 11i v3 Iniciador
Solaris 2002-05 Solaris 10, OpenSolaris Iniciador, Meta, Multipath, iSER
Linux 2005-06 2.6.12, 3.1 Iniciador (2.6.12), Meta (3.1), Multipath, iSER, VAAI
OpenBSD 2009-10 4.9 Iniciador
NetBSD 2002-06 4.0, 5.0 Iniciador (5.0), Meta (4.0)
FreeBSD 2008-02 7.0 Iniciador (7.0), Meta (10.0), Multipath, iSER, VAAI
OpenVMS 2002-08 8.3-1H1 Iniciador, Multipath
macOS 2008-07 10.4- N/A

Objetivos

La mayoría de los destinos iSCSI involucran disco, aunque los destinos de cinta iSCSI y cambiador de medios también son populares. Hasta ahora, los dispositivos físicos no han presentado interfaces iSCSI nativas a nivel de componente. En su lugar, los dispositivos con interfaces Parallel SCSI o Fibre Channel se conectan mediante el uso de software de destino iSCSI, puentes externos o controladores internos en el gabinete del dispositivo.

Como alternativa, es posible virtualizar destinos de disco y cinta. En lugar de representar un dispositivo físico real, se presenta un dispositivo virtual emulado. La implementación subyacente puede desviarse drásticamente del objetivo presentado como se hace con los productos de biblioteca de cintas virtuales (VTL). Los VTL usan almacenamiento en disco para almacenar datos escritos en cintas virtuales. Al igual que con los dispositivos físicos reales, los destinos virtuales se presentan mediante el uso de software de destino iSCSI, puentes externos o controladores internos del gabinete del dispositivo.

En la industria de productos de seguridad, algunos fabricantes utilizan un iSCSI RAID como destino, siendo el iniciador una cámara o un codificador habilitado para IP.

Convertidores y puentes

Existen varios sistemas que permiten conectar dispositivos Fibre Channel, SCSI y SAS a una red IP para su uso a través de iSCSI. Se pueden utilizar para permitir la migración desde tecnologías de almacenamiento más antiguas, el acceso a SAN desde servidores remotos y la vinculación de SAN a través de redes IP. Una puerta de enlace iSCSI conecta los servidores IP con las SAN de canal de fibra. La conexión TCP finaliza en la puerta de enlace, que se implementa en un conmutador de canal de fibra o como un dispositivo independiente.