Partilhar via


Otimize o desempenho de sua SAN elástica

Este artigo fornece algumas orientações gerais sobre como obter o desempenho ideal com um ambiente que usa uma SAN elástica do Azure.

Otimizações do lado do cliente

Recomendações gerais (Windows & Linux Virtual Machines)

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

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

  • Habilite "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 de VM, habilitar rede acelerada realçado.

  • 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 Multipath I/O (MPIO) 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 do software 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 sobre cmdlets MPIO, consulte Referência 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 do Registro abaixo 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.
Description Parâmetro e valor
Define o máximo de dados que o iniciador envia em uma PDU iSCSI para o destino como 256 KB MaxTransferLength=262144
Define a carga máxima 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 como 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 InicialR2T=0
Permite dados imediatos ImmediateData=1
Define o valor de tempo limite para solicitações WMI para 30 segundos WMIRequestTimeout = 30 segundos
Define o valor de tempo limite para o tempo de inatividade do link para 30 segundos LinkDownTime = 30 segundos

Em configurações de cluster, certifique-se de que os nomes dos iniciadores iSCSI sejam exclusivos em todos os nós que compartilham volumes. No Windows, você pode atualizá-los por meio do aplicativo Iniciador iSCSI.

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

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

    Captura de ecrã 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 ecrã a mostrar a atualização do Nome do Iniciador iSCSI no Windows.

Linux

Atualize as seguintes configurações com os valores recomendados no arquivo de configuração iSCSI global (iscsid.conf, geralmente encontrado no diretório /etc/iscsi) no cliente antes de conectar quaisquer volumes 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 no diretório /etc/iscsi/nodes/$volume_iqn/portal_hostname,$port) 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

Onde

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

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

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

Em configurações de cluster, verifique se os nomes dos iniciadores iSCSI são exclusivos em todos os nós que compartilham 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 de SAN elástica

Antes de implantar uma SAN elástica, é necessário determinar o tamanho ideal da SAN elástica implantada 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 sua 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 superior a um minuto ou se alguma de suas cargas de trabalho tiver gargalos com sua configuração atual, considere adicionar mais capacidade básica à implantação do Elastic SAN. Você deve deixar algum espaço livre ao determinar sua capacidade de base, para levar em conta o crescimento. O restante do armazenamento do Elastic SAN deve usar capacidade adicional para economizar custos.

Para obter mais informações sobre desempenho, consulte SAN elástica e desempenho de máquina virtual.