Apéndice B. Discos ISCSI

El Sistema de Interfaz para computadoras pequeñas en Internet (iSCSI) es un protocolo que permite a los equipos comunicarse con dispositivos de almacenamiento mediante peticiones y respuestas de tipo SCSI, transportados sobre TCP/IP. Debido a que iSCSI está basado en protocolos estándar SCSI, utiliza mucha terminología SCSI. El dispositivo en el bus SCSI al cuál se envían peticiones (y que responde estas peticiones), se denomina destino, y el dispositivo que envía las peticiones se denomina el iniciador. En otras palabras, un disco iSCSI es un destino y el software equivalente iSCSI de un controlador SCSI o adaptador de bus del host SCSI (HBA) es el iniciador. Este apéndice sólo cubre Linux como un iSCSI iniciador: la forma como Linux utiliza iSCSI, pero no la forma como Linux aloja discos iSCSI.
Linux posee un software iniciador iSCSI en el kernel que adopta el lugar y la forma de un controlador SCSI HBA, y por lo tanto, le permite utilizar discos iSCSI. De todas formas, iSCSI es un protocolo totalmente basado en redes, el soporte para iniciador iSCSI necesita más que solo la habilidad de enviar paquetes SCSI sobre la red. Antes que Linux pueda utilizar un destino iSCSI, debe encontrar el destino en la red y realizar una conexión hacia él. En algunos casos, Linux debe enviar información de autenticación al destino para poder acceder a él. Linux también debe detectar cualquier falla sobre la conexión en la red y debe establecer una nueva conexión, incluso tener que iniciar sesión una y otra vez, si es necesario.
El descubrimiento, conexión e inicio de sesión es administrado en espacio de usuario por la herramienta iscsiadm. El manejo de error también es manejado en espacio de usuario por iscsid.
Tanto iscsiadm como iscsid hacen parte del paquete iscsi-initiator-utils de Red Hat Enterprise Linux.

B.1. Discos iSCSI en anaconda

Anaconda puede descubrir (y luego iniciar sesión) discos iSCSI de dos maneras:
  1. Cuando Anaconda inicia, verifica si el BIOS o si algún ROM de arranque adicionado del sistema, tiene soporte para iSCSI Boot Firmware Table (iBFT), una extensión del BIOS para sistemas que pueden inicializar desde iSCSI. Si BIOS tiene soporte para iBTF, anaconda leerá desde BIOS la información del destino iSCSI para el disco de inicialización configurado e ingresará a este destino, haciéndolo disponible como un destino de instalación.
  2. Si selecciona la opción Dispositivos de almacenamiento especializados durante la instalación, la pantalla de selección de dispositivo de almacenamiento le presentará el botón Añadir destino avanzado. Si hace clic en él, podrá añadir la información de destino iSCSI como la dirección IP de descubrimiento. Anaconda sondeará la dirección IP dada y la registrará en cualquiera de los destinos que encuentre. Ver la Sección 9.6.1.1, “Opciones avanzadas de almacenamiento” para obtener mayor información que puede especificar para los destinos iSCSI.
Mientras Anaconda utiliza iscsiadm para encontrar e iniciar sesión en destinos iSCSI, iscsiadm almacena automáticamente cualquier tipo de información acerca de estos destinos en la base de datos iscsiadm iSCS. Anaconda luego, copia esta base de datos en el sistema instalado y marca los destinos iSCSI que no estén siendo utilizados por /, de modo que el sistema ingrese automáticamente en ellos cuando se inicie. Si / se localiza en un destino iSCSI, initrd iniciará en este destino y anaconda no lo incluirá en los scripts de inicio para evitar así múltiples intentos de inicio de sesión en el mismo destino.
Si / está ubicado en un destino iSCSI, anaconda configurará a NetworkManager para que ignore cualquier interfaz de red que esté activa durante el proceso de instalación. Estas interfaces serán también configuradas por initrd al inicio del sistema. Si NetworkManager reconfigurara estas interfaces, el sistema perdería su conexión con /.