buffer de memória em máquinas virtuais

3

Existe algum ponto para fazer cache de buffer de disco em uma máquina virtual, se o sistema operacional do hypervisor estiver fazendo isso? Gostaria de saber se o armazenamento em buffer na VM apenas desperdiçará memória que poderia ser melhor alocada para o uso da VM, ou se a leitura de dados será armazenada no buffer tanto no hypervisor quanto no sistema operacional convidado.

Ou existe algum sistema que lide automaticamente com a coordenação do cache de buffer entre o hipervisor e o convidado?

Devo desativá-lo na máquina host ou nas VMs?

    
por Rob Bos 23.02.2013 / 20:02

1 resposta

2

Demasiadas variáveis, não indica a sua carga de trabalho, sistema (s) de ficheiros, especificações de armazenamento, host ou mistura de convidados, embora, se o fizesse, eu provavelmente ainda apenas generalizasse ;-) Como um conjunto de directrizes:

  • nada supera a leitura pragmática da documentação do fornecedor e evidência empírica. vmware em particular têm white papers úteis e abrangentes
  • cada convidado deve ter a melhor noção do que armazenar em cache, por exemplo, metadados do sistema de arquivos podem ser mais úteis, somente um convidado pode pré-ler com precisão, portanto, um cache de convidado deve ser mais eficaz
  • se você tiver o armazenamento desduplicado, o armazenamento em cache da VM poderá ser mais eficaz para determinadas cargas de trabalho
  • se você supercompromissar na memória, todas as apostas estarão desativadas
  • a memória é sempre mais rápida que a ferrugem, uma SAN pode tornar isso menos perceptível

Em teoria, um driver de armazenamento convidado pode se comunicar de forma inteligente com o host para otimizar o buffer, não estou ciente de nenhuma implementação específica.

Você poderia provavelmente se beneficiar reduzindo o buffer de host da VM, se a memória extra ajudar no desempenho do seu convidado. Você não pode dizer com certeza sem medições, então: medir, analisar, ajustar, repetir conforme necessário.

    
por 23.02.2013 / 22:46