¿Qué es una Storage Area Network (SAN) y cómo funciona?
Abordamos hoy un tipo de red dedicada a la interconexión de servidores de almacenamiento, que se conoce como SAN y nos puede servir para mejorar el funcionamiento de los centros de datos con virtualización, albergar aplicaciones críticas y hacer que las bases de datos funcionen con mayor rendimiento, además de permitir un soporte más avanzado de copias de seguridad y sistemas de recuperación ante desastres, entre otras cosas. En este post te vamos a explicar su funcionamiento de manera detallada.
¿Qué es una Storage Area Network (SAN)?
Una Storage Area Network, que a menudo acortamos por sus siglas SAN, es una red de alta velocidad dedicada exclusivamente a la conexión entre servidores y sistemas de almacenamiento. Están pensadas para proporcionar acceso centralizado, rápido y fiable a grandes volúmenes de datos y además, ofrecen un uso más lógico de los servidores, ya que sirven el almacenamiento como si fueran discos locales, a pesar que los discos realmes se encuentren físicamente en otras localizaciones o incluso en la nube.
La diferencia con otros tipos de sistemas de almacenamiento, como por ejemplo los conocidos NAS, es que las SAN trabajan a nivel de bloque, algo que vamos a explicar más en detalle un poco después. Gracias a esto ofrecen mayor rendimiento y baja latencia, lo que hace que.este tipo de redes esté muy enfocado a entornos críticos, permitiendo la mejora de servicios como las bases de datos o la virtualización.
¿Cómo funciona una Storage Area Network?
Para que puedas entender mejor qué es una SAN y sus características, vamos a detallar un poco su funcionamiento en los siguientes puntos.
Comunicación entre servidores y sistemas de almacenamiento
La conexión entre servidores dentro de una SAN se realiza por medio de bloques. Esto quiere decir que los servidores no ven archivos ni carpetas como ocurre en un NAS, sino trozos de datos sin más. Así pues, en la red se transfieren bloques específicos de bytes directamente, y luego es el servidor el que se encarga de formatearlos con su propio sistema de archivos.
Este sistema ofrece algunas ventajas, donde destaca un mayor rendimiento, ya que no se encarga de procesar archivos con sus informaciones específicas, y a la vez una mayor versatilidad, ya que los servidores serán luego los que almacenen los datos en sus discos, sea cual sea su sistema operativo o formato.
Protocolos utilizados en una SAN (Fibre Channel, iSCSI, FCoE)
Para poder trabajar, las SAN utilizan sus propios protocolos, existiendo varios que ofrecen características específicas:
- Fibre Channel (FC) es un protocolo diseñado para almacenamiento de manera específica. Su característica principal es que ofrece muy baja latencia y alta fiabilidad.
- iSCSI funciona encapsulando comandos SCSI, que son instrucciones básicas que usa un servidor para decirle a un disco o almacenamiento qué hacer (cosas como «lee estos datos» o «escribe aquí». Esto lo hace sobre TCP/IP, lo que permite usar redes Ethernet estándar.
- FCoE son las siglas de «Fibre Channel over Ethernet» que permite combinar el mencionado protocolo FC mediante redes Ethernet, reduciendo la infraestructura necesaria.
Acceso a bloques de datos y su gestión
El almacenamiento en una SAN se realiza por medio de cabinas, que son dispositivos especializados independientes de los servidores. Las cabinas agrupan y organizan los discos físicos, ya sean HDD, SSD o NVMe, en configuraciones RAID para redundancia y rendimiento.
Las cabinas son capaces de crear y exponer lo que se llaman LUN, siglas de Logical Unit Numbers, que son unidades lógicas como un disco virtual. Luego, un LUN se usa en el sistema de almacenamiento del servidor como si fuera un disco físico.
La gestión de estos bloques de almacenamiento, los LUN, incluye la asignación de LUNs a hosts concretos, el control de accesos mediante zoning y masking y la expansión dinámica del almacenamiento.
Latencia, rendimiento y alta disponibilidad en SAN
La característica más importante de las SAN es su alto rendimiento, que se consigue gracias a usar redes dedicadas y el acceso directo a bloques, usando protocolos optimizados para este tipo de tráfico.
Además, las SAN están diseñadas para ofrecer alta disponibilidad y para ello usan componentes redundantes como controladoras, fuentes de alimentación y enlaces de red con rutas múltiples.
Flujo de datos dentro de una red SAN
El flujo de datos en una SAN es en esencia bastante simple: comienza por un servidor que pide bloques de datos crudos a la cabina. Ésta luego los envía directamente por la red dedicada. Para más detalle, sigue estos pasos:
- El servidor genera una petición de E/S sobre un disco lógico que está asociado al SAN. Esto consiste en un comando SCSI hacia una tarjeta o chip que actúa como puente para conectar el servidor a la red SAN. Esta tarjeta se conoce como HBA, siglas de Host Bus Adapter.
- La HBA es la que se encarga por tanto de envíar la petición por la red SAN.
- El tráfico pasa luego por una red dedicada, donde los switches SAN dirigen el tráfico hacia la cabina.
- El sistema de almacenamiento procesa la solicitud y envía los datos al servidor por una ruta optimizada.
Componentes clave de una Storage Area Network
En los puntos anteriores ya hemos introducido muchos de los componentes que forman las SAN, ofreciendo explicaciones de cada uno de ellos. Para profundizar un poco más y que queden bien claros los vamos a ver ahora uno a uno.
Cabinas de almacenamiento y discos
Las cabinas de almacenamiento son el núcleo de la SAN y quienes se encargan de controlar los discos físicos: HDD, SSD o NVMe. Las cabinas integran controladoras, caché y los propios discos y se encargan de gestionar cualquier solicitud a bloques de datos, asegurando alto rendimiento, protección de datos y la redundancia.
Switches SAN y topología de red
Los switches SAN son dispositivos especiales que hacen que el tráfico de los bloques se pueda realizar de manera optimizada entre los servidores y las cabinas de almacenamiento. Funcionan con los protocolos Fibre Channel o Ethernet para iSCSI y puedes entenderlos como el cerebro de la SAN, ya que aplican cierta inteligencia para que el tráfico entre HBAs y cabinas se realice de manera optimizada.
Por lo que respecta a topologías habituales podemos mencionar «Single-switch», que está pensada para pequeñas SAN de bajo coste. A partir de ahí tenemos otras que permiten mayores ventajas como «Cascaded/Mesh» para redes medianas o «Core-edge» para gestión de datos masivo.
HBA (Host Bus Adapters)
También hemos mencionado las HBA, que son las tarjetas de red especializadas en tráfico SAN y que conectan los servidores donde queremos usar los discos lógicos a la SAN. Estas tarjetas están optimizadas para gestionar los protocolos de comunicaciones y almacenamiento específicos de la SAN y hacen que las CPU de los servidores tengan menos carga de trabajo.
Software de gestión y monitorización SAN
Luego tenemos el software del SAN que permite crear y asignar LUNs, así como monitorizar el rendimiento y la latencia de las comunicaciones. Con ellos también se puede detectar fallos y cuellos de botella.
Sistemas de backup y replicación en SAN
Además de todo lo anterior, las SAN suelen integrar soluciones avanzadas de backup, snapshots y replicación. Todo ello de manera local o remota, lo que permite la recuperación ante desastres y la protección frente a fallos o pérdida de datos.
Tipos de Storage Area Network
Vamos ahora a nombrar de manera resumida los tipos de SAN que nos podemos encontrar:
SAN Fibre Channel
Es la opción más tradicional en grandes centros de datos, ya que ofrece un rendimiento más elevado, baja latencia y alta fiabilidad. Por supuesto, también implica mayor coste y complejidad.
SAN iSCSI
Luego tenemos las SAN iSCSI, que son más usadas en entornos medianos y pequeños. Estas consiguen aprovechar infraestructuras Ethernet existentes, lo que reduce costes.
SAN basada en Ethernet
Las SAN basadas en Ethernet son usadas especialmente en centros de datos definidos por software. Usan también Ethernet de alta velocidad y aportan bastante flexibilidad.
SAN híbrida
Este tipo de SAN combina distintos protocolos y tecnologías para conseguir un buen balanceo entre potencia y costes. Por ejemplo, puede usar Fibre Channel para cargas críticas y iSCSI para otros servicios
SAN en la nube o Cloud SAN
Por último, tenemos la SAN en la nube (también llamada Cloud SAN) que es una versión virtualizada de una SAN tradicional. La característica fundamental es que se ejecuta en proveedores cloud y ofrece almacenamiento de bloques de alto rendimiento sin que los usuarios tengan que tener hardware físico propio.
Casos de uso reales de Storage Area Network
Vamos a ver ahora algunos casos de uso de las reales de Storage Area Network habituales.
Virtualización y centros de datos
Las SAN son una de las piezas clave en entornos virtualizados y centros de datos que ofrecen virtualización. Se usan para que múltiples hosts accedan de forma concurrente a un almacenamiento compartido y de alto rendimiento.
En centros de datos, una SAN centraliza el almacenamiento y ofrece seguridad y redundancia, lo que reduce la dependencia del hardware local de cada servidor. Son esenciales porque permiten que exista una mayor flexibilidad en la asignación de recursos.
Bases de datos de alto rendimiento
En escenarios críticos se usa SAN para bases de datos transaccionales, siempre que soporten almacenamiento en bloques, lo que es habitual en las RDBMS más populares como MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, etc.
Las SAN aportan alto rendimiento gracias a su baja latencia y alto IOPS, con acceso a bloques directo, lo que las hace especialmente indicadas para cargas intensivas.
Sistemas críticos y aplicaciones empresariales
Por supuesto, aplicaciones empresariales como los ERP o CRM se pueden ver muy beneficiados por las SAN, ya que requieren un almacenamiento fiable y siempre disponible, incluso tolerante a fallos y con redundancia.
Entornos de alta disponibilidad
Una SAN es fundamental cuando se necesita alta disponibilidad, ya que proporciona almacenamiento compartido y accesible desde múltiples servidores con gestión automática de situaciones de error, en caso de caídas de nodos.
Backup y recuperación ante desastres
Las SAN integran funcionalidades avanzadas de snapshots, replicación y copias. Por eso son ideales para realizar backup síncrono o asíncrono con un elevado rendimiento, permitiendo reducir ventanas de backup y acelerar la recuperación ante fallos.
Seguridad y buenas prácticas en una SAN
Vamos a nombrar ahora los mecanismos que aportan seguridad en las SAN, junto con algunas buenas prácticas para poder gestionarlas adecuadamente.
Segmentación y zoning en SAN
Para segmentar la red SAN se usa zoning, lo que permite controlar qué servidores pueden comunicarse con qué cabinas o LUNs.
Esta práctica es importante porque reduce riesgos de acceso no autorizado, a la vez que mejora el rendimiento al limitar el tráfico. Además, consigue aislar fallos dentro de la red SAN, lo que las hace más seguras y fiables.
Autenticación y control de acceso
Por supuesto, las SAN permiten aplicar mecanismos de autenticación y control de acceso a los datos, para garantizar la seguridad. Para ello se ofrecen mecanismos como LUN masking, que es un mecanismo que permite ocultar las LUN a los host que no están autorizados a su acceso, o la autenticación CHAP en iSCSI, que consiste en un método de autenticación segura en iSCSI, donde la cabina envía un desafío al servidor, que responde con un hash de su secreto compartido.
Además, los sistemas son capaces de atender a diferentes roles y permisos que son definidos en el software de gestión. Todo ello evita que un servidor acceda accidentalmente a datos que no le corresponden.
Cifrado de datos en tránsito
Para aumentar la seguridad en SAN basadas en Ethernet, especialmente iSCSI, es especialmente recomendable utilizar cifrado de datos en tránsito, de modo que se proteja la información frente a interceptaciones.
Monitorización y detección de fallos
Por supuesto, como administradores de datos es importante una monitorización continua de la SAN para verificar su estado en todo momento y anticiparse a problemas de rendimiento o fallos de hardware.
En este sentido es importante seguir los valores de latencia e IOPS y otras alertas tempranas de degradación.
Planes de contingencia y recuperación
Finalmente, toda SAN bien diseñada debe tener un plan de contingencia que nos permita la continuidad del negocio ante problemas. Para ello es importante definir los procedimientos de recuperación de modo detallado en un documento específico. Estos pasos deben estar bien actualizados y ser suficientemente claros para que puedan ser realizados por cualquier persona del equipo técnico. Además, es fundamental hacer pruebas periódicas de la restauración del sistema, de modo que se compruebe que se puede volver a restablecer los sistemas de manera correcta.