DestaqueGuias

Virtualização: Windows em Linux KVM com drivers Virtio

Instalação e activação do Ballon driver

Para o final guardei a instalação e activação deste driver, por vários motivos.
É um driver de um dispositivo que não tem paralelo no mundo real. Por essa e outras razões é mais difícil de de compreender a sua função.
Além disto tudo, a sua instalação e activação também são mais complicadas que os restantes drivers.

Como disse anteriormente, não há algo semelhante a este dispositivo no mundo real. O mais parecido é um controlador de memória. Neste caso, um controlador de memória que “fala” com o KVM e com o Kernel Linux.
A instalação deste driver é opcional.

O objectivo deste driver é ter uma melhor gestão de memória utilizada por uma ou várias máquinas virtuais a correr no KVM.
Este driver “fala” com um processo do Kernel, que é o ksmd que tem como função verificar as páginas de memória iguais e junta-las apenas num endereço. Com isto, poupa-se espaço desnecessário em memória.

De referir que o processo ksmd não funciona apenas com o KVM. Ele verifica isto em todos os processos que estão a correr na máquina.
De referir também que os ganhos são mais evidentes, quanto mais máquinas virtuais semelhantes estamos a correr. É especialmente interessante em cenários de VDI, onde se tem normalmente dezenas de máquinas virtuais iguais a correr na mesma máquina.
Por último, este processo (ksmd) tem algum load a nível de processador, que depende bastante do número de processos que se está a correr e o número de máquinas virtuais. Com duas máquinas, num Core2 Duo a 2.4 Ghz, tem picos de 5% de utilização do processador.

O dispositivo no Windows não aparece como não reconhecido, ao contrário dos anteriores.
O dispositivo é o controlador de memória, que aparece em “System devices” e “PCI Standard RAM controller”.
Escolhe-se o dispositivo e escolhemos a opção “Update driver”.

Nesta parte, o processo é igual aos anteriores drivers. Aponta-se para o cd onde estão os drivers e escolhe-se a pasta “Win7” “x86”.

Ele é reconhecido como “VirtIO Balloon Driver”.

Como nos outros drivers, ele aparece correctamente instalado na consola de hardware, no entanto só isto não faz com que tenhamos a funcionalidade de consolidação das mesmas páginas de memória.

O segundo passo é instalar um serviço, para tal, vamos copiar a pasta “E:\Win7\x86”, que é o cd com os drivers, para um local do disco do Windows, por exemplo para a raíz do “C:\”.

Em seguida, abrir uma linha de comandos como administrador, caso tenho o UAC (User Access Control) habilitado ou não sejam administradores da máquina.

Aceder a “C:\x86” e correr o comando “blnsvr.exe -i” para instalar e arrancar com o serviço.

Se acederem à consola de serviços do Windows, vão verificar que se encontra instalado e a correr um serviço com o nome de “BallonService”.
A razão para a copia da pasta para o disco do Windows, é que o serviço é um executável que se encontra nesta pasta e que quando instalado, fica a correr do local onde foi instalado. Não é sensato deixar o serviço a correr a partir da drive de CD.

Para desinstalar o serviço, basta voltar à pasta onde se encontra o executável e correr o comando “blnsvr.exe -u”.

Mesmo assim, a não ser que já tenham activado o ksm em Linux, ainda não está a funcionar.
Para tal, temos que aceder à máquina com Linux, onde está a correr o KVM e correr o comando “echo 1 > /sys/kernel/mm/ksm/run”.

Para verificar que está a funcionar, esperar um minuto e executar o comando “for ii in /sys/kernel/mm/ksm/* ; do echo -n “$ii: ” ; cat $ii ; done”.
Os valores são vários contadores do que o ksm está a fazer. Se não estiverem a zero, está a funcionar.

E assim se concluí este pequeno guia. Nas outras versões de Windows, os procedimentos são semelhantes. O que pode variar é a instalação por disquete em versões iguais ou anteriores ao XP/2003.
Existem outras optimizações que se podem fazer ao KVM, mas não ligadas directamente ao Windows como máquina virtual.
Penso que este guia é um bom princípio para ter uma máquina virtual Windows no KVM de forma optimizada.

Página anterior 1 2 3

Artigos Relacionados

Botão Voltar ao Topo