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.

La siguiente imagen muestra varios sistemas informáticos conectados a un sistema de almacenamiento a través de un solo conmutador Ethernet. En esta configuración, cada sistema está conectado a través de un solo vínculo Ethernet al conmutador. El conmutador está conectado al sistema de almacenamiento a través de un solo vínculo Ethernet.

Figura 1. Conectar un solo vínculo Ethernet con el almacenamiento
En la imagen, se muestran varios equipos conectados a un sistema de almacenamiento a través de un solo conmutador Ethernet.

Cuando los sistemas leen datos del almacenamiento, el almacenamiento responde enviando datos suficientes para completar el vínculo entre los sistemas de almacenamiento y el conmutador Ethernet. Es poco probable que un sistema o una máquina virtual usen el total de la velocidad de red. Sin embargo, esta situación puede darse cuando muchos sistemas comparten el mismo dispositivo de almacenamiento.

Cuando se escriben datos en el almacenamiento, varios sistemas o máquinas virtuales pueden intentar completar los vínculos. Como resultado, es posible que el conmutador que une los sistemas y el sistema de almacenamiento descarte paquetes de red. El descarte de datos podría ocurrir debido a que el conmutador tiene más tráfico para enviar al sistema de almacenamiento del que puede transmitir un solo vínculo. La cantidad de datos que puede transmitir el conmutador está limitada por la velocidad del vínculo entre este y el sistema de almacenamiento.

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

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, el rendimiento de red se ve afectado. La red se congestiona con las solicitudes para volver a enviar datos y con los paquetes reenviados. Se transfieren menos datos que en una red sin congestión.

La mayoría de los conmutadores Ethernet pueden guardar datos en búfer, es decir, almacenarlos. Esta técnica da la misma oportunidad de llegar al destino a todos los dispositivos que intentan enviar datos. La capacidad para almacenar en búfer algunas transmisiones, combinada con muchos sistemas que limitan el número de comandos pendientes, reduce las transmisiones a ráfagas pequeñas. Las ráfagas de varios sistemas se pueden enviar a su vez a un sistema de almacenamiento.

Si las transacciones son grandes y hay varios servidores que envían datos a través de un puerto de conmutador único, se puede superar la capacidad de almacenamiento en búfer. 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, pero el servidor envía 256 KB al dispositivo de almacenamiento, algunos de los datos se descartarán.

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. El puerto almacena en búfer los paquetes entrantes, pero descarta varios paquetes. 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 varios vínculos que transmiten casi al límite de capacidad se cambian por una menor cantidad de vínculos, es posible que se produzca un exceso de suscripciones.

Por lo general, las aplicaciones o los sistemas que escriben muchos datos en el almacenamiento deben evitar compartir vínculos Ethernet con 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
En la imagen, se muestran 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. Sin embargo, no cambian las capacidades físicas de los vínculos y los troncos entre conmutadores. Cuando el tráfico de almacenamiento y otros tipos de tráfico de red comparten conexiones físicas, es posible que se produzcan suscripciones excesivas y 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.