Restringindo / desabilitando o buffer de disco do linux em uma máquina virtual

2

Existe uma maneira inteligente de restringir o buffering / caching em um sistema Linux e torná-lo escrito no disco mais ou menos continuamente?

Estou perguntando porque estou executando várias máquinas virtuais Linux em uma caixa Linux física. O mecanismo padrão de armazenamento em buffer / armazenamento em cache do Linux faz com que todas essas máquinas virtuais armazenem em cache as gravações em disco até algum momento em que decidam liberar tudo. O problema acontece quando várias caixas virtuais começam a liberar seus buffers ao mesmo tempo. Neste momento, o disco rígido na máquina física fica sobrecarregado e estou enfrentando um tempo de CPU desperdiçado de 90% de wa (Wait for I / O) na máquina física. Todas as máquinas virtuais congela por alguns segundos, fazendo com que algumas conexões TCP / IP sejam interrompidas, etc.

Eu gostaria de desabilitar o cache em subsistemas virtuais e fazer todo o cache no sistema físico, porque ele está acessando o disco físico. Alguma dica?

ADICIONADO: Os discos para máquinas virtuais foram criados passando-se por menus de estação de trabalho, geralmente aceitando (se bem me lembro) valores padrão. Imagens de discos são armazenadas em arquivos como XXX-s000.vmdk até XXX-s100.vmdk. Eles são vistos em caixas virtuais do Linux como drives scsi.

Estou usando a vmware workstation 10 para virtualização. Até onde sei, nenhuma ferramenta guest vmware foi instalada nessas máquinas.

    
por Marian 10.04.2015 / 09:49

1 resposta

2

Primeiro, instale as ferramentas guest do VMware em (todos) os convidados.

Isso permitirá que a VMware implemente uma interface mais eficiente entre os discos, NICs e tela dos convidados, além do host. Como resultado, você pode descobrir que seus problemas de contenção são muito reduzidos.

Em uma distribuição no estilo Debian, o nome do pacote é open-vm-tools , veja link

    
por 11.04.2015 / 09:57

Tags