Como testamos o VMware vSAN ™: por que ele funciona na prática

Há um ano, montei um data center a partir de uma pilha do Intel NUC . Havia um sistema de armazenamento de software que a faxineira não conseguia destruir, algumas vezes o cluster entrou em colapso.

E agora decidimos executar o vSAN em vários servidores em uma configuração muito boa para avaliar completamente o desempenho e a tolerância a falhas da solução. Obviamente, tivemos várias implementações bem-sucedidas em produção para nossos clientes, onde o vSAN resolve com êxito as tarefas definidas, mas não foi possível realizar testes abrangentes. Na verdade, quero compartilhar os resultados dos testes hoje.

Vamos atormentar o armazenamento com uma carga, descartá-la e, de todas as maneiras possíveis, testar a tolerância a falhas. Para mais detalhes, convido todos a gato.

O que é o VMware vSAN em geral e por que entramos nele?


Há um cluster de servidor regular para máquinas virtuais. Possui vários componentes independentes, o hipervisor é executado diretamente no hardware e o armazenamento é configurado separadamente com base no DAS, NAS ou SAN. Dados lentos no HDD, dados quentes no SSD. Tudo é familiar. Mas aqui surge o problema da implantação e administração deste zoológico. Torna-se especialmente divertido em situações em que elementos individuais do sistema de diferentes fornecedores. Em caso de problemas, a ancoragem de tickets para suporte técnico de diferentes fabricantes tem uma atmosfera especial.

Existem pedaços de ferro separados que, do ponto de vista do servidor, parecem discos para gravação.

E existem sistemas hiperconvergentes. Neles, você recebe uma unidade universal que absorve toda a dor de cabeça da interação da rede, discos, processadores, memória e as máquinas virtuais que rodam neles. Todos os dados fluem para um painel de controle e, se necessário, você pode simplesmente adicionar mais algumas unidades para compensar o aumento de carga. A administração é bastante simplificada e padronizada.


O VMware vSAN refere-se apenas às soluções com base nas quais é implantado
infraestrutura hiperconvergente. O principal recurso do produto é a forte integração com a plataforma de virtualização VMware vSphere, líder em soluções de virtualização que permite implantar o armazenamento de software para máquinas virtuais em servidores de virtualização em minutos. O vSAN assume diretamente o controle das operações de E / S em um nível baixo, distribuindo de maneira ideal a carga, armazenando em cache as operações de leitura / gravação e fazendo muito mais com uma carga mínima na memória e no processador. A transparência do sistema é um pouco reduzida, mas, como resultado, tudo funciona, como eles dizem, automagically vSAN pode ser configurado como um armazenamento híbrido e na forma de uma versão totalmente em flash. Ele é dimensionado horizontalmente adicionando novos nós ao cluster e verticalmente, aumentando o número de discos em nós individuais. O gerenciamento com seu próprio web client vSphere é muito conveniente devido à forte integração com outros produtos.

Optamos por uma configuração limpa totalmente em flash, que deve ser ideal em termos de preço e desempenho. É claro que a capacidade total é um pouco menor em comparação com a configuração híbrida usando discos magnéticos, mas aqui decidimos verificar como isso pode ser parcialmente contornado usando a codificação de apagamento, bem como a desduplicação e compressão em tempo real. Como resultado, a eficiência do armazenamento fica mais próxima das soluções híbridas, mas significativamente mais rápida com o mínimo de sobrecarga.

Como testar


Para testar o desempenho, usamos o software HCIBench v1.6.6 , que automatiza o processo de criação de muitas máquinas virtuais e compilação dos resultados. O próprio teste de desempenho é realizado com o software Vdbench, um dos mais populares softwares de teste de carga sintética. O ferro estava nas seguintes opções de configuração:

  1. Tudo em flash - 2 grupos de discos: 1xNVMe SSD Samsung PM1725 800 GB + 3xSATA
  2. SSD Toshiba HK4E de 1,6 TB.
  3. Totalmente flash - 1 grupo de discos: SSD 1xNVMe Samsung PM1725 800 GB + SSD 6xSATA Toshiba HK4E 1,6 TB.
  4. Totalmente flash - 1 grupo de discos: SSD 1xNVMe Samsung PM1725 de 800 GB + SSD 6xSATA Toshiba HK4E 1,6 TB + Eficiência espacial (desduplicação e compactação).
  5. Totalmente flash - 1 grupo de discos: SSD 1xNVMe Samsung PM1725 de 800 GB + SSD 6xSATA Toshiba HK4E 1,6 TB + Codificação de apagamento (RAID 5/6).
  6. Totalmente flash - 1 grupo de discos: SSD 1xNVMe Samsung PM1725 de 800 GB + SSD 6xSATA Toshiba HK4E 1,6 TB + Codificação de apagamento (RAID 5/6) + Eficiência de espaço (desduplicação e compactação).

Durante os testes, emulamos três volumes diferentes de dados ativos usados ​​pelos aplicativos: 1 TB (250 GB por servidor), 2 TB (500 GB por servidor) e 4 TB (1 TB cada).

Para cada configuração, o mesmo conjunto de testes foi realizado com os seguintes perfis de carga:

  1. 0 leitura / 100 gravação, aleatoriamente 50%, tamanho do bloco - 4k.
  2. 30 de leitura / 70 de gravação, aleatoriamente 50%, tamanho do bloco - 4k.
  3. 70 leitura / gravação de 30, aleatoriamente 50%, tamanho do bloco - 4k.
  4. 100 leitura / gravação 0, aleatoriamente 50%, tamanho do bloco - 4k.

As primeira e quarta opções foram necessárias para entender como o sistema se comportará sob cargas máximas e mínimas. Mas o segundo e o terceiro estão o mais próximo possível do caso de uso típico real: por exemplo, 30 read / 70 write - VDI. Essas cargas que encontrei na produção eram muito próximas a elas. No processo, testamos a eficácia do mecanismo de gerenciamento de dados vSAN.

Em geral, o sistema provou ser muito bom. Com base nos resultados do teste, percebemos que podemos contar com desempenho na região de 20 mil IOPS por nó. Para tarefas comuns e muito carregadas, esses são bons indicadores, considerando atrasos de 5 ms. Abaixo dei gráficos com os resultados:







Tabela de resumo com resultados do teste:

A cor verde indica dados ativos completamente armazenados em cache.

Tolerância a falhas


Cortei um nó após o outro, apesar da indignação da máquina, e observei a reação do sistema como um todo. Após desconectar o primeiro nó, nada aconteceu, exceto por uma pequena queda no desempenho, em cerca de 10 a 15%. Coloquei o segundo nó - algumas das máquinas virtuais foram encerradas, mas o restante continuou trabalhando com uma leve degradação no desempenho. Sobrevivência geral satisfeito. Reiniciei todos os nós - o sistema pensou um pouco e sincronizou novamente sem problemas, todas as máquinas virtuais foram iniciadas sem problemas. Como ao mesmo tempo em NUCs. A integridade dos dados também não é afetada, o que é muito satisfeito.

Impressões gerais


Sistemas de armazenamento definido por software (SDS) já é uma tecnologia madura.

Hoje, um dos principais fatores de parada que impedem a implementação do vSAN é o alto custo de uma licença em rublos. Se você criar a infraestrutura do zero, pode acontecer que um sistema de armazenamento tradicional em uma configuração semelhante tenha o mesmo custo. Mas será menos flexível, tanto em termos de administração quanto de escala. Portanto, hoje, ao escolher uma solução para armazenar dados de máquinas virtuais na plataforma de virtualização vSphere, é muito bom avaliar todos os prós e contras do uso de soluções tradicionais e da implementação da tecnologia de armazenamento definido por software.

Você pode criar uma solução no mesmo Ceph ou GlusterFS, mas ao trabalhar com a infraestrutura VMware, a integração do vSAN com componentes individuais é cativante, bem como a facilidade de administração, implantação e desempenho significativamente maior, especialmente em um pequeno número de nós. Portanto, se você já estiver trabalhando na infraestrutura do VMware, será muito mais fácil implantar. Você realmente faz uma dúzia de cliques e obtém um SDS pronto para uso.

Outra motivação para implantar o vSAN é usá-lo para ramificações, o que permite espelhar nós em unidades remotas com um host testemunha no datacenter. Essa configuração fornece armazenamento tolerante a falhas para máquinas virtuais com todas as tecnologias vSAN e desempenho em apenas dois nós. A propósito, para usar o vSAN, existe um esquema de licenciamento separado para o número de máquinas virtuais, o que permite reduzir custos em comparação com o esquema tradicional de licenciamento do vSAN para processadores.

Arquitetonicamente, a solução requer Ethernet de 10 Gb com dois links por nó para uma distribuição de tráfego adequada ao usar uma solução totalmente em flash. Comparado aos sistemas tradicionais, você economiza espaço em rack e em redes SAN, eliminando o Fibre Channel em favor do padrão Ethernet mais universal. Para garantir a tolerância a falhas, são necessários pelo menos três nós, em duas réplicas de objetos com dados e, no terceiro - objetos testemunha para esses dados, resolve o problema do cérebro dividido.

Agora, algumas perguntas para você:

  1. Quando você decide um sistema de armazenamento, quais critérios são mais importantes para você?
  2. Que fatores de parada você vê no caminho para implementar sistemas de armazenamento definidos por software?
  3. Quais sistemas de armazenamento definidos por software você considera basicamente como uma opção para implementação?


UPD: Esqueci completamente de escrever os parâmetros de configuração e carregamento do suporte:

1. Descrição do ferro. Por exemplo:
Servidores - 4xDellR630, cada um:
• 2xE5-2680v4
• 128GB RAM
• 2x10GbE
• 2x1GbE para gerenciamento / rede VM
• Dell HBA330
Configuração de armazenamento nº 1:
2xPM1725 800GB
6xToshiba HK4E 1.6TB
Configuração de armazenamento nº 2:
1xPM1725 800GB
6xToshiba HK4E 1.6TB

2. Descrição das versões do software:
vSphere 6.5U1 (7967591) (vSAN 6.6.1), ou seja, manchas após Meltdown / Spectre
vCenter 6.5U1g
Drivers e FW mais recentes suportados pelo vSAN e ESXi para todos os componentes
LACP para tráfego vSAN e vMotion (com compartilhamentos / limites / reservas NIOC ativados)
Todas as outras configurações são padrão

3. Parâmetros de carga:
• HCIBench 1.6.6
• Oracle Vdbench - 04/05/06
• 40VM por cluster (10 por nó)
• 10 vmdk por VM
• Tamanho de 10 GB de vmdk e porcentagem do conjunto de carga de trabalho de 100/50/25%
• Tempo de aquecimento-1800seg (0,5 horas), tempo de teste 3600 (1 hora)
• 1 threads por vmdk

Source: https://habr.com/ru/post/pt414125/


All Articles