Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Neste artigo, gostaria de discutir as características da operação dos arrays All Flash AccelStor com uma das plataformas de virtualização mais populares – VMware vSphere. Em particular, gostaria de destacar aqueles parâmetros que ajudarão a obter o máximo efeito do uso de uma ferramenta tão poderosa como o All Flash.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Os arrays All Flash AccelStor NeoSapphire™ são um ou dois dispositivos de duas unidades baseados em SSD com uma abordagem fundamentalmente diferente na implementação do conceito de armazenamento de dados e na organização do acesso a eles, usando sua própria tecnologia FlexiRemap® em vez dos bastante populares algoritmos RAID. Os arrays oferecem acesso em bloco para hosts através das interfaces Fibre Channel ou iSCSI. Para ser justo, vale destacar que os modelos com interface iSCSI também têm acesso a arquivo como um bônus agradável. Mas, neste artigo, vamos focar na aplicação de protocolos de bloco, que são os mais produtivos para All Flash.

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

  • Implementação da topologia de conexão e configuração da rede SAN;
  • Configuração do array All Flash;
  • Configuração dos hosts ESXi;
  • Configuração das máquinas virtuais.

Como equipamento para os exemplos, foram utilizados os arrays AccelStor NeoSapphire™ com interface Fibre Channel e com interface iSCSI. Como software básico – VMware vSphere 6.7U1.

Antes da implementação dos sistemas descritos no artigo, é altamente recomendável consultar a documentação da VMware sobre questões de desempenho (Melhores Práticas de Desempenho para VMware vSphere 6.7 ) e configurações iSCSI (Melhores Práticas para Executar VMware vSphere Sobre iSCSI)

Topologia de Conexão e Configuração da Rede SAN

Os componentes principais da rede SAN são os adaptadores HBA nos hosts ESXi, os switches SAN e os nós do array. A topologia típica dessa rede será parecida com isto:

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Por Switch entende-se tanto um switch físico separado ou um conjunto de switches (Fabric), quanto um dispositivo compartilhado entre diferentes serviços (VSAN no caso do Fibre Channel e VLAN no caso do iSCSI). O uso de dois switches/Fabric independentes eliminará um possível ponto de falha.

A conexão direta dos hosts ao array, embora suportada, é altamente desencorajada. O desempenho dos arrays All Flash é bastante elevado e, para alcançar a máxima velocidade, todos os ports do array devem ser utilizados. Portanto, a presença de pelo menos um switch entre os hosts e o NeoSapphire™ é obrigatória.

A presença de duas portas no HBA do host também é um requisito obrigatório para alcançar o máximo desempenho e garantir a alta disponibilidade.

Em caso de uso da interface Fibre Channel, é necessário configurar o zoning para evitar possíveis colisões entre iniciadores e alvos. As zonas são construídas com base no princípio "um port do iniciador - um ou vários ports do array".

Se a conexão for feita via iSCSI utilizando um switch compartilhado com outros serviços, é imprescindível isolar o tráfego iSCSI dentro de um VLAN separado. Além disso, é altamente recomendado ativar o suporte a Jumbo Frames (MTU = 9000) para aumentar o tamanho dos pacotes na rede, reduzindo assim a quantidade de informações de controle durante a transmissão. No entanto, é importante lembrar que, para o funcionamento correto, é necessário alterar o parâmetro MTU em todos os componentes da rede na cadeia "iniciador-switch-alvo".

Configuração do array All Flash

O array é fornecido aos clientes já com grupos formados FlexiRemap®. Portanto, não são necessárias ações para unir os dispositivos em uma estrutura única. Basta criar volumes do tamanho e quantidade necessários.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Para conveniência, há uma funcionalidade de criação em lote de vários volumes de tamanho específico simultaneamente. Por padrão, são criados volumes "finos", pois isso permite um uso mais eficiente do espaço de armazenamento disponível (inclusive devido ao suporte a Space Reclamation). Em termos de desempenho, a diferença entre volumes "finos" e "grossos" não ultrapassa 1%. No entanto, se for necessário "extrair o máximo" do array, qualquer volume "fino" pode ser convertido em "grosso". Porém, deve-se ter em mente que essa operação é irreversível.

Em seguida, é necessário "publicar" os volumes criados e definir os direitos de acesso a eles por parte dos hosts utilizando ACL (endereços IP para iSCSI e WWPN para FC) e separação física por portas do array. Para modelos iSCSI, isso é feito através da criação de Target.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

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

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Para acelerar o processo de configuração, os hosts podem ser agrupados. Além disso, se o host utiliza um HBA FC de múltiplas portas (o que na prática é o mais comum), o sistema automaticamente reconhece que as portas desse HBA pertencem a um único host devido ao WWPN, que difere em uma unidade. O suporte à criação em lote de Target/LUN é mantido para ambas as interfaces.

Uma observação importante ao usar a interface iSCSI é a criação de vários targets para os volumes, a fim de aumentar o desempenho, uma vez que a fila em um target não pode ser alterada, tornando-o, na prática, um gargalo.

Configuração de hosts ESXi

Do lado dos hosts ESXi, a configuração básica é realizada conforme um cenário bastante esperado. A sequência de ações para a conexão iSCSI é:

  1. Adicionar Software iSCSI Adapter (não necessário se já estiver adicionado ou no caso de uso de Hardware iSCSI Adapter);
  2. Criar vSwitch, através do qual o tráfego iSCSI será transmitido, e adicionar uplinks físicos e VMkernel a ele;
  3. Adicionar os endereços do array em Dynamic Discovery;
  4. Criar Datastore

Algumas observações importantes:

  • De um modo geral, é possível usar um vSwitch já existente, mas no caso de um vSwitch separado, a gestão das configurações do host será significativamente mais fácil.
  • É necessário separar o tráfego de Management e iSCSI em links físicos e/ou VLANs distintos para evitar problemas de desempenho.
  • Os endereços IP do VMkernel e das portas correspondentes do array All Flash devem estar na mesma sub-rede também por questões de desempenho.
  • Para garantir alta disponibilidade, de acordo com as regras da VMware, o vSwitch deve ter pelo menos dois uplinks físicos.
  • Se Jumbo Frames forem utilizados, é necessário alterar o MTU tanto no vSwitch quanto no VMkernel.
  • É importante lembrar que, de acordo com as recomendações da VMware para adaptadores físicos que serão usados para trabalhar com o tráfego iSCSI, é necessário configurar o Teaming and Failover. Em particular, cada VMkernel deve operar apenas através de um uplink, enquanto o segundo uplink deve ser colocado no modo unused. Para garantir a continuidade do serviço, é necessário adicionar dois VMkernals, cada um operando através de seu próprio uplink.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Adaptador VMkernel (vmk#)
Adaptador de Rede Física (vmnic#)

vmk1 (Storage01)
Adaptadores Ativos
vmnic2
Adaptadores Não Utilizados
vmnic3

vmk2 (Storage02)
Adaptadores Ativos
vmnic3
Adaptadores Não Utilizados
vmnic2

Para conexões via Fibre Channel, nenhuma ação preliminar é necessária. Você pode criar o Datastore imediatamente.

Após a criação do Datastore, é essencial garantir que a política Round Robin esteja sendo utilizada para os caminhos ao Target/LUN, pois é a mais eficiente.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Por padrão, as configurações da VMware usam essa política de forma que: 1000 solicitações sejam feitas através do primeiro caminho, as próximas 1000 solicitações através do segundo caminho, e assim por diante. Essa interação do host com um array de dois controladores resultaria em um desequilíbrio. Portanto, sugerimos definir o parâmetro Round Robin policy = 1 através do Esxcli/PowerCLI.

Parâmetros

Para Esxcli:

  • Listar LUNs disponíveis

esxcli storage nmp device list

  • Copiar o Nome do Dispositivo
  • Alterar a Política de Round Robin

esxcli storage nmp psp roundrobin deviceconfig set —type=iops —iops=1 —device="Device_ID"

A maioria das aplicações modernas é projetada para trocar pacotes de dados de grande tamanho, a fim de maximizar a utilização da largura de banda e reduzir a carga no processador central. Portanto, o ESXi, por padrão, envia solicitações de entrada/saída ao dispositivo de armazenamento em partes de até 32767KB. No entanto, para uma série de cenários, a troca de partes menores será mais eficiente. Em relação aos arrays AccelStor, os seguintes cenários se aplicam:

  • A máquina virtual utiliza UEFI em vez de Legacy BIOS
  • Utiliza vSphere Replication

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

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Para conexões iSCSI, é aconselhável alterar o parâmetro Login Timeout para 30 (o padrão é 5) para aumentar a estabilidade da conexão e desabilitar o atraso na confirmação de pacotes enviados DelayedAck. Ambas as opções estão no vSphere Client: Host → Configure → Storage → Storage Adapters → Advanced Options para o adaptador iSCSI.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere
Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

Um ponto importante é a quantidade de volumes utilizados para o datastore. É compreensível que, para facilitar a gestão, haja o desejo de criar um grande volume para todo o conjunto. No entanto, ter vários volumes e, consequentemente, datastores beneficia a performance geral (mais detalhes sobre filas logo abaixo no texto). Portanto, recomendamos a criação de pelo menos dois volumes.

Ainda há pouco tempo, a VMware aconselhava a limitar o número de máquinas virtuais em um datastore novamente com o objetivo de obter o máximo possível de desempenho. No entanto, agora, especialmente com a popularização do VDI, esse problema não é tão crítico. Mas isso não elimina a regra antiga — distribuir máquinas virtuais que exigem IO intenso entre diferentes datastores. Para determinar a quantidade ideal de VMs em um único volume, não há nada melhor do que realizar testes de carga do array All Flash AccelStor dentro de sua infraestrutura.

Configuração de máquinas virtuais

Ao configurar máquinas virtuais, não há requisitos específicos, ou melhor, eles são bastante comuns:

  • Utilizar a versão máxima compatível da VM (compatibility)
  • Cuidado ao definir o tamanho da RAM ao colocar máquinas virtuais de forma densa, por exemplo, em VDI (pois por padrão, ao iniciar, um arquivo de paginação equivalente ao tamanho da RAM é criado, o que consome espaço útil e afeta o desempenho final)
  • Utilizar as versões de adaptadores mais eficientes em termos de IO: rede do tipo VMXNET 3 e SCSI do tipo PVSCSI
  • Usar o tipo de disco Thick Provision Eager Zeroed para máxima performance e Thin Provisioning para o uso mais eficiente do espaço de armazenamento
  • Sempre que possível, limitar o trabalho de máquinas não críticas ao IO através do Virtual Disk Limit
  • Instalar obrigatoriamente o VMware Tools

Observações sobre filas

A fila (ou Outstanding I/Os) é o número de solicitações de entrada/saída (comandos SCSI) que aguardam processamento em um determinado momento para um dispositivo/aplicativo específico. Se a fila estiver cheia, é gerada uma mensagem de erro QFULL, o que, por fim, resulta no aumento do parâmetro de latência. Ao utilizar sistemas de armazenamento em disco (com discos giratórios), teoricamente quanto maior a fila, maior será seu desempenho. No entanto, não é aconselhável exagerar, pois é fácil acabar enfrentando QFULL. No caso de sistemas All Flash, por um lado, tudo é um pouco mais simples: já que a matriz tem latências consideravelmente mais baixas, muitas vezes não é necessário regular separadamente o tamanho das filas. Mas, por outro lado, em alguns cenários de uso (grande disparidade nas demandas 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 podem ser alcançados e, principalmente, de que maneiras.

No próprio array All Flash da AccelStor, não existem limites em relação a volumes ou portas de entrada/saída. Se necessário, até mesmo um único volume pode obter todos os recursos da matriz. A única limitação nas filas se aplica aos alvos iSCSI. É exatamente por isso que foi mencionada a necessidade de criar vários (idealmente até 8) alvos para cada volume para superar esse limite. Também reiteramos que as matrizes AccelStor são soluções bastante eficientes. Portanto, deve-se utilizar todas as portas de interface do sistema para alcançar a máxima velocidade.

Do lado do host ESXi, a situação é completamente diferente. O próprio host aplica a prática de acesso igualitário aos recursos para todos os participantes. Portanto, existem filas de IO separadas para o sistema operacional convidado e para 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 configuração do AFA AccelStor ao trabalhar com VMware vSphere

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

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

O desempenho final da máquina virtual será determinado pelo menor valor do limite de profundidade da fila (Queue Depth limit) entre os componentes do host.

Graças a esses valores, podemos avaliar os indicadores de desempenho que podemos obter em uma configuração específica. Por exemplo, queremos saber o desempenho teórico de uma máquina virtual (sem ligação ao bloco) com latência de 0,5 ms. Assim, seu IOPS = (1.000/latência) * Outstanding I/Os (limite de profundidade de fila)

Exemplos

Exemplo 1

  • Adaptador HBA Emulex FC
  • Uma VM em datastore
  • Adaptador SCSI Paravirtual VMware

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

Exemplo 2

  • Adaptador de Software iSCSI VMware
  • Uma VM em datastore
  • Adaptador SCSI Paravirtual VMware

Aqui, o limite de profundidade da fila é determinado pelo Adaptador SCSI Paravirtual. Portanto, o IOPS = (1000/0,5)*64 = 128K

Os principais modelos de arrays All Flash AccelStor (por exemplo, P710) são capazes de fornecer um desempenho de 700K IOPS em gravação com bloco de 4K. Com esse tamanho de bloco, é evidente que uma única máquina virtual não pode sobrecarregar um array desse tipo. Para isso, serão necessárias 11 (para o exemplo 1) ou 6 (para o exemplo 2) VMs.

Portanto, com a configuração correta de todos os componentes descritos do data center virtual, é possível obter resultados impressionantes em termos de desempenho.

Recomendações para configuração do AFA AccelStor ao trabalhar com VMware vSphere

4K Aleatório, 70% Leitura/30% Gravação

Na verdade, o mundo real é muito mais complexo para ser descrito por uma fórmula simples. Em um único host, sempre há várias máquinas virtuais com diferentes configurações e requisitos de IO. Além disso, o processamento de entrada/saída é realizado pelo processador do host, cuja potência não é infinita. Assim, para liberar todo o potencial do mesmo modelo P710 na realidade, serão necessários três hosts. Além disso, os aplicativos que operam dentro das máquinas virtuais trazem suas próprias nuances. Portanto, para um dimensionamento preciso, sugerimos utilizar pool de testes de modelos de arrays All Flash AccelStor dentro da infraestrutura do cliente em tarefas atuais reais.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster