You are on page 1of 6

Storage Networking y el almacenamiento sobre internet: iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

1 - Introduccin
2 - Storage Networking
2.1 -Variantes del Storage Networking
2.1.1 - DAS: Direct Attached Storage
2.1.2 - SAN: Storage Area Networks
2.1.3 - NAS: Network Attached Storage
2.1.4 - NAS Gateways
2.1.5 SANergy
3 El protocolo iSCSI
3.1 - SCSI
3.2 - ISCSI
3.3 - Arquitectura de red iSCSI
3.4 - Modelo del protocolo iSCSI
3.5 Direcciones y nombres iSCSI
3.6 - Mantenimiento de sesiones
3.7 Manejo de errores
3.8 - Seguridad en iSCSI
4 - Conclusiones
5 - Bibliografa

Storage Networking y el almacenamiento sobre internet: iSCSI

Francisco Matas Albaladejo

Storage Networking y el almacenamiento sobre internet: iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

1 - Introduccin

y datos ser directamente transferidos entre dispositivos de almacenamiento y maquinas


cliente, saltndose el tradicional cuello de botella del servidor y el control de la red. Al
separarse control y datos se incrementa la flexibilidad y el rendimiento. Los procesos de
gestin del almacenamiento pueden operar en segundo plano y continuamente, sin
entrar en conflicto con el trfico de la red, y el rendimiento de esta se mantiene e incluso
aumenta.

El almacenamiento es una parte esencial de la infraestructura de cualquier


empresa, en una red con aplicaciones cliente/servidor y otras aplicaciones especificas la
mayor parte del tiempo que los servidores no funcionan es debido a problemas con el
almacenamiento, las prdidas de productividad debido a problemas relacionados con el
almacenamiento son el problema nmero 1.

2.1 - Variantes del Storage Networking


Las distintas variantes de redes de almacenamiento son las siguientes:
Para solucionar estos problemas aparecieron las redes de almacenamiento y diversos
protocolos de transporte de comandos de entrada/salida para permitir el intercambio
eficiente de informacin.
Este documento intentar dar una visin general de lo que se entiende por una red de
almacenamiento y se hablar con un poco ms de detalle del protocolo iSCSI, que es el
que se espera que acabe imponindose en el mercado.

2.1.1 - DAS: Direct Attached Storage

2 - Storage Networking
Storage Networking es una tecnologa emergente del trabajo realizado en el
entorno de computacin de alto rendimiento llamado High Performance Data System
por el IEEE, y fue originalmente desarrollada para obtener una red de altas prestaciones
para la transferencia de datos.
Con Storage Networking se establece una red dedicada de alto rendimiento para
conectar directamente los dispositivos de almacenamiento, lo que permite a los archivos

El almacenamiento (normalmente discos o cintas), est directamente conectado


con un cable al ordenador, un nico dispositivo de almacenamiento es conectado a un
nico ordenador (host) o a veces a dos hosts en un pequeo cluster. Para un procesador

Storage Networking y el almacenamiento sobre internet: iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

aislado como un pc de sobremesa , un porttil, o el servidor de una empresa pequea, el


almacenamiento normalmente reside dentro del propio ordenador como una forma
simple de DAS.
Las peticiones de entrada/salida (tambin llamadas protocolos o comandos) acceden a
los dispositivos directamente.

tiempo y experiencia, lo que hace razonable pensar que en muy poco tiempo Ethernet
desplazar a Fibre Channel.

2.1.3 - NAS: Network Attached Storage


Un NAS es un dispositivo que reside en una red que puede ser compartida con
trfico que no sea de almacenamiento. La red suele ser Ethernet, pero podra ser
cualquier otra que soportase los protocolos basados en IP que un NAS usa.

2.1.2 - SAN: Storage Area Networks

El almacenamiento reside en una red dedicada para los dispositivos de


almacenamiento y los procesadores que acceden a estos dispositivos. Como en un DAS
las peticiones de entrada/salida acceden a los dispositivos directamente.
Las peticiones de entrada/salida en una SAN se llaman block I/Os, porque
como en discos conectados directamente a los ordenadores, los comandos de
entrada/salida de lectura y escritura identifican un dispositivo especfico (unidad de
disco o de cinta), y en el caso de disco especifica un bloque (sector) del disco.
El concepto de SAN no depende de la red que haya por debajo, actualmente la
mayora de SANs utilizan Fibre Channel como medio para conseguir una conexin
cualquiera-a-cualquiera para procesadores y almacenamiento en esta red, pero Ethernet
y el protocolo de entrada/salida iSCSI (que ser descrito ms adelante) estn
rpidamente ganando terreno a partir de 2001 debido al aumento de prestaciones de
Ethernet con la aparicin de Gigabite Ethernet.
Se espera que iSCSI y Ethernet acaben eclipsando totalmente a Fibre Channel,.
La mxima velocidad alcanzable actualmente por la capa fsica Fibre Channel es de 2.5
Gbps, y el grupo de trabajo IEEE 802.3ae ya est hablando de 100 Gbps para Ethernet.
Adems Ethernet es ms barato y ms simple, el nico inconveniente que tiene est en
el lado del software y es que de momento el protocolo iSCSI sobre Ethernet tiene un
rendimiento menor que SCSI sobre Fibre Channel, pero se espera que mejore con

En contraste con block I/O usado por DAS y SAN, las peticiones I/O de NAS
son llamadas file I/Os. Una file I/O es una peticin de un tipo de nivel ms alto, en
esencia, especifica el archivo a ser accedido, un desplazamiento dentro de ese archivo y
un nmero de bytes a leer o escribir a partir de ese desplazamiento. Dentro del NAS un
sistema operativo sabr dnde esta cada archivo en disco y traducir esta peticin file
I/O a una peticin block I/O que la satisfaga.
Un NAS nunca puede ser conectado directamente a un ordenador, siempre se
hace mediante una red.
Un NAS es normalmente ms facil de instalar y mantener que un SAN,
normalmente se pueden poner en una LAN/WAN ya existente muy fcilmente mientras
que un SAN conlleva un trabajo de planificacin muy importante, aunque normalmente
son ms rpidos.

2.1.4 - NAS Gateways

Storage Networking y el almacenamiento sobre internet: iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

Un NAS Gateway da la funcionalidad de un NAS convencional, pero sin


almacenamiento integrado. El almacenamiento en disco est unido externamente al
gateway y acepta peticiones file I/O usando el protocolo NFS o CIFS y las traduce a
peticiones SCSI block I/O para acceder a los discos conectados externamente.

3.2 iSCSI

2.1.5 SANergy

El protocolo iSCSI es un Internet draft standard definido para permitir que los
comandos SCSI sean transportados sobre el protocolo TCP/IP . Los Internet drafts son
documentos desarrollados por el Internet Engineering Task Force (IETF) junto con
grupos de trabajo. Cisco e IBM desarrollaron un draft standard para iSCSI en enero de
2000 para su estandarizacin, que qued bien definido al final de 2001. Se espera que
dentro de un ao (2003) se convierta en un RFC.
ISCSI permite a los hosts realizar operaciones de entrada/salida de bloques de
datos con una gran variedad de dispositivos. Los dispositivos target pueden tener
dispositivos de disco, cinta, dispositivos pticos de almacenamiento, escaners,
impresoras ...
La conexin del SCSI tradicional con un host se hace con cableado paralelo, que tiene
limitaciones en cuanto a la distancia y los dispositivos soportados. Las redes de
almacenamiento sobre IP basadas en capas de transporte gigabit solucionan los
problemas de distancia, rendimiento y escalabilidad de las implementaciones de SCSI
paralelo.
3.3 Arquitectura de red iSCSI

SANergy es un software de IBM y Tivoli que proporciona compartir archivos


como con NAS, pero ahora los datos son enviados sobre la SAN en lugar de la LAN
para aumentar el rendimiento. Soporta los protocolos que un NAS convencional soporta
pero con mayor rendimiento al no requerir un procesador dedicado NAS que haga de
front-end al almacenamiento en disco.

3. - El protocolo iSCSI
3.1 SCSI
Para describir iSCSI primero hay que ver en qu consiste SCSI.
El Small Computer Systems Interface (SCSI) es una popular familia de protocolos para
comunicaciones con dispositivos de entrada/salida, especialmente dispositivos de
almacenamiento.
Hay dos tipos de dispositivos en el protocolo SCSI, los SCSI Initiators (iniciadores,
clientes) que son los que inician la comunicacin y los Target (servidores, objetivos),
que son los que responden. Un objetivo es una coleccin de unidades lgicas (LU),
normalmente del mismo tipo y directamente direccionables. Un LU es lo que ejecuta un
comando. La estructura usada para comunicar un comando desde una aplicacin cliente
a un servidor de dispositivos es llamado Command Descriptor Block (CDB). Un
comando SCSI o una unin de varios es denominado task. La ejecucin de comandos
SCSI se realiza en dos fases, la fase de datos en la que los datos viajan de un initiator a
un target cuando se trata de un comando WRITE o de un target a un initiator como
sucede en el comando READ, y la fase de estado, donde el target devuelve el estado
final de la operacin. La respuesta de estado termina un comando SCSI o tarea.

La arquitectura SCSI est basada en un modelo cliente/servidor e iSCSI tiene


esto en cuenta para conseguir la funcionalidad del almacenamiento sobre redes TCP/IP .
El cliente es normalmente un host como un servidor de ficheros que hace peticiones de
lectura o escritura de datos. El servidor es un dispositivo como un array de discos que
responde las peticiones de los clientes. Los servidores tienen unidades lgicas (LUNs)
que procesan las peticiones de los iniciadores o clientes. Los comandos procesados por
una unidad lgica estn contenidos en un Command Descriptor Block (CDB), que es
creado por un host. El CBD enviado a una unidad lgica determinada comienza la
transferencia de los bloques pedidos del objetivo al iniciador, con un estado que indicar
la terminacin de la peticin. La principal misin de iSCSI es encapsular y distribuir las
transacciones CDB entre iniciadores y objetivos sobre redes TCP/IP.
En la figura 1 se puede ver una red iSCSI de almacenamiento IP compuesta por
iniciadores (servidores de ficheros) y objetivos (arrays de discos).

Storage Networking y el almacenamiento sobre internet: iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

Cada host y cada dispositivo de almacenamiento tiene un interfaz Gigabit Ethernet y


soporta la pila del protocolo iSCSI, esto hace que los medios de almacenamiento
aparezcan en la red como cualquier otro dispositivo IP.
Para que los iniciadores puedan descubrir los recursos de almacenamiento se utiliza el
protocolo Internet Storage Name Service (iSNS), en el ejemplo un iniciador iSCSI
pregunta a un servidor iSNS las ips de los posibles objetivos y luego establece
conexiones TCP/IP con ellos.

Igual que SCSI, iSCSI implementa un modelo cliente/servidor entre iniciadores


y objetivos, que en este caso son miembros de una red IP. Clientes y servidores tienen
una identidad en la red que es equivalente a la direccin IP que tienen asignada. Una
identidad de red puede contener uno o ms nodos iSCSI.

3.4 Modelo del protocolo iSCSI


La capa iSCSI hace de interface con el conjunto de instrucciones SCSI del
sistema operativo. La capa iSCSI incluye comandos SCSI encapsulados y capacidad de
informar sobre los datos y el estado. Cuando el sistema operativo o una aplicacin
requiere una operacin el CDB SCSI debe ser encapsulado para su transporte sobre un
enlace serie gigabit y llevado al destino u objetivo. El protocolo iSCSI monitorizar la
trasferencia del bloque de datos y validar la consecucin de la operacin de
entrada/salida.
Entre un iniciador y un objetivo puede haber muchas conexiones TCP concurrentes y
por tanto varias transacciones entre ellos.

Cmo funciona iSCSI?

Un nodo iSCSI identifica a un dispositivo SCSI dentro de una entidad de red


accesible a travs de la red. Un portal de red es la combinacin de las direcciones de red
asignadas a los nodos y sus puertos TCP. Cada nodo iSCSI es identificado por un nico
nombre iSCSI que puede ser de hasta 255 bytes.
La combinacin de una direccin IP y un puerto TCP se genera una direccin nica de
red para un dispositivo iSCSI.
Un nodo tiene por tanto un nombre iSCSI y una direccin, lo que hace que si el nodo es
cambiado de lugar y por tanto tambin su direccin, sea fcil encontrarlo gracias a su
nombre que no cambia. La asignacin de nombres se hace por software y por tanto es
independiente del hardware usado.
El nombre iSCSI est compuesto por tres partes: un especificador de tipo, la autoridad
encargada de dar los nombres y un identificador nico dado por esta autoridad.
Adems de los nombres, iSCSI tiene la opcin de hacer alias de nombres.
Los nombres y alias iSCSI siguen la codificacin de texto UTF-8, que les permite
incluir caracteres internacionales adems de ASCII.
Un ejemplo de nombre iSCSI podra ser iscsi.com.acme.sn.8675309.
Descubrir la localizacin usando nombres iSCSI puede hacerse usando iSNS u
otros localizadores.

3.6 Mantenimiento de sesiones iSCSI

El driver SCSI construye un CDB con las peticiones realizadas por la aplicacin
y los enva a la capa de transporte iSCSI. El driver SCSI tambin recibe CDBs de la
capa iSCSI y envia los datos a la capa de aplicacin. La capa de transporte iSCSI
encapsula los CDBs en PDUs (iSCSI Protocol Data Unit) y los enva a la capa de
transporte TCP.
En una lectura la capa iSCSI extrae los CDBs de los PDUs que recibe de la capa
TCP y enva los CDBs a la capa genrica SCSI.

iSCSI proporciona a Initiators y Targets un identificador o nombre nico y


adems tiene un mtodo para encontrarse entre ellos.

El protocolo iSCSI establece sesiones de comunicacin entre initiators y targets,


as como mtodos para que se autentifiquen entre ellos. Una sesin iSCSI puede
contener una o ms conexiones TCP y suministra mtodos de recuperacin si la
conexin falla.
Una sesin entre dos entidades iSCSI debe ser iniciada a travs de un proceso de
login en el que se negocian varios parmetros varibles entre ellos. Si el login es
rechazado la conexin TCP se rompe.
Una entidad de red puede tener ms de un portal de red, adems de poder contener
tambin varios nodos iSCSI. A cada sesin iniciada entre dos nodos se le da un
identificador ID. Un login de un iniciador sobre un objetivo incluira su nombre iSCSI y
un identificador ID de la sesin del iniciador (ISID), cuya combinacin dar una
identificacin nica en su entidad de red. Cuando el login se completa, la sesin iSCSI

10

3.5 - Direcciones y nombres iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

Storage Networking y el almacenamiento sobre internet: iSCSI

deja la fase de login y entra en una fase de posibilidades completas para transacciones
SCSI normales. Los comandos y las respuestas fluirn por la conexin TCP. Una
operacin iSCSI es un intercambio de comandos y respuestas entre iniciador y objetivo.
Para enviar comandos CDB se usan PDUs (iSCSI Protocol Data Units).
El estado del transporte de datos SCSI es monitoriz ado por secuencias de estado y
datos y el tamao de los campos buffer offset/tamao de la trasnferencia en el PDU.
Las sesiones iSCSI permanecen abiertas esperando comandos SCSI adicionales de las
capas ms altas de aplicacin.
El comando de logout de iSCSI suministra los codigos de terminacin de sesin o
conexiones dentro de una sesin, pudindose usar los CID para especificar qu
conexin terminar.

2. Demystifying DAS, SAN, NAS, NAS Gateways, Fibre Channel, and iSCSI. (IBM)
3. iSCSI Technical White Paper.(NISHAN SYSTEMS)
4. iSCSI Protocol Concepts and Implementation.(CISCO SYSTEMS)
Los 3 documentos anteriores se pueden encontrar en formato pdf en la web
http://www.diskdrive.com
5. InfoStor Magazine - Storage Device News and Trends
http://is.pennnet.com/Articles/Article_Display.cfm?Section=Archives&Subsection=Dis
play&ARTICLE_ID=101411
6. Internet Draft draft-ietf-ips-iSCSI-12.txt http://www.ietf.org/

3.7 Manejo de errores en iSCSI


El SCSI tradicional asume un entorno relativamente libre de errores.
En iSCSI iniciadores y objetivos deben tener la capacidad de mantener un buffer con
comandos y respuestas hasta que estos sean reconocidos, indicando que han sido
recibidos y pueden aceptar ms. Adems los dispositivos iSCSI deben ser capaces de
selectivamente reconstruir los PDUs perdidos o corruptos para su retransmisin..
La jerarqua de deteccin de errores y recuperacin incluye, en el nivel ms bajo,
deteccin y recuperacin dentro de una tarea SCSI, y la retransmisin de los PDUs
perdidos o corruptos. En la siguiente capa la conexin TCP que transporta la tarea
puede sufrir un error o fallo, en este caso se recuperar la conexin mediante un
comando de reinicio.
Un PDU individual puede tener errores en algn campo o puede que sea inconsistente o
le falte algo, a esto se le llama error de formato y genera una respuesta Reject iSCSI
PDU, que contendr un indicador de desplazamiento hasta el primer byte errneo de la
cabecera PDU.
El comando para pedir la retransmisin de los PDUs perdidos es el SNACK PDU.

3.8 - Seguridad en iSCSI


Al estar en un entorno IP, las especificaciones de iSCSI permiten usar los mtodos de
seguridad usados en IP.

4.- Conclusiones
Con el aumento de prestaciones de Ethernet, el protocolo iSCSI y los SANs
basados en Ethernet se acabarn imponiendo porque iSCSi nos permite acceso universal
a dispositivos de almacenamiento o a SANs sobre redes TCP/IP basadas en Ethernet,
siendo compatible con las infraestructuras Ethernet IP ya existentes, y nos permite
mantener las ventajas de las redes IP en cuanto a mantenimiento, escalabilidad,
seguridad y coste.

5. - Bibliografa
1. White Paper - Storage Networking
http://www.networkbuyersguide.com/search/105112.htm

11

12

You might also like