Análise e ajuste de desempenho iSCSI
Este procedimento fornece uma solução para problemas de desempenho de host Internet Small Computer Systems Interface (iSCSI) enquanto conectado a um sistema e sua conectividade para a comutação de rede.
Sobre Esta Tarefa
- ACK Atrasado do Protocolo de Controle de Transmissões (TCP)
- Quadro gigante Ethernet
- Gargalo ou alocação excessiva de rede
- Equilíbrio de login de sessão iSCSI
- Configuração do priority flow control (PFC) e alocação de largura da banda para iSCSI na rede
Procedimento
- Desative o recurso de confirmação atrasado de TCP. Para desativar este recurso, consulte a documentação do SO/da plataforma.
A assinatura primária deste problema: o desempenho de leitura é significativamente inferior ao desempenho de gravação. A confirmação atrasada do Protocolo de Controle de Transmissões (TCP) é uma técnica que é usada por algumas implementações do TCP para melhorar o desempenho da rede. Entretanto, neste cenário onde o número de E/S pendente é 1, a técnica pode reduzir significativamente o desempenho de E/S.
Essencialmente, várias respostas ACK podem ser combinadas em uma única resposta, reduzindo a sobrecarga do protocolo. Conforme descrito na RFC 1122, um host pode atrasar o envio de uma resposta ACK em até 500 ms. Além disso, com um fluxo de segmentos de entrada de tamanho padrão, respostas ACK devem ser enviadas para cada segundo segmento.
Importante: O host deve ser reinicializado para que estas configurações tenham efeito. Algumas plataformas (por exemplo, distribuições Linux padrão) não fornecem uma maneira de desativar este recurso. No entanto, o problema foi resolvido com a liberação da versão 7.1 e nenhuma mudança de configuração do host é necessária para gerenciar o comportamento do TcpDelayedAck. - Ative o quadro gigante para iSCSI.
Quadros gigantes são quadros Ethernet com um tamanho que excede 1500 bytes. O parâmetro de unidade máxima de transmissão (MTU) é usado para medir o tamanho dos quadros gigantes.
The sistema suporta MTU de 9000 bytes. Consulte o comando da CLI cfgportip para ativar o quadro gigante. Esse comando é interrompido, pois o link é invertido e a operação de E/S por meio dessa porta é pausado.
A rede deve suportar quadros gigantes de ponta a ponta para entrar em vigor. Envie um pacote de ping a ser entregue sem fragmentação para verificar se a rede suporta quadros gigantes. Por exemplo:- Windows:
ping -t <iscsi target ip> -S <iscsi initiator ip> -f -l <new mtu size - packet overhead (usually 36, might differ)>A seguir está um exemplo de comando usado para verificar se uma MTU de 9000 bytes está configurada corretamente em um sistema Windows 7:
A saída a seguir é um exemplo de resposta bem-sucedida:ping -t -S 192.168.1.117 192.168.1.217 -f -l 8964192.168.1.217: bytes=8964 time=1ms TTL=52 - Linux:
ping -l <source iscsi initatior ip> -s <new mtu size> -M do <iscsi target ip> - ESXi:
ping <iscsi target ip> -I <source iscsi initiator ip> -s <new mtu size - 28> -d
- Windows:
- Verifique a estatística da porta do comutador em que as portas iniciadora/de destino
estão conectadas para certificar-se de que os descartes de pacote não sejam altos.
Revise a arquitetura de rede para evitar quaisquer gargalos e alocações excessivas. A rede precisa ser equilibrada para evitar qualquer descarte de pacote; o descarte de pacote reduz significativamente o desempenho do armazenamento. Envolva o suporte de rede para corrigir quaisquer problemas.
- Otimize e utilize todas as portas iSCSI. Para otimizar a utilização de recurso do sistema, todas as portas iSCSI devem ser usadas.
- Cada porta é designada a uma CPU, e o equilibrar o login, é possível maximizar a utilização
da CPU e alcançar melhor desempenho. Idealmente, configure as sub-redes igual ao número de portas iSCSI no
nó do sistema. Configure cada porta de um nó com um IP em uma sub-rede diferente e mantenha-a a mesma para outros nós. O
exemplo a seguir exibe uma configuração ideal:
Node 1
Port 1: 192.168.1.11
Port 2: 192.168.2.21
Port 3: 192.168.3.31
Node 2:
Port 1: 192.168.1.12
Port 2: 192.168.2.22
Port 3: 192.168.3.33 - Evite situações em que 50 hosts efetuam login na porta 1 e somente cinco hosts efetuam login na porta 2.
- Use a criação de sub-redes apropriada para alcançar um equilíbrio entre o número de sessões e a redundância.
- Cada porta é designada a uma CPU, e o equilibrar o login, é possível maximizar a utilização
da CPU e alcançar melhor desempenho. Idealmente, configure as sub-redes igual ao número de portas iSCSI no
nó do sistema. Configure cada porta de um nó com um IP em uma sub-rede diferente e mantenha-a a mesma para outros nós. O
exemplo a seguir exibe uma configuração ideal:
- Solucione problemas com
configurações do PFC.
Não é necessário ativar o PFC no sistema. O sistema lê o pacote do DCBx (data center bridging exchange) e ativa o PFC para iSCSI automaticamente se ele estiver ativado no comutador. Na saída do comando lsportip, os campos lossless_iscsi e lossless_iscsi6 mostrarão [on/off], dependendo de o PFC estar ou não ativado para iSCSI no sistema.
Se os campos lossless_iscsi e lossless_iscsi6 estiverem mostrando off, o motivo pode ser um dos seguintes:- A VLAN não está configurada para esse IP. Verifique as marcações a seguir:
- Para o tipo de endereço IP IPv4, marque o campo vlan na saída lsportip. Ele não deve estar em branco.
- Para o tipo de endereço IP IPv6, marque o campo vlan_6 na saída lsportip. Ele não deve estar em branco.
- Se os campos vlan e vlan_6 estiverem em branco, use o Configurando a VLAN para iSCSI para configurar a VLAN para o tipo de IP.
- O sinalizador do host não está configurado para esse IP. Verifique as marcações a seguir:
- Para o tipo de endereço IP IPv4, marque o campo host na saída lsportip. Ele deve ser yes.
- Para o tipo de endereço IP IPv6, marque o campo host_6 na saída lsportip. Ele deve ser yes.
- Se os campos host e host_6 não forem yes, use o comando cfgportip da CLI para configurar a sinalização do host para o tipo de IP.
- O PFC não está configurado adequadamente no comutador.
Se a VLAN estiver configurada adequadamente e o sinalizador do host também estiver configurado, mas o campo lossless_iscsi ou lossless_iscsi6 ainda estiver mostrando off, algumas configurações do comutador podem estar ausentes ou incorretas.
Verifique as configurações a seguir no comutador:
- A identificação de prioridade está configurada para o tráfego de iSCSI.
- O PFC está ativado para a identificação de prioridade que está designada ao iSCSI CoS.
- O DCBx está ativado no comutador.
Verifique a documentação apropriada:- Consulte a documentação para ativar o PFC no comutador específico.
- Consulte a documentação para ativar o PFC nos hosts do Red Hat Enterprise Linux (RHEL) e do Windows específicos de sua configuração.
- A VLAN não está configurada para esse IP. Verifique as marcações a seguir:
- Assegure-se de que a largura de banda adequada
seja fornecida ao iSCSI na rede.
É possível dividir a largura de banda entre os vários tipos de tráfego. É importante designar a largura de banda adequada para um bom desempenho. Para designar a largura de banda para o tráfego de iSCSI, é necessário primeiro ativar o priority flow control para iSCSI.