Sistemas de almacenamiento y su virtualización
La administración del almacenamiento en un CPD combina tres grandes pilares: la agregación de discos mediante RAID, la conexión del almacenamiento a los servidores (DAS, NAS y SAN) y la virtualización del espacio (provisionamiento fino o grueso). Todos ellos persiguen mejorar rendimiento, disponibilidad y aprovechamiento de la capacidad.
RAID: agregación de discos
RAID es el acrónimo de Redundant Array of Independent Disks (matriz redundante de discos independientes). Su función principal es mejorar el almacenamiento de datos combinando múltiples discos duros en una única unidad lógica, aumentando el rendimiento, la capacidad y/o la tolerancia a fallos. Los niveles se estandarizan por la SNIA (Common RAID Disk Drive Format). Las tres técnicas base son:
-
Striping (división): reparte los datos entre varios discos para leer/escribir en paralelo.
-
Mirroring (espejo): copia idéntica de los datos en dos o más discos.
-
Parity (paridad): información redundante de control que permite reconstruir un disco perdido.
Niveles principales
| Nivel | Técnica | Tolerancia a fallos | Discos mínimos |
|---|---|---|---|
| RAID 0 | Striping puro | Ninguna | 2 |
| RAID 1 | Mirroring (espejo) | 1 disco | 2 |
| RAID 4 | Striping por bloques + paridad dedicada (1 disco) | 1 disco | 3 |
| RAID 5 | Striping por bloques + paridad distribuida | 1 disco | 3 |
| RAID 6 | Striping + doble paridad distribuida | 2 discos | 4 |
-
RAID 0 es un nivel que distribuye los datos equitativamente entre dos o más discos. Mejora el rendimiento pero NO es tolerante a fallos: si un disco falla, se pierde toda la información. Es incorrecto afirmar que RAID 0 sea tolerante a fallos.
-
RAID 1 es un nivel que duplica (espeja) los datos en dos discos diferentes, ofreciendo una copia exacta y completa. NO utiliza paridad para recuperar datos (esa es su diferencia con los niveles de paridad); es incorrecto decir que RAID 1 usa paridad.
-
RAID 5 permite acceso independiente con paridad distribuida entre todos los discos del conjunto. Tolera un único fallo de dispositivo sin pérdida de datos.
-
RAID 4 distribuye la información a nivel de bloques pero con un único disco de paridad dedicado (no dos). Por ello, afirmar que RAID 4 usa dos discos de paridad dedicados es incorrecto.
Conexión del almacenamiento: DAS, NAS y SAN
Según cómo se presente el almacenamiento y a qué nivel opere, distinguimos:
NAS (Network Attached Storage)
El NAS es un dispositivo de almacenamiento compartido basado en archivos. Opera a nivel de fichero (file-level) y se conecta a la red de datos (LAN/Ethernet) empleando protocolos estándar de comunicaciones como TCP/IP. Comparte carpetas y archivos mediante protocolos de red de ficheros, siendo los más habituales:
-
NFS (Network File System) — entornos Unix/Linux.
-
CIFS/SMB (Common Internet File System / Server Message Block) — entornos Windows.
Así, los protocolos que pueden usarse para compartir archivos en un NAS son NFS y CIFS. El NAS es ideal para compartición de ficheros, colaboración y copias de seguridad sobre red IP.
SAN (Storage Area Network)
La SAN es una red dedicada de almacenamiento de alta velocidad que opera a nivel de bloque (block-level), no de fichero. Es el sistema donde se ubican los datos que deben ser accesibles a gran velocidad y se almacenan en bloques (bases de datos, máquinas virtuales). Un servidor se conecta a una SAN mediante tecnologías como Fibre Channel (canal de fibra) o iSCSI. Por tanto, si un sistema de almacenamiento es remoto y utiliza tecnología Fibre Channel, hablamos de una SAN; Fibre Channel es la tecnología de red característica de estas arquitecturas.
Resumen NAS vs SAN: NAS opera a nivel de fichero y SAN a nivel de bloque. NAS presenta y gestiona el sistema de archivos a los clientes; SAN entrega bloques "en crudo" y deja que el servidor gestione el sistema de ficheros.
Tecnologías de bus y transporte
-
SATA (Serial ATA): tecnología de almacenamiento en disco mediante bus serie, para conexión de unidades internas.
-
InfiniBand: bus de comunicaciones serie de alta velocidad, baja latencia y baja sobrecarga de CPU, diseñado tanto para conexiones internas como externas, muy usado en clústeres de alto rendimiento y almacenamiento.
-
Fibre Channel: transporte serie de alta velocidad usado principalmente en arquitecturas SAN.
Virtualización del almacenamiento y provisionamiento
La virtualización de almacenamiento abstrae la capacidad física presentándola como recursos lógicos flexibles. Existen varios tipos (basada en host, basada en red/appliance, basada en cabina o array), de modo que, ante un enunciado que las liste todas, la respuesta suele ser que todas son tipos de virtualización.
Dentro de la gestión del espacio destacan dos técnicas de aprovisionamiento:
-
Thin provisioning (aprovisionamiento fino): técnica/método de virtualización de almacenamiento que asigna el espacio de forma dinámica, bajo demanda y de manera justa y puntual, sin reservar físicamente todo el espacio desde el inicio. Optimiza el uso de la capacidad (se consume según se necesita).
-
Thick provisioning (aprovisionamiento grueso): técnica que reserva el espacio en disco de forma estática para una partición desde el principio. Su beneficio es mejor rendimiento y estabilidad gracias a esa reserva fija, a costa de un menor aprovechamiento inicial de la capacidad.
-
Subasignación (suballocation): creación de particiones de almacenamiento más pequeñas de lo que realmente se necesita, para un uso más granular del espacio.
Fuentes
-
SNIA — Standard RAID levels y Common RAID Disk Drive Format (DDF): https://en.wikipedia.org/wiki/Standard_RAID_levels
-
SNIA Dictionary (definiciones de almacenamiento, SAN, NAS, thin/thick provisioning): https://www.snia.org/education/dictionary
-
IBM — SAN vs NAS (block-level vs file-level, NFS/CIFS/SMB, Fibre Channel): https://www.ibm.com/think/topics/san-vs-nas