É possível desativair ou ajustair o compairtilhamento de cache do sistema de files paira o OpenVZ?

Paira o OpenVZ, uma implementação de virtualização baseada em contêiner, pairece que o host e todos os convidados estão compairtilhando o cache do sistema de files. Isso pairece pairadoxal ao falair sobre virtualização, mas esta é realmente uma cairacterística do OpenVZ.

Faz sentido também. Como apenas um kernel está em execução, é possível se beneficiair com a pairtilha das mesmas páginas do cache do sistema de files na memory. E, embora paireça benéfico, acho que um conjunto aqui realmente sofre em performance. Aqui está o porquê: minhas máquinas não estão realmente compairtilhando files no disco, portanto não posso me beneficiair.

Várias máquinas OpenVZ estão executando o MySQL com as tabelas MyISAM. O MyISAM depende do cache do sistema de files do sistema paira airmazenamento em cache de files de dados, ao contrário do pool de buffer do InnoDB. Além disso, algumas máquinas virtuais são conhecidas por fazer grandes e grandes operações de E / S no mesmo sistema de files no host. Paira fins de teste, eu executei cat *.MYD > /dev/null em algum database grande em uma máquina, vi o cache do sistema de files diminuir em outro, monitorado pelo htop . Isso esvazia essencialmente todo o cache do sistema de files útil nos convidados (FIFO) e, assim, eleve os caches do MySQL nos convidados. Estou na minha análise até aqui?

Agora os users estão reclamando que o MySQL é muito lento. E isso é. Algumas consultas SELECT simples demoram vários segundos em tempos em que a E / S de disco é fortemente usada por outras máquinas.

Então, basta colocair:

Existe uma maneira de evitair que o cache do sistema de files seja apagado por outras máquinas virtuais na virtualização baseada em contêiner?

Em vez de migrair paira o KVM ou o InnoDB (veja abaixo), pode haview uma opção de confimação que estou perdendo.

Alguns pensamentos:

  • Escolhendo o algorithm paira eliminair o cache do sistema de files no kernel. (possível? como?)
  • Reservando uma certa quantidade de páginas paira uma única VM. (Não pairece nenhuma opção paira o tipo de páginas do sistema de files que lê o man vzctl )
  • A execução do MySQL em outro sistema de files me colocairá em qualquer lugair?
  • Atualizando a RAM na máquina (como sugerido por @ michael-hampton). Ao ser uma opção bairata, não resolve isso provavelmente. A atualização + 8GB não é proporcional à quantidade de operações de E / S de disco durante a noite, digamos algumas dezenas de Gigabytes.

Caso contrário, penso que minhas alternativas são:

  • Use KVM paira MySQL-MyISAM executando VMs. O KVM realmente atribui memory à VM e não permite trocair caches a less que use um driview de balloon .
  • Mova-se paira o InnoDB e sintonize os pools de buffer, páginas sujas, etc. Isso agora é considerado "bom ter" a longo prazo, pois nem todos os responsáveis ​​pela administração do sistema entende InnoDB.
  • mais sugestões bem-vindas.

Softwaire de sistema: Proxmox (agora 1.9, pode ser atualizado paira 2.x). Um grande LV atribuído paira as VMs.