Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Neste artigo, gostaria de falar sobre os recursos dos arrays All Flash AccelStor que funcionam com uma das plataformas de virtualização mais populares - VMware vSphere. Em particular, concentre-se nos parâmetros que o ajudarão a obter o máximo efeito do uso de uma ferramenta tão poderosa como o All Flash.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

AccelStor NeoSapphire™ Todos os arrays Flash são um ou двух dispositivos de nó baseados em unidades SSD com uma abordagem fundamentalmente diferente para implementar o conceito de armazenamento de dados e organizar o acesso a eles usando tecnologia proprietária FlexiRemap® em vez dos algoritmos RAID muito populares. Os arrays fornecem acesso em bloco aos hosts por meio de interfaces Fibre Channel ou iSCSI. Para ser justo, notamos que os modelos com interface ISCSI também têm acesso a arquivos como um bom bônus. Mas neste artigo vamos nos concentrar no uso de protocolos de bloco como os mais produtivos para All Flash.

Todo o processo de implantação e posterior configuração da operação conjunta do array AccelStor e do sistema de virtualização VMware vSphere pode ser dividido em várias etapas:

  • Implementação de topologia de conexão e configuração de rede SAN;
  • Configurando a matriz All Flash;
  • Configurando hosts ESXi;
  • Configurando máquinas virtuais.

Os arrays AccelStor NeoSapphire™ Fibre Channel e os arrays iSCSI foram usados ​​como hardware de amostra. O software básico é VMware vSphere 6.7U1.

Antes de implantar os sistemas descritos neste artigo, é altamente recomendável que você leia a documentação da VMware sobre problemas de desempenho (Práticas recomendadas de desempenho para VMware vSphere 6.7 ) e configurações de iSCSI (Melhores práticas para executar o VMware vSphere em iSCSI)

Topologia de conexão e configuração de rede SAN

Os principais componentes de uma rede SAN são HBAs em hosts ESXi, switches SAN e nós de array. Uma topologia típica para tal rede seria assim:

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

O termo Switch aqui se refere a um switch físico separado ou conjunto de switches (Fabric) e a um dispositivo compartilhado entre diferentes serviços (VSAN no caso de Fibre Channel e VLAN no caso de iSCSI). O uso de dois switches/tecidos independentes eliminará um possível ponto de falha.

A conexão direta de hosts ao array, embora suportada, não é altamente recomendada. O desempenho dos arrays All Flash é bastante alto. E para velocidade máxima, todas as portas do array devem ser usadas. Portanto, é obrigatória a presença de pelo menos um switch entre os hosts e o NeoSapphire™.

A presença de duas portas no HBA host também é um requisito obrigatório para atingir desempenho máximo e garantir tolerância a falhas.

Ao usar uma interface Fibre Channel, o zoneamento deve ser configurado para eliminar possíveis colisões entre iniciadores e destinos. As zonas são construídas com base no princípio de “uma porta inicializadora – uma ou mais portas de array”.

Se você usar uma conexão via iSCSI no caso de usar um switch compartilhado com outros serviços, é imperativo isolar o tráfego iSCSI dentro de uma VLAN separada. Também é altamente recomendável habilitar o suporte para Jumbo Frames (MTU = 9000) para aumentar o tamanho dos pacotes na rede e, assim, reduzir a quantidade de informações de sobrecarga durante a transmissão. Porém, vale lembrar que para o correto funcionamento é necessário alterar o parâmetro MTU em todos os componentes da rede ao longo da cadeia “iniciador-switch-alvo”.

Configurando toda a matriz Flash

A matriz é entregue aos clientes com grupos já formados FlexiRemap®. Portanto, nenhuma ação precisa ser tomada para combinar os drives em uma única estrutura. Você só precisa criar volumes com o tamanho e a quantidade necessários.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Por conveniência, existe a funcionalidade de criação em lote de vários volumes de um determinado tamanho de uma só vez. Por padrão, são criados volumes finos, pois isso permite um uso mais eficiente do espaço de armazenamento disponível (incluindo suporte para recuperação de espaço). Em termos de desempenho, a diferença entre volumes “finos” e “grossos” não ultrapassa 1%. No entanto, se você quiser “espremer todo o suco” de uma matriz, você sempre pode converter qualquer volume “fino” em um “grosso”. Mas deve ser lembrado que tal operação é irreversível.

Em seguida, resta “publicar” os volumes criados e definir direitos de acesso a eles a partir dos hosts usando ACLs (endereços IP para iSCSI e WWPN para FC) e separação física por portas de array. Para modelos iSCSI, isso é feito criando um Target.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Para modelos FC, a publicação ocorre através da criação de um LUN para cada porta do array.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Para acelerar o processo de configuração, os hosts podem ser combinados em grupos. Além disso, se o host usar um HBA FC multiporta (o que acontece com mais frequência na prática), o sistema determinará automaticamente que as portas desse HBA pertencem a um único host, graças aos WWPNs que diferem em um. A criação em lote de Target/LUN também é suportada para ambas as interfaces.

Uma observação importante ao usar a interface iSCSI é criar vários destinos para volumes de uma só vez para aumentar o desempenho, já que a fila no destino não pode ser alterada e será efetivamente um gargalo.

Configurando hosts ESXi

No lado do host ESXi, a configuração básica é realizada de acordo com um cenário totalmente esperado. Procedimento para conexão iSCSI:

  1. Adicionar Adaptador iSCSI de Software (não necessário se já tiver sido adicionado ou se você estiver usando Adaptador iSCSI de Hardware);
  2. Criar um vSwitch através do qual o tráfego iSCSI passará e adicionar um uplink físico e VMkernal a ele;
  3. Adicionando endereços de array ao Dynamic Discovery;
  4. Criação de armazenamento de dados

Algumas notas importantes:

  • No caso geral, é claro, você pode usar um vSwitch existente, mas no caso de um vSwitch separado, será muito mais fácil gerenciar as configurações do host.
  • É necessário separar o tráfego de gerenciamento e iSCSI em links físicos e/ou VLANs separados para evitar problemas de desempenho.
  • Os endereços IP do VMkernal e as portas correspondentes do array All Flash devem estar na mesma sub-rede, novamente devido a problemas de desempenho.
  • Para garantir a tolerância a falhas de acordo com as regras da VMware, o vSwitch deve ter pelo menos dois uplinks físicos
  • Se Jumbo Frames forem usados, você precisará alterar o MTU do vSwitch e do VMkernal
  • Seria útil lembrar que de acordo com as recomendações da VMware para adaptadores físicos que serão utilizados para trabalhar com tráfego iSCSI, é necessário configurar Teaming e Failover. Em particular, cada VMkernal deve funcionar através de apenas um uplink, o segundo uplink deve ser alternado para o modo não utilizado. Para tolerância a falhas, você precisa adicionar dois VMkernals, cada um dos quais funcionará através de seu próprio uplink.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Adaptador VMkernel (vmk#)
Adaptador de rede física (vmnic#)

vmk1 (Armazenamento01)
Adaptadores ativos
vmnic2
Adaptadores não utilizados
vmnic3

vmk2 (Armazenamento02)
Adaptadores ativos
vmnic3
Adaptadores não utilizados
vmnic2

Nenhuma etapa preliminar é necessária para conectar via Fibre Channel. Você pode criar imediatamente um Datastore.

Depois de criar o armazenamento de dados, você precisa garantir que a política Round Robin para caminhos para o destino/LUN seja usada como a de melhor desempenho.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Por padrão, as configurações do VMware permitem o uso desta política de acordo com o esquema: 1000 solicitações pelo primeiro caminho, as próximas 1000 solicitações pelo segundo caminho, etc. Essa interação entre o host e o array de dois controladores será desequilibrada. Portanto, recomendamos definir o parâmetro Round Robin policy = 1 via Esxcli/PowerCLI.

Parâmetros

Para Esxcli:

  • Listar LUNs disponíveis

lista de dispositivos nmp de armazenamento esxcli

  • Copiar nome do dispositivo
  • Alterar a política Round Robin

esxcli armazenamento nmp psp roundrobin deviceconfig set —type=iops —iops=1 —device=“Device_ID”

A maioria dos aplicativos modernos são projetados para trocar grandes pacotes de dados para maximizar a utilização da largura de banda e reduzir a carga da CPU. Portanto, por padrão, o ESXi emite solicitações de E/S para o dispositivo de armazenamento em blocos de até 32767 KB. No entanto, para alguns cenários, a troca de pedaços menores será mais produtiva. Para matrizes AccelStor, estes são os seguintes cenários:

  • A máquina virtual usa UEFI em vez de BIOS legado
  • Usa replicação do vSphere

Para tais cenários, é recomendado alterar o valor do parâmetro Disk.DiskMaxIOSize para 4096.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Para conexões iSCSI, é recomendado alterar o parâmetro Login Timeout para 30 (padrão 5) para aumentar a estabilidade da conexão e desabilitar o atraso DelayedAck para confirmações de pacotes encaminhados. Ambas as opções estão no vSphere Client: Host → Configurar → Armazenamento → Adaptadores de armazenamento → Opções avançadas para adaptador iSCSI

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

Um ponto bastante sutil é o número de volumes usados ​​para o armazenamento de dados. É claro que, para facilitar o gerenciamento, existe o desejo de criar um grande volume para todo o volume do array. No entanto, a presença de vários volumes e, consequentemente, do armazenamento de dados tem um efeito benéfico no desempenho geral (mais sobre filas abaixo). Portanto, recomendamos a criação de pelo menos dois volumes.

Até há relativamente pouco tempo, a VMware aconselhava limitar o número de máquinas virtuais num armazenamento de dados, novamente para obter o melhor desempenho possível. Porém, agora, especialmente com a disseminação da VDI, esse problema não é mais tão grave. Mas isso não cancela a regra de longa data – distribuir máquinas virtuais que exigem IO intensivo em diferentes datastores. Para determinar o número ideal de máquinas virtuais por volume, nada melhor do que teste de carga do array All Flash AccelStor dentro de sua infraestrutura.

Configurando máquinas virtuais

Não há requisitos especiais ao configurar máquinas virtuais, ou melhor, são bastante comuns:

  • Usando a versão de VM mais alta possível (compatibilidade)
  • É mais cuidadoso definir o tamanho da RAM ao colocar máquinas virtuais densamente, por exemplo, em VDI (já que por padrão, na inicialização, é criado um arquivo de paginação de tamanho proporcional à RAM, que consome capacidade útil e afeta o desempenho final)
  • Use as versões de adaptadores mais produtivas em termos de IO: tipo de rede VMXNET 3 e tipo SCSI PVSCSI
  • Use o tipo de disco Thick Provision Eager Zeroed para desempenho máximo e Thin Provisioning para utilização máxima do espaço de armazenamento
  • Se possível, limite a operação de máquinas não críticas de E/S usando Virtual Disk Limit
  • Certifique-se de instalar o VMware Tools

Notas sobre filas

Fila (ou E/S pendentes) é o número de solicitações de entrada/saída (comandos SCSI) que estão aguardando processamento a qualquer momento para um dispositivo/aplicativo específico. Em caso de estouro da fila, são emitidos erros QFULL, o que acaba resultando em um aumento no parâmetro de latência. Ao usar sistemas de armazenamento em disco (spindle), teoricamente, quanto maior a fila, maior será seu desempenho. No entanto, você não deve abusar dele, pois é fácil encontrar o QFULL. No caso dos sistemas All Flash, por um lado, tudo é um pouco mais simples: afinal, o array tem latências muito menores e, portanto, na maioria das vezes, não há necessidade de regular separadamente o tamanho das filas. Mas, por outro lado, em alguns cenários de uso (forte distorção nos requisitos de IO para máquinas virtuais específicas, testes de desempenho máximo, etc.) é necessário, se não alterar os parâmetros das filas, pelo menos entender quais indicadores pode ser alcançado e, o principal é de que forma.

No próprio array AccelStor All Flash não há limites em relação a volumes ou portas de E/S. Se necessário, até mesmo um único volume pode receber todos os recursos do array. A única limitação da fila é para destinos iSCSI. É por esta razão que foi indicada acima a necessidade de criar vários alvos (idealmente até 8 peças) para cada volume para ultrapassar este limite. Repitamos também que os arrays AccelStor são soluções muito produtivas. Portanto, você deve usar todas as portas de interface do sistema para atingir a velocidade máxima.

Do lado do host ESXi, a situação é completamente diferente. O próprio anfitrião aplica a prática de igualdade de acesso aos recursos para todos os participantes. Portanto, há filas de E/S separadas para o sistema operacional convidado e o HBA. As filas para o sistema operacional convidado são combinadas a partir das filas para o adaptador SCSI virtual e o disco virtual:

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

A fila para o HBA depende do tipo/fornecedor específico:

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

O desempenho final da máquina virtual será determinado pelo limite mais baixo de Profundidade da Fila entre os componentes do host.

Graças a estes valores podemos avaliar os indicadores de desempenho que podemos obter numa determinada configuração. Por exemplo, queremos saber o desempenho teórico de uma máquina virtual (sem block binding) com latência de 0.5ms. Então seu IOPS = (1,000/latência) * E/S pendentes (limite de profundidade da fila)

Примеры

Exemplo 1

  • Adaptador FC Emulex HBA
  • Uma VM por armazenamento de dados
  • Adaptador SCSI paravirtual VMware

Aqui, o limite de profundidade da fila é determinado pelo Emulex HBA. Portanto IOPS = (1000/0.5)*32 = 64K

Exemplo 2

  • Adaptador de software VMware iSCSI
  • Uma VM por armazenamento de dados
  • Adaptador SCSI paravirtual VMware

Aqui o limite de profundidade da fila já está determinado pelo adaptador Paravirtual SCSI. Portanto IOPS = (1000/0.5)*64 = 128K

Principais modelos de arrays All Flash AccelStor (por exemplo, P710) são capazes de fornecer desempenho de gravação de 700K IOPS em blocos de 4K. Com esse tamanho de bloco, é bastante óbvio que uma única máquina virtual não é capaz de carregar tal array. Para fazer isso, você precisará de 11 (por exemplo, 1) ou 6 (por exemplo, 2) máquinas virtuais.

Como resultado, com a configuração correta de todos os componentes descritos de um data center virtual, você pode obter resultados impressionantes em termos de desempenho.

Recomendações para configurar o AFA AccelStor ao trabalhar com VMware vSphere

4K aleatório, 70% de leitura/30% de gravação

Na verdade, o mundo real é muito mais complexo do que pode ser descrito com uma fórmula simples. Um host sempre hospeda várias máquinas virtuais com diferentes configurações e requisitos de E/S. E o processamento de E/S é feito pelo processador host, cujo poder não é infinito. Então, para desbloquear todo o potencial do mesmo Modelos P710 na realidade, você precisará de três hosts. Além disso, os aplicativos executados em máquinas virtuais fazem seus próprios ajustes. Portanto, para um dimensionamento preciso, oferecemos usar verificação em modelos de teste Todas as matrizes Flash AccelStor dentro da infraestrutura do cliente em tarefas atuais reais.

Fonte: habr.com

Adicionar um comentário