Compartilhar via


Otimizar o desempenho do seu Elastic SAN

Este artigo fornece algumas diretrizes gerais sobre como obter um desempenho ideal com um ambiente que usa uma Elastic SAN do Azure.

Otimizações do lado do cliente

Recomendações gerais (Windows e Máquinas Virtuais do Linux)

  • Para obter o melhor desempenho, implante suas VMs e a Elastic SAN na mesma zona e na mesma região.

  • A E/S de armazenamento de VM para volumes de Elastic SAN usa largura de banda de rede de VM, portanto, os limites de taxa de transferência de disco tradicionais em uma VM não se aplicam a volumes de Elastic SAN. Escolha uma VM que possa fornecer largura de banda suficiente para produção/E/S de VM para VM e E/S iSCSI para volumes de Elastic SAN anexados. Em geral, você deve usar VMs Gen 5 (série D/E/M) para obter o melhor desempenho.

  • Habilite a "Rede Acelerada" na VM durante a criação da VM. Para fazer isso por meio do Azure PowerShell ou da CLI do Azure ou para habilitar a Rede Acelerada em VMs existentes, consulte Usar o Azure PowerShell para criar uma VM com Rede Acelerada

Captura de tela do fluxo de criação da VM, habilitar a rede acelerada realçada.

  • Você deve usar 32 sessões por volume de destino para cada volume para atingir seus limites máximos de IOPS e/ou taxa de transferência. Use MPIO (E/S Multipath) no cliente para gerenciar essas várias sessões para cada volume para balanceamento de carga. Os scripts estão disponíveis para Windows, Linux ou na página Conectar ao volume para seus volumes no portal do Azure, que usa 32 sessões por padrão. O iniciador iSCSI de software do Windows tem um limite máximo de 256 sessões. Se você precisar conectar mais de oito volumes a uma VM do Windows, reduza o número de sessões para cada volume conforme necessário.

MPIO

Windows

Use os seguintes comandos para atualizar suas configurações:

# Enable multipath support for iSCSI devices
Enable-MSDSMAutomaticClaim -BusType iSCSI

# Set the default load balancing policy based on your requirements. In this example, we set it to round robin which should be optimal for most workloads.
mpclaim -L -M 2

# Set disk time out to 30 seconds
Set-MPIOSetting -NewDiskTimeout 30

Para obter mais informações relativas aos cmdlets de MPIO, confira a referência de MPIO.

Linux

Atualize o arquivo /etc/multipath.conf com o seguinte:

defaults {
    user_friendly_names yes		# To create ‘mpathn’ names for multipath devices
    path_grouping_policy multibus	# To place all the paths in one priority group
    path_selector "round-robin 0"	# To use round robin algorithm to determine path for next I/O operation
    failback immediate			# For immediate failback to highest priority path group with active paths
    no_path_retry 1			# To disable I/O queueing after retrying once when all paths are down
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

iSCSI

Windows

Atualize as configurações abaixo do Registro para o iniciador iSCSI no Windows.

  1. Abra o Editor do Registro:
  2. Selecione Iniciar, digite regedit na caixa de pesquisa e pressione Enter.
  3. Navegue até o seguinte local: [\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e97b-e325-11ce-bfc1-08002be10318}\0004 (Microsoft iSCSI Initiator)\Parameters]
  4. Atualize as seguintes configurações. Clique com o botão direito do mouse em cada configuração e selecione Modificar. Altere Base para Decimal, atualize o valor e selecione OK.
Descrição Parâmetro e valor
Define o máximo de dados que o iniciador envia em uma PDU iSCSI para o destino para 256 KB MaxTransferLength=262144
Define o conteúdo máximo de SCSI que o iniciador negocia com o destino como 256 KB MaxBurstLength=262144
Define o máximo de dados não solicitados que o iniciador pode enviar em uma PDU iSCSI para um destino de 256 KB FirstBurstLength=262144
Define o máximo de dados que o iniciador pode receber em uma PDU iSCSI do destino para 256 KB MaxRecvDataSegmentLength=262144
Desabilita o controle de fluxo R2T InitialR2T=0
Habilita dados imediatos ImmediateData=1
Define o valor do tempo limite para solicitações WMI como 30 segundos WMIRequestTimeout = 30 segundos
Define o valor do tempo limite para o tempo de inatividade de link como 30 segundos LinkDownTime = 30 segundos

Nas configurações de cluster, verifique se os nomes do iniciador iSCSI são exclusivos em todos os nós que estão compartilhando volumes. No Windows, você pode atualizá-los por meio do aplicativo iniciador iSCSI.

  1. Selecione Iniciar, pesquise o Iniciador iSCSI na caixa de pesquisa. Isso abre o Iniciador iSCSI.

  2. Selecione Configuração para ver o nome do iniciador atual.

    Captura de tela da configuração do Iniciador iSCSI no Windows.

  3. Para modificá-lo, selecione Alterar, insira o novo nome do iniciador e selecione OK.

    Captura de tela da atualização do nome do iniciador iSCSI no Windows.

Linux

Atualize as configurações a seguir com valores recomendados no arquivo de configuração iSCSI global (iscsid.conf, geralmente encontrado no diretório /etc/iscsi) no cliente antes de conectar qualquer volume a ele. Quando um volume é conectado, um nó é criado junto com um arquivo de configuração específico para esse nó (por exemplo, no Ubuntu, ele pode ser encontrado em /etc/iscsi/nós/$volume_iqn/portal_hostname,$port diretório) herdando as configurações do arquivo de configuração global. Se você já tiver conectado um ou mais volumes ao cliente antes de atualizar o arquivo de configuração global, atualize o arquivo de configuração específico do nó para cada volume diretamente ou usando o seguinte comando:

sudo iscsiadm -m node -T $volume_iqn -p $portal_hostname:$port -o update -n $iscsi_setting_name -v $setting_value

Where

  • $volume_iqn: IQN do volume de Elastic SAN
  • $portal_hostname: nome do host do portal de volume de Elastic SAN
  • $port: 3260
  • $iscsi_setting_name: parâmetro para cada configuração listada abaixo
  • $setting_value: valor recomendado para cada configuração abaixo
Descrição Parâmetro e valor
# Defina os dados máximos que o iniciador envia em uma PDU iSCSI para o destino para 256 KB node.conn[0].iscsi. MaxXmitDataSegmentLength = 262144
# Defina o conteúdo máximo de SCSI que o iniciador negocia com o destino como 256 KB node.session.iscsi.MaxBurstLength = 262144
# Defina o máximo de dados não solicitados que o iniciador pode enviar em uma PDU iSCSI para um destino de 256 KB node.session.iscsi.FirstBurstLength = 262144
# Defina os dados máximos que o iniciador pode receber em uma PDU iSCSI do destino para 256 KB node.conn[0].iscsi. MaxRecvDataSegmentLength = 262144
# Desabilitar controle de fluxo R2T node.session.iscsi.InitialR2T = No
# Habilitar dados imediatos node.session.iscsi.ImmediateData = Yes
# Definir o valor do tempo limite para solicitações WMI node.conn[0].timeo.login_timeout = 30

node.conn[0].timeo.logout_timeout = 15
# Habilitar a verificação de resumo do CRC para dados e cabeçalho node.conn[0].iscsi. HeaderDigest = CRC32C

node.conn[0].iscsi. DataDigest = CRC32C

Nas configurações de cluster, verifique se os nomes do iniciador iSCSI são exclusivos em todos os nós que estão compartilhando volumes. No Linux, você pode modificar /etc/iscsi/initiatorname.iscsi para atualizar o nome do iniciador. Captura de tela atualizando o nome do iniciador iSCSI no Linux.

Otimizações do Elastic SAN

Antes de implantar uma Elastic SAN, determinar o tamanho ideal da Elastic SAN implantada é necessário para alcançar o equilíbrio certo de desempenho para suas cargas de trabalho e custo. Use as seguintes etapas para determinar o melhor dimensionamento para você:

Com a solução de armazenamento existente, selecione um intervalo de tempo (dia/semana/trimestre) para acompanhar o desempenho. O melhor intervalo de tempo é aquele que é um bom instantâneo de seus aplicativos/cargas de trabalho. Durante esse período de tempo, registre o IOPS máximo combinado e a taxa de transferência para todas as cargas de trabalho. Se você usar um intervalo maior que um minuto ou se qualquer uma de suas cargas de trabalho tiver gargalos com sua configuração atual, considere adicionar mais capacidade base à sua implantação do Elastic SAN. Você deve deixar algum espaço na cabeça ao determinar sua capacidade base, para considerar o crescimento. O restante do armazenamento da Elastic SAN deve usar capacidade adicional para economizar em custos.

Para obter mais informações sobre desempenho, confira Desempenho do Elastic SAN e da máquina virtual.