Por que meu ESXi reporta uso de memória mais alto do que eu esperava?

3

Eu tenho um par de hosts ESXi (5.1) em um cluster de alta disponibilidade. Cada host tem 48 GB de RAM. Atualmente, tenho 18 VMs em execução, com as seguintes quantidades de memória configuradas:

  • 1x 4 GB, 1 vCPU
  • 1x 4 GB, 4 vCPU
  • 5x 2 GB, 1 vCPU
  • 5x 1 GB, 1 vCPU
  • 4x 512 MB, 1 vCPU
  • 2x 512 MB, 1 vCPU, com tolerância a falhas (a memória consumida é duplicada)

Isso deve adicionar até 27 GB de RAM. Baseado no Guia de Gerenciamento de Recursos (e assumindo 38 MB de sobrecarga para 2 GB, 1 vCPU VM e 23 MB para 512 MB, 1 vCPU VM), deve haver cerca de 612 MB de sobrecarga, para cerca de 28 GB no total.

Quando olho para os hosts individuais, a memória em uso parece estar alinhada com isso. Na guia Resumo, para "Uso de memória", um host mostra 14240,00 MB e o outro mostra 14897,00 MB, para um total de aproximadamente 28,5 GB.

A guia Atribuição de recursos para meu cluster no vSphere Client, no entanto, mostra o seguinte:

  • Capacidade Total: 89705 MB
  • Capacidade reservada: 47210 MB
  • Capacidade disponível: 42495 MB

Deixando de lado o fato de que 48 GB de RAM em dois hosts são 98304 MB, não 89705, por que a capacidade reservada é tão alta? Há quase 20 GB entre o que os hosts individuais afirmam estar usando (28 GB) e o que o cluster alega estar usando (46 GB). Além disso, isso está me impedindo de adicionar novas VMs, já que o cluster de alta disponibilidade precisa tolerar a falha de um host e o software acha que estou executando com capacidade total para essa restrição.

Todas as minhas VMs estão configuradas sem limite de RAM e sem reserva de RAM, exceto pelas duas VMs tolerantes a falhas, que têm toda a RAM reservada.

Isso é feito com uma licença do vSphere 5.1 Standard.

    
por asciiphil 01.05.2013 / 20:37

2 respostas

3

Depois de algumas (longas) conversas com o suporte da VMware, cheguei ao seguinte entendimento:

O número em "Reserved Capacity" não é uma função da configuração de memória para as VMs do cluster. É a soma de vários fatores: qualquer reserva de memória declarada em VMs, um valor calculado a partir da política de admissão de HA e uma quantia adicional de sobrecarga de gerenciamento de memória. O valor de controle de admissão de HA é diretamente derivado da política de controle de admissão; no meu caso, desde que eu tinha configurado para tolerar a falha de um único host, a quantidade total de RAM em um dos meus hosts foi adicionada à capacidade reservada do cluster.

Entre outras restrições, parece que o controle de admissão de HA não permitirá que a capacidade reservada exceda a RAM em um único host. (Ou isso não permitirá que a capacidade disponível caia abaixo da RAM em um único host; ainda não estou claro qual deles é realmente o caso, já que eles são a mesma coisa no meu cluster de dois hosts .) Isso tem o resultado líquido que praticamente qualquer quantidade de reserva de memória é incompatível com o que de outra forma pareceria ser configurações naturais para a política de admissão de HA em um cluster de dois hosts. Como a tolerância a falhas força as reservas de memória, isso torna a mesma incompatível. Disseram-me que, se houvesse mais hosts no cluster, a capacidade reservada seria "espalhada" por mais deles e algum grau de reserva de memória seria possível.

O resultado líquido para mim é que tive que alterar minha política de admissão de HA para reservar uma porcentagem dos recursos disponíveis (em vez de "valor de um host") e calcular essa porcentagem para excluir quaisquer reservas de memória exigidas pelo uso de Falha Tolerância.

    
por 02.05.2013 / 23:17
2

Parece-me que essa é uma função de você ter definido a política de controle de admissões de cluster de alta disponibilidade como "Porcentagem de recursos de cluster reservados" e conceder uma reserva de 50%. Então, isso está funcionando como pretendido.

    
por 01.05.2013 / 21:17