Uma SAN típica consiste em uma coleção de computadores conectados a uma coleção de sistemas de armazenamento por meio de uma rede de switches. Vários computadores costumam acessar o mesmo armazenamento.

O gráfico a seguir mostra vários sistemas de computador conectados a um sistema de armazenamento por meio de um switch Ethernet. Nessa configuração, cada sistema é conectado por meio de um único link Ethernet ao switch. O switch está conectado ao sistema de armazenamento por meio de um único link Ethernet.

Figura 1. Conexão de link único Ethernet ao armazenamento
O gráfico mostra vários sistemas conectados a um sistema de armazenamento por meio de um único switch Ethernet.

Quando os sistemas leem dados do armazenamento, o armazenamento responde com o envio de dados suficientes para preencher o link entre os sistemas de armazenamento e o switch Ethernet. É improvável que qualquer sistema ou máquina virtual aproveite ao máximo a velocidade da rede. No entanto, essa situação pode ser esperada quando muitos sistemas compartilham um dispositivo de armazenamento.

Ao gravar dados no armazenamento, vários sistemas ou máquinas virtuais podem tentar preencher seus links. Como resultado, a alternância entre os sistemas e o sistema de armazenamento pode descartar pacotes de rede. A queda de dados pode ocorrer porque o switch tem mais tráfego para enviar ao sistema de armazenamento do que um único link pode transportar. A quantidade de dados que o switch pode transmitir é limitada pela velocidade do link entre ele e o sistema de armazenamento.

Figura 2. Pacotes descartados
O gráfico mostra a alternância entre os servidores e os sistemas de armazenamento que estão descartando dados.

A recuperação de pacotes de rede descartados resulta em grande degradação do desempenho. Além do tempo gasto determinando que os dados foram descartados, a retransmissão usa largura de banda de rede que pode ser usada para transações atuais.

O tráfego iSCSI é transportado na rede pelo Transmission Control Protocol (TCP). O TCP é um protocolo de transmissão confiável que garante que os pacotes descartados sejam repetidos e, eventualmente, cheguem ao seu destino. O TCP é projetado para se recuperar de pacotes descartados e os retransmite de forma rápida e contínua. No entanto, quando o switch descarta pacotes com qualquer regularidade, a taxa de transferência da rede é prejudicada. A rede fica congestionada com solicitações para reenviar dados e com os pacotes reenviados. Menos dados são transferidos do que em uma rede sem congestionamento.

A maioria dos switches Ethernet pode armazenar em buffer ou armazenar dados. Essa técnica permite que todos os dispositivos que tentam enviar dados tenham a mesma chance de chegar ao destino. A capacidade de armazenar em buffer algumas transmissões, combinada com muitos sistemas que limitam o número de comandos pendentes, reduz as transmissões a pequenas rajadas. As rajadas de vários sistemas podem ser enviadas para um sistema de armazenamento por sua vez.

Se as transações forem grandes e vários servidores estiverem enviando dados por meio de uma única porta de switch, a capacidade de armazenar em buffer poderá ser excedida. Nesse caso, o switch descarta os dados que não podem enviar e o sistema de armazenamento deve solicitar uma retransmissão do pacote descartado. Por exemplo, se um switch Ethernet puder armazenar em buffer 32 KB, mas o servidor enviar 256 KB para o dispositivo de armazenamento, alguns dos dados serão descartados.

A maioria dos switches gerenciados fornece informações sobre pacotes descartados, semelhante ao seguinte:

*: 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
Tabela 1. Amostra de informações do switch
Interface IHQ IQD AQS OQD RXBS RXPS TXBS TXPS TRTL
* GigabitEthernet0 / 1 3 9922 0 0 476303000 62273 477840000 63677 0

Neste exemplo de um switch Cisco, a largura de banda usada é de 476303000 bits / segundo, que é menos da metade da velocidade do fio. A porta está armazenando em buffer os pacotes de entrada, mas descartou vários pacotes. A linha final deste resumo da interface indica que essa porta já descartou quase 10.000 pacotes de entrada na coluna IQD.

As alterações de configuração para evitar esse problema envolvem garantir que vários links Ethernet de entrada não sejam canalizados para um link de saída, resultando em um link com excesso de inscrições. Quando vários links que transmitem a capacidade próxima são comutados para um número menor de links, o excesso de inscrições se torna possível.

Geralmente, aplicativos ou sistemas que gravam muitos dados no armazenamento devem evitar o compartilhamento de links Ethernet com um dispositivo de armazenamento. Esses tipos de aplicativos funcionam melhor com várias conexões com dispositivos de armazenamento.

Várias conexões do switch para o armazenamento mostra várias conexões do switch para o armazenamento.

Figura 3. Várias conexões do switch para o armazenamento
O gráfico mostra várias conexões do switch para o armazenamento.

O uso de VLANs ou VPNs não fornece uma solução adequada para o problema de excesso de inscrições de links em configurações compartilhadas. VLANs e outros particionamentos virtuais de uma rede fornecem uma maneira de projetar logicamente uma rede. No entanto, eles não alteram os recursos físicos de links e troncos entre switches. Quando o tráfego de armazenamento e outro tráfego de rede compartilham conexões físicas, o excesso de assinaturas e os pacotes perdidos podem se tornar possíveis. O mesmo acontece com as VLANs que compartilham troncos entre comutadores. O design de desempenho de uma SAN deve considerar as limitações físicas da rede, não as alocações lógicas.