Interfaz de sistemas informáticos pequeños de Internet o iSCSI ( / aɪ ˈ s k ʌ z i / eye-SKUZ-ee) es unestándar de redes de almacenamiento basado enel Protocolo de Internetacceso a nivel de bloqueadispositivos de almacenamientoal llevarcomandosSCSIredTCP/IPintranetsy la gestión del almacenamiento a largas distancias. Se puede utilizar para transmitir datos a través deredes de área local(LAN),redes de área amplia(WAN) oInternety 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 matrices de almacenamiento al tiempo que proporciona a los clientes (como bases de datos y servidores web) la ilusión de discos SCSI conectados localmente. [1] Compite principalmente con Fibre Channel , pero a diferencia del Fibre Channel tradicional que generalmente requiere cableado dedicado, [a] iSCSI se puede ejecutar a largas distancias utilizando la infraestructura de red existente. [2] iSCSI fue desarrollado por IBM y Cisco en 1998 y presentado como borrador de estándar en marzo de 2000. [3]
En esencia, iSCSI permite que dos hosts negocien y luego intercambien comandos SCSI utilizando redes de Protocolo de Internet (IP). Al hacer esto, iSCSI toma un bus de almacenamiento local de alto rendimiento popular 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; puede ejecutarse sobre la infraestructura IP existente. Como resultado, iSCSI a menudo se considera 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 de 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 cualquier tipo de dispositivo SCSI, los administradores de sistemas casi siempre lo utilizan para permitir que los servidores (como los servidores de bases de datos) accedan a volúmenes de discos en matrices de almacenamiento. Las SAN iSCSI suelen tener uno de dos objetivos:
Un iniciador funciona como un cliente iSCSI. Un iniciador normalmente cumple la misma función que un adaptador de bus SCSI en una computadora, 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 utiliza código para implementar iSCSI. Normalmente, esto sucede en un controlador de dispositivo residente en el núcleo que utiliza la tarjeta de red (NIC) y la pila de red existentes para emular dispositivos SCSI para una computadora mediante la transmisión del 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, normalmente en combinación con firmware que se ejecuta en ese hardware, para implementar iSCSI. Un iniciador de hardware mitiga la sobrecarga del procesamiento iSCSI y TCP y las interrupciones de Ethernet y, por lo tanto, puede mejorar el rendimiento de los servidores que utilizan iSCSI. Un adaptador de bus 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. Un iSOE "descarga" las operaciones del iniciador iSCSI para esta interfaz de red en particular del procesador host, liberando ciclos de CPU para las principales aplicaciones del host. Los HBA iSCSI o iSOE se utilizan cuando la mejora adicional del rendimiento justifica el gasto adicional de usar un HBA para iSCSI, [4] en lugar de usar un cliente iSCSI basado en software (iniciador). El iSOE se puede implementar con servicios adicionales como el motor de descarga TCP (TOE) para reducir aún más el uso de CPU del servidor host.
La especificación iSCSI se refiere a un recurso de almacenamiento ubicado en un servidor iSCSI (de manera más general, una de las muchas instancias potenciales de nodos de almacenamiento iSCSI que se ejecutan en ese servidor) como un destino .
Un objetivo iSCSI suele ser un dispositivo de almacenamiento de disco duro dedicado conectado a una red, pero también puede ser una computadora de propósito general, ya que, al igual que con los iniciadores, el software para proporcionar un objetivo iSCSI está disponible para la mayoría de los sistemas operativos principales.
Los escenarios de implementación comunes para un objetivo iSCSI incluyen:
En un centro de datos o un entorno empresarial, un objetivo iSCSI suele residir en una gran matriz de almacenamiento. Estas matrices pueden tener la forma de hardware comercial con implementaciones iSCSI basadas en software libre o como productos comerciales, como StorTrends , Pure Storage , HP StorageWorks , EqualLogic , Tegile Systems , Nimble Storage , IBM Storwize family , Isilon , NetApp filer , Dell EMC , Kaminario , NS-series, CX4, VNX, VNXe, VMAX, Hitachi Data Systems HNAS o Pivot3 vSTAC.
Una matriz de almacenamiento generalmente proporciona objetivos iSCSI distintos para numerosos clientes. [5]
Casi todos los sistemas operativos de servidor modernos (como BSD , Linux , Solaris o Windows Server ) pueden proporcionar la funcionalidad de destino iSCSI, ya sea como una característica incorporada o con software complementario. Algunos sistemas operativos para propósitos específicos implementan compatibilidad con destino iSCSI.
En la terminología SCSI , LU significa unidad lógica , que se especifica mediante un número de unidad lógica único . Una LUN representa un dispositivo SCSI direccionable individualmente (lógico) que forma parte de un dispositivo SCSI físico (destino). En un entorno iSCSI, las LUN son esencialmente unidades de disco numeradas. Un iniciador negocia con un destino para establecer la conectividad con una LUN; el resultado es una conexión iSCSI que emula una conexión a un disco duro SCSI. Los iniciadores tratan las LUN iSCSI de la misma manera que tratarían 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 las LUN iSCSI.
En las implementaciones empresariales, los LUN suelen representar subconjuntos de grandes matrices de discos RAID , a menudo asignados uno por cliente. iSCSI no impone reglas ni restricciones a que varias computadoras compartan LUN individuales; deja el acceso compartido a un único sistema de archivos subyacente como una tarea para el sistema operativo.
Para el almacenamiento de datos generales en una computadora que ya se ha iniciado, se puede utilizar cualquier tipo de interfaz de red genérica para acceder a dispositivos iSCSI. [ cita requerida ] Sin embargo, una interfaz de red genérica de nivel de consumidor no puede iniciar una computadora sin disco desde una fuente de datos iSCSI remota. [ cita requerida ] En cambio, es común que un servidor cargue su sistema operativo inicial desde un servidor TFTP o un dispositivo de arranque local, y luego use iSCSI para el almacenamiento de datos una vez que finaliza el arranque desde el dispositivo local. [ cita requerida ]
Se puede configurar un servidor DHCP independiente para ayudar a las interfaces equipadas con capacidad de arranque de red a poder arrancar sobre iSCSI. En este caso, la interfaz de red busca un servidor DHCP que ofrezca una imagen de arranque PXE o bootp . [6] Esto se utiliza para iniciar el proceso de arranque remoto iSCSI, utilizando la dirección MAC de la interfaz de red de arranque para dirigir la computadora al destino de arranque iSCSI correcto [ cita requerida ] . Luego, se puede utilizar un enfoque de solo software para cargar un pequeño programa de arranque que, a su vez, puede montar un destino iSCSI remoto como si fuera una unidad SCSI local y luego iniciar el proceso de arranque desde dicho destino iSCSI [ cita requerida ] . Esto se puede lograr utilizando una ROM de arranque de entorno de ejecución de prearranque (PXE) existente, que está disponible en muchos adaptadores Ethernet cableados. El código de arranque también se puede cargar desde CD/DVD, disquete (o imagen de disquete) y almacenamiento USB, o puede reemplazar el código de arranque PXE existente en adaptadores que se pueden volver a flashear. [7] El software gratuito más popular que ofrece soporte de arranque iSCSI es iPXE . [8]
La mayoría de los controladores Ethernet Intel para servidores admiten el arranque iSCSI. [9]
iSCSI utiliza TCP (normalmente los puertos TCP 860 y 3260) para los protocolos en sí, y se utilizan nombres de nivel superior para referirse a los objetos dentro del protocolo. Los nombres especiales hacen referencia tanto a los iniciadores como a los destinos de iSCSI. iSCSI ofrece tres formatos de nombre:
eui.02004567A425678D
)naa.52004567BA64678D
)Las direcciones con formato IQN son las más comunes. Se califican con una fecha (aaaa-mm) porque los nombres de dominio pueden caducar 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, que proporciona la autoridad de registro IEEE. Los formatos de nombre NAA se agregaron a iSCSI en RFC 3980 para brindar compatibilidad con las convenciones de nombres utilizadas en las tecnologías de almacenamiento Fibre Channel y Serial Attached SCSI (SAS).
Normalmente, un participante iSCSI se puede definir mediante tres o cuatro campos:
Los iniciadores iSCSI pueden localizar los recursos de almacenamiento adecuados mediante el protocolo Internet Storage Name Service (iSNS). En teoría, iSNS proporciona a las SAN iSCSI el mismo modelo de gestión que las SAN de canal de fibra dedicadas . En la práctica, los administradores pueden satisfacer muchos objetivos de implementación para iSCSI sin utilizar iSNS.
Los iniciadores y los destinatarios de iSCSI se prueban mutuamente su identidad mediante CHAP , que incluye un mecanismo para evitar que aparezcan contraseñas en texto simple en la red. Por sí mismo, CHAP es vulnerable a ataques de diccionario , suplantación de identidad y ataques de reflexión . Si se siguen con cuidado, las mejores prácticas para usar CHAP dentro de iSCSI reducen la superficie para estos ataques y mitigan los riesgos. [11]
Además, como ocurre con todos los protocolos basados en IP, IPsec puede funcionar 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.
Para garantizar que solo los iniciadores válidos se conecten a las matrices de almacenamiento, los administradores suelen ejecutar iSCSI solo en redes de canal de retorno aisladas lógicamente. En esta arquitectura de implementación, solo los puertos de administración de las matrices de almacenamiento están expuestos a la red interna de propósito general, y el protocolo iSCSI en sí se ejecuta en segmentos de red dedicados o VLAN . Esto mitiga los problemas de autenticación; los usuarios no autorizados no están físicamente preparados para iSCSI y, por lo tanto, no pueden comunicarse con las matrices de almacenamiento. Sin embargo, también crea un problema de confianza transitiva, ya que un solo host comprometido con un disco iSCSI se puede utilizar para atacar los recursos de almacenamiento de otros hosts.
Si bien iSCSI se puede aislar de forma lógica de la red general utilizando únicamente VLAN, no se diferencia de ningún otro equipo de red y puede utilizar 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 causa 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 por colores autodefinidos, como utilizar 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 se puede implementar simplemente como un grupo de puertos VLAN en un conmutador multipuerto grande que también se utiliza para uso general de la red, el administrador puede optar por utilizar conmutadores físicamente separados dedicados solo a VLAN iSCSI, para prevenir aún más la posibilidad de que un cable conectado incorrectamente enchufado en el puerto equivocado atraviese la barrera lógica.
Debido a que iSCSI tiene como objetivo consolidar el almacenamiento de muchos servidores en una única matriz de almacenamiento, las implementaciones de iSCSI requieren estrategias para evitar que iniciadores no relacionados accedan a los recursos de almacenamiento. Como ejemplo patológico, una única matriz de almacenamiento empresarial podría contener datos de servidores regulados de diversas formas por la Ley Sarbanes-Oxley para la contabilidad corporativa, HIPAA para la información sobre beneficios de salud y PCI DSS para el 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 régimen.
Por lo general, las matrices de almacenamiento iSCSI asignan iniciadores explícitamente a LUN de destino específicos; un iniciador no se autentica en la matriz de almacenamiento, sino en el recurso 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 se proporcione un control de acceso consistente.
En su mayor parte, iSCSI funciona como un protocolo de texto simple que no ofrece 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: [12]
Estos problemas no ocurren sólo con iSCSI, sino que se aplican a cualquier protocolo SAN sin seguridad criptográfica. Los protocolos de seguridad basados en IP, como IPsec , pueden brindar protección criptográfica basada en estándares a este tráfico.
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 ya en 2001, específicamente para conectar el dispositivo IP Storage 200i de IBM. [13]
La mayoría de los destinos iSCSI incluyen discos, aunque los destinos iSCSI de cinta y de cambiador de medios también son populares. Hasta ahora, los dispositivos físicos no han incluido interfaces iSCSI nativas a nivel de componentes. En cambio, los dispositivos con interfaces SCSI paralelas o de canal de fibra se conectan mediante software de destino iSCSI, puentes externos o controladores internos a la carcasa del dispositivo.
Como alternativa, es posible virtualizar destinos de discos y cintas. En lugar de representar un dispositivo físico real, se presenta un dispositivo virtual emulado. La implementación subyacente puede desviarse drásticamente del destino presentado, como sucede con los productos de biblioteca de cintas virtuales (VTL). Las VTL utilizan 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 a la carcasa del dispositivo.
En la industria de productos de seguridad, algunos fabricantes utilizan un RAID iSCSI como objetivo, siendo el iniciador un codificador o una cámara con IP habilitado.
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 servidores IP a SAN Fibre Channel. La conexión TCP finaliza en la puerta de enlace, que se implementa en un conmutador Fibre Channel o como un dispositivo independiente.
Tipo "iqn." (Nombre calificado iSCSI)