Como a memória é alocada no servidor ESXi?

Como a memória é alocada no servidor ESXi?

Temos um servidor ESXi 4.1 com 48 GB de RAM.

Para cada VM, estamos alocando 4 GB de memória. Como o servidor terá 13 máquinas virtuais, meu gerente acha que isso está errado.

Vou explicar a eles que o ESXi gerenciará a própria memória, mas eles me perguntaram quanta memória eu aloquei para o próprio servidor ESXi.

Não aloquei nenhum (nem ouvi falar de uma opção de alocação de memória para o próprio servidor ESXi).

Como a memória é alocada para o servidor ESXi? Como ele aloca/distribui RAM entre máquinas virtuais sem problemas?

Responder1

Há muito mais do que apenas ESXi em questão aqui,

  1. Cada VM consumirá até 4 GB + "sobrecarga", que está documentadaaqui. Isso depende das vCPUs + memória alocada. No mínimo, cada VM usará 4.261,98 MB(4096 + 165,98)
  2. A sobrecarga de memória do próprio ESXi depende do hardware. A opção mais fácil é olhar para oSistemauso de memória no cliente vSphere. De memória, lembro que está em torno da marca de 1,3 GB, mas como afirmado, isso émuitodependente de hardware.

Alocação de memória e comprometimento excessivo explicados

Observe que o hipervisornão alocará toda essa memória antecipadamente, depende do uso da VM. No entanto, vale a pena entender o que acontecerá caso as VMs tentem alocar e usar toda a memória alocada a elas.

O máximo que seu host VM + tentará usar será aproximadamente,55 GB a quilometragem pode variar

  • 1,3 GB usados ​​pelo ESXi
  • 4.261,98 MBs * 13 usados ​​pelas VMs

Há outro aspecto a levar em consideração: os limites de memória. Por padrão, o VMware terá como objetivo ter 6% livre (alto limite de memória). Então o55 GBda memória usada precisa ser reduzida para~ 45 GB

Isso significa que o host terá aproximadamente 10.500 MBs de memória que precisa ser recuperada de algum lugar caso as VMs usem a memória que lhes foi alocada. Há três coisas que o ESX faz para encontrar esses 10,5 GB adicionais.

Métodos de recuperação de memória

  1. Compartilhamento transparente de páginas
  2. Balão de memória
  3. Troca de hipervisor

Você deve ler e entenderNoções básicas sobre gerenciamento de recursos de memória no VMware® ESX™ Server.

Dependendo de um grande número de fatores, uma combinação dos três ocorrerá/poderá acontecer em um host excessivamente comprometido. Você precisa testar seu ambiente e monitorar essas métricas para entender o impacto do comprometimento excessivo.

Algumas regras básicas que vale a pena conhecer (todas no artigo acima e em outras fontes).

  1. Compartilhamento transparente de páginasisso não acontece para VMs que usam páginas de 2/4 MB. Como você alocou 4.096 MBs para suas VMs do Windows, elas usarão as páginas de 2/4 MB por padrão (dependendo do PAE). Somente sob pressão de memória o VMware dividirá as páginas grandes em páginas de 4 KB que podem ser compartilhadas. O TPS depende do uso de ciclos de CPU ociosos e da varredura de páginas de memória em uma determinada taxa. Ele retorna a memória de forma relativamente lenta (pense em uma hora em vez de minutos). Portanto, uma tempestade de inicialização significa que o TPS não irá ajudá-lo. Dos três, este tem o menor impacto no desempenho. Mais do documento,

Em sistemas de virtualização de memória assistida por hardware (por exemplo, Intel EPT Hardware Assist e AMD RVI Hardware Assist [6]), o ESX fará backup automaticamente de páginas físicas convidadas com grandes páginas físicas de host (região de memória contígua de 2 MB em vez de 4 KB para páginas regulares) para melhor desempenho devido a menos erros de TLB. Nesses sistemas, o ESX não compartilhará essas páginas grandes porque: 1) a probabilidade de encontrar duas páginas grandes com conteúdo idêntico é baixa e 2) a sobrecarga de fazer uma comparação bit a bit para uma página de 2 MB é muito maior do que para uma página de 4 KB. No entanto, o ESX ainda gera hashes para páginas de 4 KB em cada página grande. Como o ESX não troca páginas grandes, durante a troca de host, a página grande será dividida em páginas pequenas para que esses hashes pré-gerados possam ser usados ​​para compartilhar as páginas pequenas antes de serem trocadas. Resumindo, podemos não observar nenhum compartilhamento de páginas em sistemas de virtualização de memória assistida por hardware até que a memória do host seja supercomprometida.

  1. Balonismoentra em ação a seguir (os limites são configuráveis; por padrão, é quando o host tem menos de 6% de memória livre (entre alto e software)). Certifique-se de instalar o driver e tome cuidado com Java egerenciouaplicações em geral. O sistema operacional não tem ideia do que o coletor de lixo fará a seguir e acabará atingindo as páginas que foram trocadas para o disco. Não é uma prática incomum que servidores que executam aplicativos Java exclusivamente desabilitem totalmente a troca para garantir que isso não aconteça. Dê uma olhada na página 17 do vSphere Memory Management, SPECjbb

  2. Troca de hipervisor, dos três métodos é o único quegarantias"memória" estando disponível para o hipervisor em um tempo definido. Isto será usado se 1 e 2 não fornecerem memória suficiente para permanecer sob odurolimite (padrão de 2% de memória livre). Ao ler as métricas de desempenho (faça as suas próprias), você perceberá que este é o pior desempenho dos três. Procure evitá-lo a todo custo, pois o impacto no desempenho será muito perceptível em quase todos os aplicativosporcentagem de dois dígitos

  3. Há mais um estado para estar cientebaixo(por padrão 1%). No manual, isso pode reduzir drasticamente o seu desempenho,

Em um caso raro em que a memória livre do host cai abaixo do limite baixo, o hipervisor continua a recuperar memória por meio de troca e compactação de memória e, adicionalmente, bloqueia a execução de todas as máquinas virtuais que consomem mais memória do que suas alocações de memória de destino.

Resumo

O ponto principal a ser enfatizado é que é impossível prever, a partir dos white papers, como o seu ambiente se comportará.

  1. Quanto o TPS pode lhe dar? (Depende de quão semelhantes suas VMs são com seu sistema operacional, Service Pack e aplicativos em execução)
  2. Com que rapidez suas VMs alocam sua memória? Quanto mais rápido eles fizerem isso, maior será a probabilidade de você pular para o próximo limite antes que o esquema de recuperação de memória menos impactante consiga mantê-lo no limite atual.
  3. Dependendo da aplicação, cada esquema de recuperação de memória terá um impacto muito variável.

Teste seus cenários médios, seu cenário de percentil de 95% e, finalmente, seu máximo para entender como seu ambiente será executado.


Editar 1

Vale a pena acrescentar que com o vSphere 4 (ou 4.1 não consigo lembrar), agora é possível colocar a troca do hipervisor no disco local, mas ainda assimvmotiona VM. Se você estiver usando armazenamento compartilhado, recomendo fortemente que você mova o arquivo de troca do hipervisor para o disco local por padrão. Isso garante que, quando um host estiver sob forte pressão de memória, ele não acabe impactando todos os outros hosts/VMs do vSphere no mesmo armazenamento compartilhado.

Editar 2

Com base nos comentários, constatei o fato de que o ESX não aloca a memória antecipadamente em negrito...

Editar 3

Expliquei um pouco mais sobre limites de memória.

Responder2

VMware (e outras tecnologias de virtualização)compartilharrecursos (memória, tempo de processador, E/S de vários tipos) entre VMs de acordo com vários algoritmos.

É possívelcomprometer demaisrecursos, porque nem todas as VMs usarão todo o processamento, memória ou E/S de que precisam o tempo todo. Guia de gerenciamento de recursos da VMwareé provavelmente o melhor lugar para ler sobre o que é possível no ESXi.

Você também pode gerenciar o efeito dos algoritmos ponderando VMs diferentes para recursos diferentes - por exemplo, você pode atribuir a uma VM de servidor de aplicativos um peso mais alto para processador do que a uma VM de servidor de arquivos. No entanto, as configurações prontas para uso atenderão muito bem à maioria dos requisitos. Em alguns casos, fazer alguma configuração aqui é suficiente para aplacar os gerentes que não entendem muito bem, mas é claro que tenha cuidado e leia a documentação da sua versão do VMware e entenda o que você está fazendo. Se o seu gerente não precisar de mais apaziguamento, basta usar os padrões.

Observe que o comprometimento excessivo nem sempre é uma boa ideia, principalmente se você tiver virtualizado em um único servidor. Você deve monitorar o uso de recursos em seu patrimônio ESXi e, se necessário, adicionar hosts/recursos adicionais se estiver consumindo frequentemente todos um ou mais recursos.

Responder3

Deixe sua instalação do VMWare ESXi cuidar disso. Você pode alocar recursos de RAM em sistemas VMWare devido ao uso detécnicas de balão de memória, compactação e desduplicação.

Se as máquinas virtuais estiverem usando um sistema operacional semelhante, haverá alguma economia. Certifique-se de habilitar as ferramentas VMWare dentro das VMs convidadas para aproveitar ao máximo esses recursos.

informação relacionada