Introdução

O Hyper-V é uma excelente ferramenta de virtualização. Porém, para o seu perfeito funcionamento são necessários alguns cuidados na configuração do seu cenário.

É muito comum observarmos cenários onde a questão da memória é subjugada. Normalmente ninguém quer se responsabilizar pelo cálculo de memória das máquinas virtuais.

Vou descrever os dois tipos de configurações possíveis de memória para máquinas virtuais no hyper-v e depois vou citar exemplos sobre como aplicar corretamente cada uma dessas opções.



Tipos de memória




Memória Estática

Essa opção existe desde a primeira versão do Hyper-V. É o modo mais simples de se configurar a memória para uma máquina virtual.

O valor definido será alocado imediatamente no HOST de virtualização.

Por exemplo, se você tiver um HOST com 4Gb de RAM:


Se você definir uma máquina virtual com memória estática de 2Gb, ao ligar essa máquinas virtual o hyper-v irá “consumir” imediatamente esses 2Gb:

A configuração com memória estática é a mais simples e que oferece maior segurança ao cenário. Se estiver com dúvidas do que utilizar ou não possuir conhecimentos suficientes, opte pela memória estática que não vai errar.

Memória Dinâmica

Essa opção apareceu na revisão SP1 do Hyper-V. Pode ser bastante interessante para se utilizar com cenários complexos ou que sofram alterações de acordo com o ambiente externo.

Para utilizar essa opção, o seu sistema operacional tem que estar com o SP1 (Windows 2008 R2 ou Hyper-V Server) e a máquina virtual com o Windows 7 SP1 ou Windows 2008 R2 SP1.

A memória é definida com índices: Inicial, Buffer e Máximo. 


A memória inicial é o que vai ser entregue inicialmente a máquina virtual, tal qual a memória estática. O valor definido nesse campo será alocado imediatamente no HOST para a máquina virtual.

A memória máxima é o valor de teto para o Hyper-V. Ele irá entregar a memória dinamicamente até o valor estipulado.

Como podem ver na figura acima, a memória máxima pode ser definida além da memória física presente no HOST. Quando a máquina virtual exige mais memória do que o HOST pode oferecer, ocorre a paginação em disco. Não é interessante utilizar essa técnica se você não tiver discos rápidos como os SSD.

O Buffer é a “reserva” que o Hyper-V vai alocar para que a máquina virtual possa expandir rapidamente a memória atual. O Buffer utiliza a porcentagem e o valor da demanda da memória atual.



Como podem ver na figura acima, a memória designada para a máquina virtual é de 1024Gb, porém a demanda dela está em 358Mb. O Buffer age em cima do valor da demanda de memória e aloca a “reserva” por segurança.

A memória dinâmica se expande com várias técnicas que não cabem nesse artigo. Porém vale citar que conforme a demanda da máquina virtual exige memória o Hyper-V libera para ela e depois que a demanda baixar o Hyper-V remove a memória, liberando o recurso para outras máquinas virtuais.

Quando usar uma ou outra?

Se o seu cenário está bem dimensionado e não tem falta de recurso, utilize a memória estática. Esse tipo de configuração oferece um ambiente mais simples e exato.

A memória dinâmica é um recurso muito interessante para poupar hardware, mas exige uma atenção especial para o dimensionamento. Praticamente não há diferença de performance entre um modelo e outro.

Um exemplo de uso da memória dinâmica é quando você tem mais de um HOST para as suas máquinas virtuais: Você divide a carga entre os HOSTs, colocando 5 máquinas com 1Gb no HOST 1 e 5 máquinas com 1Gb no HOST2. Em caso de pane algum HOST, todas as 10 máquinas precisarão rodar em apenas um.

Esse HOST teria que ter, disponível, a soma de memória de todas as máquinas virtuais de todos os HOSTs. Isso pode se tornar inviável. Então você poderia resolver isso com a memória dinâmica. Você diria que, no melhor dos casos (com os dois HOSTs ativos) as máquinas virtuais operem com 1Gb de RAM (Memória máxima), mas que em casos extremos as máquinas virtuais tem que rodar com apenas 512Mb cada (Memória mínima).

Com essa solução, ao invés de ter 10Gb em cada HOST, você precisaria ter apenas 5Gb livres para as máquinas virtuais.

Conclusão

O uso de memória para cenários virtuais deve ser encarado com muita cautela. No TechEd 2011 o Fábio Hara comentou que 40% dos casos de gargalo no hyper-v eram sobre mal configuração de memória. Esse é um número bem alto, o que reforça o meu conselho sobre a atenção para o assunto.

Semanalmente eu produzo um vídeo para a seção de virtualização do portal cooperati:

http://www.cooperati.com.br/wordpress/category/virtualizacao/

Escrito originalmente por Rafael Bernardes, do portal CooperaTI.