Oversubscribing virtual servers [closed]

3

Estou procurando um guia básico para começar a exagerar o hardware do host para minhas máquinas virtuais. Meu cenário básico está abaixo, mas não estou olhando para abordar este caso específico, mas sim informações gerais sobre como alocar os tipos de recursos descritos e medir os resultados.

Digamos que eu tenha um servidor que atue como um host da VM. Ele tem um processador de 6 núcleos com hyper-threading (12 CPUs virtuais) e 12 GB de RAM. O servidor atualmente possui seis VMs. Os recursos alocados para cada VM variam de 1 a 4 CPUs e de 0,5 a 4 GB de RAM, dependendo da carga ou importância esperada da VM específica. O total de recursos alocados atualmente soma exatamente 12 GB de RAM e 12 núcleos. Isso inclui uma pequena reserva para o host da VM.

Eu não posso deixar de sentir que estou deixando recursos na mesa. Nem todo servidor virtual está 100% ocupado o tempo todo ... longe disso. Espero poder melhorar o desempenho geral, disponibilizando mais recursos para os servidores virtuais, de modo que os servidores ocupados consigam aproveitar os recursos deixados ociosos pelos servidores gratuitos. Espero que seja claro.

Eu quero saber como capturar esses recursos ociosos. Como medir o quanto é realmente livre? Quanto posso realmente sobre-escrever? Como faço para monitorar a situação à medida que o tempo passa (os sistemas tendem a crescer e, portanto, espero que uma sobrescrever apropriada hoje possa não continuar assim amanhã). Preciso fazer algo especial ao aumentar os recursos para que o host saiba como compartilhar se as coisas ficarem bem?

Meu host é o Hyper-V no Server 2008 R2, mas, novamente, estou realmente procurando por informações mais gerais. Detalhes sobre VMWare, Xen, etc são bem-vindos.

    
por Joel Coel 11.02.2013 / 23:55

1 resposta

5

Por que você acha que está "deixando recursos na mesa"? Os sistemas não precisam de ser executados totalmente utilizados.

Algumas coisas a serem observadas ...

  • Seis núcleos Hyperthreaded realmente não são iguais a doze CPUs físicas disponíveis, então você já está exagerando em um ponto.

  • Na virtualização, você tende a esgotar a RAM antes dos recursos da CPU ...

  • O supercomprometimento de memória será onde você verá mais pressão e contenção. Os efeitos serão sentidos mais do que a falta de CPU.

  • Usando o exemplo do VMware, você tem balão de memória, compactação e desduplicação disponíveis. Eu trataria o excesso de RAM de forma diferente no VMware do que em algumas outras tecnologias de virtualização.

  • Outro exemplo da VMware: é possível definir níveis de compartilhamento ( pools de recursos ) para indicar quais VMs devem ter precedência quando os recursos são baixos. É assim que você garante que o seu servidor de banco de dados receba a prioridade de RAM / CPU / Disco / Rede de acordo com as necessidades versus seu controlador de domínio em uma situação restrita.

por 12.02.2013 / 00:14