Sistemas de almacenamiento

Para empezar a entrar en materia, he elegido uno de los temas con los que más he trabajado, y que considero que son importantes en todo proyecto que se precie: el almacenamiento.
Desde el punto de vista físico, existen diferentes tipos de disco utilizados, aunque la mayoría provienen de la evolución de dos estándares:
  • SCSI (Small Computer System Interface): Los discos no incorporan inteligencia, y necesitan de placas especiales para su interconexión. Ofrecen mayor rendimiento y fiabilidad (al menos eso dicen los fabricantes, aunque hay quien discrepa). En la actualidad encontramos discos con esta tecnología, capaces de girar a 15.000RPM y con una probabilidad de error bajísima, según los fabricantes. El tamaño máximo que se comercializa actualmente es 450GB a 15KRPM y 600GB a 10KRPM.
  • IDE (Integrated device Electronics)/ATA (Advanced Technology Attachment): Precio inferior a los discos SCSI, ya que incorporan la inteligencia en el propio disco. Utilizados ampliamente en entornos en los que el precio por TeraByte  es un factor de decisión importante. Actualmente los discos son capaces de girar a 7.200RPM y con capacidades hasta 1 TB.
Habitualmente, cuando diseñamos un proyecto de almacenamiento, este no suele ir conectado directamente a la placa de los servidores, y se utilizan cabinas de disco, que ofrecen una mayor seguridad y rendimiento de nuestro acceso a los datos. Esto se consigue gracias al uso de diferentes tecnologías RAID (Redundant Array of Inexpensive Disks), que nos pueden proteger frente al fallo de uno o varios discos, y que al distribuir la información entre muchos dispositivos, permite que el acceso sea mucho más rápido. Éste es un parámetro crucial, ya que la mayor limitación de rendimiento, siempre se debe a que los discos tienen piezas mecánicas (ejes o spindles) y el movimiento de las mismas requiere tiempo. Por eso, cuantos más discos tengamos en un RAID, obtendremos mejores tiempos de acceso. Esto ha mejorado muchísimo con la aparición de los discos de estado sólido (SSD), aunque de momento sus precios son prohibitivos.
Como he comentado anteriormente, utilizamos cabinas de disco, que físicamente tienen el aspecto de cajones llenos de discos, y que según el tipo de conexión y protocolos que utilicen se pueden dividir en:
  • DAS (Direct Attached Storage): Cabinas conectadas directamente, sin una red intermedia, utilizando puertos SCSI o SAS, habitualmente. Son poco flexibles en cuanto a configuración y permiten un número muy limitado de hosts conectados, uno o dos, usualmente.
  • SAN (Storage Area Network): Este tipo de almacenamiento utiliza protocolos basados en bloques, como Fibre Channel (FCP) o iSCSI, interconectados formando redes, en las que existen mecanismos para el control del acceso a las unidades de disco (LUNs). Estos mecanismos dependen del protocolo, pero básicamente consisten en realizar zonas en las redes de almacenamiento, donde cada host (o grupo de hosts) ve las controladoras de la cabina (Storage Processor). Los identificadores únicos de cada elemento se conocen como World Wide Names (WWN) en Fibre Channel o iSCSI Qualified Names (IQN) en iSCSI. Últimamente se están empezando a utilizar nuevos protocolos derivados de los anteriores, como Fibre Channel over IP (FCoIP).
  • NAS (Network Attached Storage): Utiliza protocolos basados en la compartición de ficheros sobre red. Dos ejemplos muy conocidos son Network File System (NFS), ampliamente utilizado en entornos Unix y GNU/Linux, o Common Internet File System (CIFS), usado sobre todo en entornos MS Windows. Estos protocolos no comparten discos, que deben formatearse por los servidores que los montan, como en el caso del almacenamiento SAN, sino que se comparten directorios del sistema de ficheros del servidor o cabina NAS.
Las últimas evoluciones de productos de almacenamiento, tienden a unificar diferentes protocolos orientados a ficheros y a bloques en una única cabina. Otras alternativas plantean soluciones de RAID sobre red IP o el uso de sistemas de fichero en clúster, que facilitan el acceso de varios hosts a un mismo volumen sin corrupción. Algunos ejemplos de cabinas de almacenamiento son:
  • SAN FCP: EMC Clariion, HP EVA, IBM DS, Hitachi Data Systems USP (AKA HP XP), Hitachi Data Systems AMS
  • SAN iSCSI: Dell EqualLogic, HP LeftHand
  • NAS: HP Polyserve, Overland Snap Server, Iomega StorCenter
  • Almacenamiento Unificado (SAN y NAS): NetApp FAS, EMC Celerra
Para terminar este primer post dedicado al almacenamiento, comentaros que hay buenas alternativas en entornos GNU/Linux y BSD para disponer de soluciones NAS y SAN iSCSI unificadas, como FreeNAS y OpenFiler. Asimismo, para aquellos que quieran probar un sistema de ficheros en clúster, disponen de alternativas como GlusterFS y OCFS2 (creado por Oracle bajo licencia GPL). Finalmente una alternativa para la realización de un RAID sobre red IP con DRBD.

Sobre el Autor

Rafa

Nacido en Septiembre de 1978, en una ciudad de la periferia de Barcelona. Descubrió la informática a la temprana edad de 6 años, cuando sus padres le compraron un Commodore64, y desde entonces vive en binario. Actualmente sobrevive como consultor TIC en una empresa tecnológica, esperando a que llegue el momento de dedicarse a plantar lechugas.
Otros posts porRafa

Comentarios