Um host KVM deve estar fazendo outras coisas além de hospedar VMs? (como o ZFS)?

1

Quais são as implicações de desempenho e estabilidade da execução de serviços intensivos de recursos em um sistema operacional hypervisor vs guest?

Eu quero configurar uma estação de trabalho com Linux e Windows, hospedada pelo (provavelmente) KVM. Ambos usarão alguns dos mesmos serviços: por exemplo, as VMs serão armazenadas em zvols e compartilharão um zpool dedicado ao armazenamento de arquivos.

Estou desconectado para decidir quais serviços serão executados no sistema operacional do hypervisor e quais executar em uma VM. Se eu coloco serviços como o ZFS em uma VM, estou preocupado que eles possam ser mais lentos (já que terão que trabalhar através do hipervisor) ou mais propensos a erros, já que dependerão da passagem do controlador (mais uma coisa para ter problemas com).

Por outro lado, estou preocupado que sobrecarregar o hypervisor com muitas tarefas extras causará problemas, e também estou preocupado com a quantidade de memória que o ZFS consumirá se eu não colocá-lo em uma máquina virtual com limites definidos (Estou pensando em dedicar 32 Gb a qualquer SO que esteja executando o ZFS. E estou preocupado que ter muitas coisas instaladas no hipervisor tornará mais provável os conflitos que afetam todo o sistema (pois esses conflitos ocorreriam dentro do hipervisor) .

    
por Thoughtcraft 08.03.2017 / 19:42

1 resposta

2

Os hipervisores, independentemente do sabor, devem ser 100% dedicados a servir suas VMs. Isso é por alguns motivos.

Primeiro, um dos principais benefícios da virtualização é a independência de hardware - se um host morre, é muito simples restaurar essas VMs para um host diferente e estar pronto e em execução em um período muito curto. Assim que você começa a implantar serviços diretamente no sistema operacional host, esse processo se torna muito mais complicado.

Em segundo lugar, os kernels do hipervisor são ajustados para lidar com a carga virtualizada, e não com os processos da terra do usuário executados diretamente no sistema operacional host.

Em terceiro lugar, a configuração e a implantação do processo se tornam excessivamente complicadas se você tiver que considerar os processos em execução nos processos e das VMs em execução no bare metal. Isso não é intransponível, mas não é ideal e deve ser evitado, se possível.

Portanto, para responder à sua pergunta diretamente: não execute processos desnecessários diretamente no sistema operacional host. Deixe o hipervisor fazer o seu trabalho e use VMs para seus serviços.

    
por 08.03.2017 / 19:58