Saturday 13 December 2014

Conociendo iSCSI - visión general en 10 minutos


Conociendo iSCSI
Muy buen artículo, rápido y directo:  https://federicosayd.wordpress.com/2007/09/11/conciendo-iscsi/

Ojalá lo hubiera visto hace unos meses, .. el tiempo que me hubiera ahorrado .. ¿porque algunas cosas se explican de una forma tan complicada?

-- copio el contenido aquí por si la página deja de estar disponible, es de 11/09/2007 y algunas imágenes ya no están..

Conociendo iSCSI

Hace poco me topé con iSCSI y verdadermante me llamó la atención. iSCSI es una seria competencia de FiberChannel mucho más económica que nos permite acceder a nuestro datos de una forma bastante transparente. Trataremos de explicar qué es iSCSI, cómo funciona y daremos una reseña de los términos relacionados con esta tecnología.

¿Qué es iSCSI?

iSCSI es un extensión de SCSI, que no es otra cosa que un protocolo para comunicación de dispositivos. SCSI suele usarse en dispositivos conectados físicamente a un host o servidor, tales como discos duros, lectoras de cds o dispositivos de cinta. En iSCSI, los comandos SCSI que manejan el dispositivo, se envían a través de la red. De forma que en vez de tener un disco SCSI conectado físicamente a nuestro equipo, lo conectamos por medio de la red.
¿Pero eso no existía ya con Samba o NFS? No, esos sistemas trabajan importando un sistema de archivos mediante la red. iSCSI importa todo el dispositivo hardware por la red, de manera que en el cliente es detectado como un dispositivo SCSI más. Todo esto se hace de forma transparente, como si el disco estuviera conectado directamente al hardware.

¿Por qué usar iSCSI?

La respuesta más simple es para centralizar el almacenamiento en disco e indpendizar la información de los servidores. Por ejemplo podríamos tener un servidor iSCSI con 1 Terabyte (1024 Gigabytes) de almacenamiento que centralizara todos los dispositivo de almacenamiento de nuestra red. Por otra parte podríamos tener nuestros servidores: de correo, ftp, web, samba, todos sin discos o particiones para datos. Los discos de datos se conectarían a través de iSCSI por la red y si alguno de nuestros servidores se cayera o hubiera que hacerles mantenimiento tendríamos la información en un disco que se podría “enchufar” por la red. De manera que si tenemos un servidor secundario, no tenemos más que conectarle el disco iSCSI y tendremos el servicio andando en muy poco tiempo.

¿Y la velocidad?

Esta es una pregunta obligada. Un requisito indispensable de un buen disco es que sea rápido. Los discos SCSI suelen entregar excelentes tasas de transferencia. Pero si SCSI se lleva sobre la red entonces la velocidad podría bajar y el rendimiento decaer gravemente. Por eso iSCSI es recomendado solo para redes conmutadas de alta velocidad como las que proveen Gigabit Ethernet. Aunque iSCSI puede funcionar incluso sobre FastEthernet, no es recomendable en el caso de que busquemos performance, ya que el acceso al disco se ralentizaría mucho.

El acceso a los datos

Comparado con NFS o Samba, el acceso a los datos en iSCSI es diferente; obviamente debido a su naturaleza. En teoría, iSCSI no soporta múltiples conexiones a la vez. Por ejemplo, dos equipos no podrían utilizar el mismo disco iSCSI para escribir en él. Eso sería como tener un disco rígido conectado a dos máquinas a la vez. Lo más probable es que surgieran inconsistencis en los datos o problemas en los accesos de lectura y escritura de la información.
Aún así, existen alternativas para que ISCSI pueda soportar múltiples usuarios. Por ejemplo, el global filesystem (GFS) de RedHat, es un filesystem especialmente diseñado para permitir concurrencia de usuarios en dispositivos que normalmente no lo permiten, como iSCSI.

La arquitectura iSCSI

Arquitectura de iSCSI
Como se puede ver en el diagrama, iSCSI tiene una arquitectura tipo cliente servidor; las partes que la conforman son las siguientes:
El target iSCSI
El target iSCSI es en pocas palabras el servidor. Un target puede ofrecer uno o más recursos iSCSI por la red. En las soluciones Linux para iSCSI, no hace falta que el dispositivo a exportar sea necesariamente un disco SCSI; medios de almacenamiento de distinta naturaleza se pueden usar, como por ejemplo:
  • Particiones RAID
  • Particiones LVM
  • Discos enteros
  • Particiones comunes
  • Archivos
  • Dispositivos de CD, cintas, etc.
El iniciador iSCSI
El iniciador es el cliente de iSCSI. Generalmente el iniciador consta de dos partes: los módulos o drivers que proveen soporte para que el sistema operativo pueda reconocer discos de tipo iSCSI y un programa que gestiona las conexiones a dichos discos.
Existen iniciadores para una amplia variedad de sistemas operativos. En Linux hay varias opciones y las últimas versiones de Windows incluso vienen con un iniciador instalado por defecto. Demás está decir que iSCSI es independiente del sistema operativo. Podemos tener un target montado en Linux y utilizar los discos en dicho target en un sistema Windows, MacOSX o incluso Solaris.
Ahora que hemos aclarado un poco el tema de iSCSI podemos centrarnos en la instalción de un servidor o target iSCSI con su correspondiente iniciador. Ese será el tema de un post futuro.
Links sobre este tema:
Artículo en la Wikipedia sobre iSCSI
RFC sobre la especificación iSCSI

No comments:

Post a Comment