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

Explore posts in the same categories: hardware, iscsi

18 comentarios en “Conociendo iSCSI”


  1. […] Bitácora de abordo de federico Documentando la vida… « Conciendo iSCSI […]

  2. Pello Ziarsolo Says:

    Hola Federico,
    Muy buen post, si señor. Hace unas semanas empezamos a estudiar la posibilidad de migrar nuestro clusters de nfs a iscsi + gfs y la verdá es que nos hubiera ayudado mucho este post.
    LA verdá es que no hemos encontrado mucha documentacion para instalar gfs en debian, tal vez tu conozcas algo.
    Gracias por esta documentacion tan util!!

  3. FeLiPe RM Says:

    Muy buen artículo, en mi blog lo comento y lo he visto gracias a barrapunto. Un placer 😉


  4. […] en Debian Etch. Gracias al autor, ha puesto en su blog el tutorial dividido en 4 partes: – iSCSI – Qué es iSCSI – cómo instalar un servidor o target y cómo instalar el cliente o […]

  5. Liyuan Says:

    Y si se rompe el disco fisico, CATAPLUN, se fue todo, no me gusta la idea.

  6. Pacolinux Says:

    Hola:

    Dices esto:

    Eso sería como tener un disco rígido conectado a dos máquinas a la vez.

    Pero esto es bastante normal. Por ejemplo, un cluster oracle (basico) usando HDs firewire de doble puerto:

    http://www.oracle.com/technology/pub/articles/hunter_rac10gr2.html#Troubleshooting%20Concurrent%20Logins%20to%20the%20FireWire%20Drive

    Es interesante leerse el articulo completo, pero lo que no interesa es : ieee1394: sbp2: Maximum concurrent logins supported: 2

    Por otro lado, en SCSI tambien puedes acceder desde 2 maquinas a un mismo HD:

    http://h71000.www7.hp.com/openvms/products/clusters/Clusters_Overview.html

    Busca por ehemplo: Like all other OpenVMS Clusters, it can be configured with a single system disk from which both nodes can boot

  7. federicosayd Says:

    @Liyuan

    Desde luego que eso siempre pasa, los discos, físicos o virtuales no son inmunes de estropearse.. Pero me parece que no es un tópico de iSCSI; si quieres tener bien protegido tus datos tendrás que trabajar con RAID o con un sistema de alta disponibilidad (y todavía puedes tener iSCSI por debajo…)

  8. thidalgo Says:

    Enhorabuena por el artículo. En mi trabajo también tuve que realizar un piloto de iSCSI bajo Linux (Red Hat) como Target. Todo perfecto pero cuando se conecta una LUN iSCSI a tres clientes y se realizan escrituras masivas me he encontrado problemas de cache; es decir, no aparecen los datos en los tres servidores. Usé una estructura maildir para simular un backend de correo formado por tres servidores cuyos buzones estaban en almacenamiento iSCSI. Pero lo dicho, creo que por problemas de caché no funcionaba correctamente. Tal vez me faltó investigar un poco más. De nuevo, felicidades por el articulo. Bien trabajado y didacticamente elaborado. Enhorabuena.

  9. Alberto Says:

    Buenas,

    Tengo una duda sobre iSCSI:

    Es posible desde 2 iniciadores iSCSI conectar contra el mismo target? Resumiendo, puedo acceder al mismo disco iSCSI de forma concurrente desde 2 servidores diferentes?

  10. federicosayd Says:

    @Alberto

    El artículo algo de eso decía y el comentario de Pacolinux lo amplía mejor aún. Sí es posible, aunque no es la regla. Para ello debes usar algo como gfs que es un sistema de archivos especial que permite el acceso múltiple a un dispositivo de red.

  11. kepa Says:

    Llevo varios años trabajando con fc, en distintas modalidades. y comparandola con servidores en producción iscsi, lo que ha traido ha sido un mercado poco fiable, drivers con fallos y escasa competencia, incluso he llegado a tener problemas de contención de disco. Tenemos varias redes con iSCSI, y casi una persona dedicada. Con fc no hay personas dedicadas y absoluta fiabilidad, de los sistemas
    EL backup por iSCSI, se queda saturado.
    El día que funcione guay te lo comento.
    De todas maneras te comento una cosa, me ha parecido interesante lo que publicas.

    Saludos

    Kepa


  12. […] iSCSI page tags: administration computing documentation linux system page_revision: 11, last_edited: 1241594064|%e %b %Y, %H:%M %Z (%O ago) edittags history files print site tools+ options edit sections append backlinks view source parent block rename delete help | terms of service | privacy | report a bug | flag as objectionable Hosted by Wikidot.com — get your free wiki now! Unless stated otherwise Content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License Click here to edit contents of this page. Click here to toggle editing of individual sections of the page (if possible). Watch headings for an «edit» link when available. Append content without editing the whole page source. Check out how this page has evolved in the past. If you want to discuss contents of this page – this is the easiest way to do it. View and manage file attachments for this page. A few useful tools to manage this Site. See pages that link to and include this page. Change the name (also URL address, possibly the category) of the page. View wiki source for this page without editing. View/set parent page (used for creating breadcrumbs and structured layout). Notify administrators if there is objectionable content in this page. Something does not work as expected? Find out what you can do. General Wikidot.com documentation and help section. Wikidot.com Terms of Service – what you can, what you should not etc. Wikidot.com Privacy Policy. _uacct = «UA-4911621-1»; urchinTracker(); _uff = false; _uacct = «UA-68540-5″; _udn=»wikidot.com»; urchinTracker(); _qoptions={ qacct:»p-edL3gsnUjJzw-» }; […]

  13. richard Says:

    Del paquete contable del administrador debian ingefox que opcion o cuales son los pasos para instalar musica.


  14. Excelente Articulo me oriento bastante. thank you !!!!!!!!!!

  15. juan manuel Says:

    La tecnoligia ISCSI ES BUENA, PERO SE TAMBIEN DE BUENAS FUENTES Q LOS PROTOCOLOS ISCSI SON CAUSANTES DE ALGUNOS ERRORES UN POCO EXTRAÑOS CUANDO TRABAJAN CON APLICACIONES QUE UTILIZAN CIERTOS PUERTOS DE COMUNICACIÓN DENTRO DE UN SISTEMA. EN QUE ETAPA DE MADURACIÓN SE ENCUENTRA EL PROTOCOLO? Y HACIA DONDE PODRIA MIGRAR? … SALUDOS


Replica a Instalando un target iSCSI « Bitácora de abordo de federico Cancelar la respuesta