Una SAN típica consiste en una recopilación de equipos conectados a una recopilación de sistemas de almacenamiento a través de una red de conmutadores. Varios equipos acceden generalmente al mismo almacenamiento.

En la imagen Conectar un solo vínculo Ethernet con el almacenamiento se muestran varios equipos conectados con un sistema de almacenamiento a través de un conmutador Ethernet. En esta configuración, cada equipo se conecta a través de un solo vínculo Ethernet al conmutador, que también se conecta al sistema de almacenamiento a través de un solo vínculo Ethernet. En la mayoría de las configuraciones con conmutadores modernos y tráfico típico, esto no es un problema.

Figura 1. Conectar un solo vínculo Ethernet con el almacenamiento
La imagen muestra varios equipos conectados a un sistema de almacenamiento a través de un solo conmutador Ethernet.

Cuando los sistemas leen datos del almacenamiento, la respuesta máxima del almacenamiento es enviar datos suficientes para completar el vínculo entre los sistemas de almacenamiento y el conmutador Ethernet. Es poco probable que cada sistema o máquina virtual solos haga uso total de la velocidad de red de manera individual, pero esta situación puede esperarse cuando muchos sistemas comparten un dispositivo de almacenamiento.

Cuando se escriben datos en el almacenamiento, varios sistemas o máquinas virtuales pueden intentar completar los vínculos. Como se muestra en la figura Paquetes descartados, cuando sucede esto, el conmutador entre los sistemas y el sistema de almacenamiento debe descartar datos. Esto sucede porque, si bien tiene una conexión única con el dispositivo de almacenamiento, tiene más tráfico para enviar al sistema de almacenamiento que el que puede transportar un solo vínculo. En este caso, el conmutador descarta paquetes de red porque la cantidad de datos que puede transmitir está limitada por la velocidad del vínculo entre este y el sistema de almacenamiento.

Figura 2. Paquetes descartados
La imagen muestra cómo el conmutador entre los servidores y sistemas de almacenamiento descarta datos.

La recuperación de datos de los paquetes de red descartados provoca una gran degradación del rendimiento. Además del tiempo dedicado a determinar que se descartaron datos, la retransmisión utiliza ancho de banda que, de lo contrario, podría usarse para transacciones actuales.

El protocolo Transmission Control Protocol (TCP) traslada el tráfico iSCSI en la red. TCP es un protocolo de transmisión confiable que garantiza que se vuelva a intentar la transmisión de los paquetes descartados para que estos alcancen, eventualmente, su destino. TCP está diseñado para recuperar datos a partir de paquetes descartados y volver a transmitirlos de forma rápida y sencilla. Sin embargo, cuando el conmutador descarta paquetes con cualquier regularidad, la capacidad de proceso de la red se ve afectada de forma significativa. La red se congestiona con solicitudes de reenvío de datos y con los paquetes reenviados, y se transfieren en realidad menos datos que en una red sin congestionamiento.

La mayoría de los conmutadores Ethernet pueden almacenar datos en búfer y darle a todos los dispositivos que intentan enviar datos la misma oportunidad de llegar a destino. Esta capacidad de almacenar en búfer algunas transmisiones, junto con muchos sistemas que limitan la cantidad de comandos pendientes, permite que, a su vez, se envíen pequeñas ráfagas desde varios sistemas a un sistema de almacenamiento.

Si las transacciones son grandes y varios servidores intentan enviar datos a través de un solo puerto de conmutador, puede excederse la capacidad de un conmutador de almacenar en búfer una solicitud mientras se transmite otra. En este caso, el conmutador descarta los datos que no puede enviar y el sistema de almacenamiento debe solicitar la retransmisión del paquete descartado. Por ejemplo, si un conmutador Ethernet puede almacenar en búfer 32 KB en un puerto de entrada, pero el servidor conectado piensa que puede enviar 256 KB al dispositivo de almacenamiento, se descartan algunos de los datos.

La mayoría de los conmutadores administrados proporcionan información sobre paquetes descartados, algo similar a lo siguiente:

*: interface is up
IHQ: pkts in input hold queue     IQD: pkts dropped from input queue
OHQ: pkts in output hold queue    OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec)          RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec)          TXPS: tx rate (pkts/sec)
TRTL: throttle count
Tabla 1. Información de conmutador de muestra

Interfaz

IHQ

IQD

OHQ

OQD

RXBS

RXPS

TXBS

TXPS

TRTL

* GigabitEthernet0/1

3

9922

0

0

476303000

62273

477840000

63677

0

En este ejemplo de un conmutador Cisco, el ancho de banda usado es de 476.303.000 bits/segundo, que es menos de la mitad de la velocidad de cable. A pesar de esto, el puerto almacena en búfer los paquetes entrantes y descarta otros. La línea final de este resumen de interfaz indica que este puerto ya descartó casi 10.000 paquetes entrantes en la columna IQD.

Los cambios de configuración para evitar este problema incluyen comprobar que los diversos vínculos Ethernet de entrada no estén canalizados a un vínculo de salida, ya que provocaría un vínculo con exceso de suscripciones. Cuando se conmuta una cantidad de vínculos que transmiten casi al límite de su capacidad a una cantidad de vínculos menor, es posible que se produzca un exceso de suscripciones.

En general, las aplicaciones o los sistemas que escriben muchos datos en el almacenamiento, como sistemas de adquisición de datos o de registro de transacciones, no deben compartir vínculos Ethernet en un dispositivo de almacenamiento. Estos tipos de aplicaciones tienen mejor rendimiento con varias conexiones a los dispositivos de almacenamiento.

La imagen Varias conexiones del conmutador al almacenamiento muestra varias conexiones del conmutador al almacenamiento.

Figura 3. Varias conexiones del conmutador al almacenamiento
La imagen muestra varias conexiones del conmutador al almacenamiento.

La utilización de VLAN o VPN no proporciona una solución adecuada al problema de exceso de suscripciones de vínculos en configuraciones compartidas. Las VLAN y otras particiones virtuales de una red proporcionan una forma de designar una red lógicamente, pero no cambian las capacidades físicas de los vínculos y los troncos entre los conmutadores. Cuando el tráfico de almacenamiento y otro tráfico de red terminan compartiendo conexiones físicas, como harían con una VPN, existe la posibilidad de que se produzcan un exceso de suscripciones y la pérdida de paquetes. Lo mismo ocurre con las VLAN que comparten troncos entre conmutadores. El diseño de rendimiento de una SAN debe tener en cuenta las limitaciones físicas de la red, no las asignaciones lógicas.