Ao usar ESXi com a SAN iSCSI, siga as recomendações que VMware oferece para evitar problemas.

Verifique com seu representante de armazenamento se o seu sistema de armazenamento é compatível com os recursos de aceleração de hardware da API de armazenamento - Integração de matriz. Em caso afirmativo, consulte a documentação do seu fornecedor para habilitar o suporte à aceleração de hardware no lado do sistema de armazenamento. Para obter mais informações, consulte Aceleração de hardware de armazenamento.

Como evitar problemas de SAN iSCSI

Ao usar ESXi com uma SAN, você deve seguir as diretrizes específicas para evitar problemas de SAN.

Observe as seguintes dicas:

  • Coloque apenas um armazenamento de dados VMFS em cada LUN.
  • Não altere a política de caminho que o sistema define para você, a menos que você entenda as implicações de fazer essa alteração.
  • Documente tudo. Inclua informações sobre configuração, controle de acesso, armazenamento, comutador, servidor e configuração do iSCSI HBA, versões de software e firmware e plano de cabos de armazenamento.
  • Plano para falha:
    • Faça várias cópias de seus mapas de topologia. Para cada elemento, considere o que acontecerá com sua SAN se o elemento falhar.
    • Risque diferentes links, switches, HBAs e outros elementos para garantir que você não tenha perdido um ponto crítico de falha no seu projeto.
  • Certifique-se de que os HBAs iSCSI estejam instalados nos slots corretos no host ESXi, com base no slot e na velocidade do barramento. Equilibre a carga do barramento PCI entre os barramentos disponíveis no servidor.
  • Familiarize-se com os vários pontos de monitoramento em sua rede de armazenamento, em todos os pontos de visibilidade, incluindo ESXi gráficos de desempenho, estatísticas de switch Ethernet e estatísticas de desempenho de armazenamento.
  • Altere as IDs de LUN somente quando os datastores VMFS implantados nas LUNs não tiverem máquinas virtuais em execução. Se você alterar a ID, as máquinas virtuais em execução no datastore VMFS poderão falhar.

    Depois de alterar a ID do LUN, você deve verificar novamente seu armazenamento para redefinir a ID no seu host. Para obter informações sobre como usar a nova verificação, consulte Operações de redigitalização para armazenamento ESXi.

  • Se você alterar o nome iSCSI padrão do adaptador iSCSI, certifique-se de que o nome inserido seja exclusivo no mundo todo e esteja formatado corretamente. Para evitar problemas de acesso ao armazenamento, nunca atribua o mesmo nome iSCSI a adaptadores diferentes, mesmo em hosts diferentes.

Otimizando o desempenho do armazenamento SAN iSCSI

Vários fatores contribuem para a otimização de um ambiente SAN típico.

Se o ambiente de rede estiver configurado corretamente, os componentes iSCSI fornecerão taxa de transferência adequada e latência baixa o suficiente para iniciadores e destinos iSCSI. Se a rede estiver congestionada e os links, comutadores ou roteadores estiverem saturados, o desempenho do iSCSI será afetado e poderá não ser adequado para ambientes ESXi.

Desempenho do sistema de armazenamento

O desempenho do sistema de armazenamento é um dos principais fatores que contribuem para o desempenho de todo o ambiente iSCSI.

Se ocorrerem problemas com o desempenho do sistema de armazenamento, consulte a documentação do fornecedor do sistema de armazenamento para obter informações relevantes.

Ao atribuir LUNs, lembre-se de que você pode acessar cada LUN compartilhado por meio de vários hosts e que várias máquinas virtuais podem ser executadas em cada host. Um LUN usado pelo host ESXi pode atender a E/S de muitos aplicativos diferentes em execução em diferentes sistemas operacionais. Devido a essa carga de trabalho diversificada, o grupo de RAID que contém os ESXi LUNs não deve incluir LUNs que outros hosts usam e que não estão executando ESXi para aplicativos com uso intenso de E/S.

Habilite o cache de leitura e o cache de gravação.

O balanceamento de carga é o processo de distribuição de solicitações de E/S do servidor por todas as SPs disponíveis e seus caminhos de servidor host associados. O objetivo é otimizar o desempenho em termos de taxa de transferência (E/S por segundo, megabytes por segundo ou tempos de resposta).

Os sistemas de armazenamento SAN exigem reprojeto e ajuste contínuos para garantir que a carga de E/S seja balanceada em todos os caminhos do sistema de armazenamento. Para atender a esse requisito, distribua os caminhos para as LUNs entre todas as SPs para fornecer o balanceamento de carga ideal. O monitoramento próximo indica quando é necessário rebalancear manualmente a distribuição de LUN.

Ajustar sistemas de armazenamento balanceados estaticamente é uma questão de monitorar as estatísticas de desempenho específicas (como operações de E/S por segundo, blocos por segundo e tempo de resposta) e distribuir a carga de trabalho do LUN para distribuir a carga de trabalho entre todas as SPs.

Desempenho do servidor com iSCSI

Para garantir o desempenho ideal do host ESXi, considere vários fatores.

Cada aplicativo de servidor deve ter acesso ao armazenamento designado com as seguintes condições:

  • Alta taxa de E/S (número de operações de E/S por segundo)
  • Alta taxa de transferência (megabytes por segundo)
  • Latência mínima (tempos de resposta)

Como cada aplicativo tem requisitos diferentes, você pode atender a essas metas selecionando um grupo de RAID apropriado no sistema de armazenamento.

Para atingir as metas de desempenho, siga estas diretrizes:

  • Coloque cada LUN em um grupo RAID que forneça os níveis de desempenho necessários. Monitore as atividades e o uso de recursos de outros LUNS no grupo de RAID atribuído. Um grupo de RAID de alto desempenho que tem muitos aplicativos fazendo E/S para ele pode não atender às metas de desempenho exigidas por um aplicativo em execução no host ESXi.
  • Para obter a taxa de transferência máxima para todos os aplicativos no host durante o período de pico, instale adaptadores de rede ou adaptadores de hardware iSCSI suficientes. A distribuição de E/S por várias portas fornece taxa de transferência mais rápida e menos latência para cada aplicativo.
  • Para fornecer redundância para o software iSCSI, certifique-se de que o inicializador esteja conectado a todos os adaptadores de rede usados para conectividade iSCSI.
  • Ao alocar LUNs ou grupos de RAID para sistemas ESXi, lembre-se de que vários sistemas operacionais usam e compartilham esse recurso. O desempenho do LUN exigido pelo host ESXi pode ser muito maior do que quando você usa máquinas físicas normais. Por exemplo, se você espera executar quatro aplicativos com uso intenso de E/S, aloque quatro vezes a capacidade de desempenho para os ESXi LUNs.
  • Quando você usa vários sistemas ESXi com vCenter Server, os requisitos de desempenho de armazenamento aumentam.
  • O número de E/Ss pendentes necessários para os aplicativos em execução em um sistema ESXi deve corresponder ao número de E/Ss que a SAN pode manipular.

Desempenho da rede

Uma SAN típica consiste em um conjunto de computadores conectados a um conjunto de sistemas de armazenamento por meio de uma rede de comutadores. Vários computadores geralmente acessam o mesmo armazenamento.

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

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

Quando os sistemas lêem dados do armazenamento, o armazenamento responde enviando dados suficientes para preencher o link entre os sistemas de armazenamento e o comutador Ethernet. É improvável que um único sistema ou máquina virtual obtenha uso total da 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 descartando dados.

A recuperação de pacotes de rede descartados resulta em uma grande degradação do desempenho. Além do tempo gasto para determinar se os dados foram descartados, a retransmissão usa a largura de banda da rede que, de outra forma, pode ser usada para as 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 tentados novamente e, eventualmente, cheguem ao seu destino. O TCP foi projetado para se recuperar de pacotes descartados e os retransmitir de forma rápida e contínua. No entanto, quando o switch descarta pacotes com qualquer regularidade, a taxa de transferência da rede é afetada. 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 dá a cada dispositivo que tenta enviar dados uma chance igual 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 intermitências 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 armazenamento em buffer poderá ser excedida. Nesse caso, o switch descarta os dados que não pode 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, semelhantes às seguintes:

*: 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 comutador
Interface IHQ IQD OHQ 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 afunilados em um link de saída, resultando em um link com excesso de assinaturas. Quando vários links que transmitem perto da capacidade são comutados para um número menor de links, o excesso de assinatura se torna possível.

Geralmente, os 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 têm melhor desempenho com várias conexões a dispositivos de armazenamento.

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

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

O uso de VLANs ou VPNs não fornece uma solução adequada para o problema de excesso de assinatura de link 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 comutadores. Quando o tráfego de armazenamento e outro tráfego de rede compartilham conexões físicas, pode haver excesso de assinaturas e pacotes perdidos. O mesmo acontece com as VLANs que compartilham troncos entre comutadores. O projeto de desempenho de uma SAN deve considerar as limitações físicas da rede, não as alocações lógicas.

Verificando as estatísticas do switch Ethernet

Muitos switches Ethernet fornecem métodos diferentes para monitorar a integridade do switch.

Os switches que têm portas operando perto da taxa de transferência máxima na maior parte do tempo não fornecem um desempenho ideal. Se você tiver portas na SAN iSCSI em execução perto do máximo, reduza a carga. Se a porta estiver conectada a um sistema ESXi ou armazenamento iSCSI, você poderá reduzir a carga usando o balanceamento de carga manual.

Se a porta estiver conectada entre vários switches ou roteadores, considere a instalação de links adicionais entre esses componentes para lidar com mais carga. Os switches Ethernet geralmente também fornecem informações sobre erros de transmissão, pacotes enfileirados e pacotes Ethernet descartados. Se o switch relatar regularmente qualquer uma dessas condições nas portas que estão sendo usadas para o tráfego iSCSI, o desempenho da SAN iSCSI será ruim.