A biblioteca libvirt é usada para comunicar com diferentes tecnologias de virtualização. Antes de começar a usar a libvirt é melhor ter certeza de que o seu hardware suporta as extensões de virtualização necessárias para a KVM. Digite o seguinte em um terminal:
egrep '(vmx|svm)' /proc/cpuinfo
Se nada é impresso, significa que a sua CPU não suporta virtualização de hardware.
|
|
|
Na maioria dos computadores que suportam virtualização, é necessário ativar uma opção na bios para habilitá-la. O método descrito acima não exibe o estado dessa ativação. |
Existem diferentes maneiras de permitir que uma máquina virtual acesse a rede externa. A configuração padrão de rede virtual é rede usermode, o qual usa o protocolo SLIRP e o tráfego é feito com NAT através da interface do host para a rede externa.
Para permitir que hosts externos acessem diretamente serviços em suas máquinas virtuais, uma ponte deve ser configurada. Isso permite que as interfaces virtuais se conectem à rede externa através da interface física, fazendo com que elas apareçam como hosts normais para o resto da rede. Para mais informações sobre como configurar uma ponte, veja “Ponte”.
Para instalar os pacotes necessários, digite a partir de um terminal:
sudo apt-get install kvm libvirt-bin
Depois da instalação do libvirt-bin, será necessário adicionar o usuário usado para gerenciar as máquinas virtuais ao grupo libvirtd. Fazer isso irá conceder ao usuário o acesso às opções avançadas de rede.
Digite no terminal:
sudo adduser $USER libvirtd
|
|
|
Se o usuário escolhido é o usuário atual, você precisará sair e entrar novamente para que a associação ao novo grupo tenha efeito. |
Você agora está pronto para instalar o sistema operacional Convidado. Instalar uma máquina virtual segue o mesmo processo de instalação de um sistema operaciconal direto no hardware. Você precisará também de uma maneira para automatizar a instalação, ou um teclado e o monitor precisarão estar conectados fisicamente na máquina.
No caso de máquinas virtuais uma Interface Gráfica de Usuário (GUI) é análoga a utilização de um teclado e mouse físico. Ao invés de instalar a GUI a aplicação virt-viewer pode ser usada para conectar ao console de máquinas virtuais usando o VNC. Veja “Visualizador da Máquina Virtual” para mais informações.
Há várias maneiras de automatizar o processo de instalação do Ubuntu, por exemplo, usando preseeds, kickstart, etc. Consulte o Guia de instalação do Ubuntu para maiores detalhes.
Um outro método de instalação de uma máquina virtual com Ubuntu é utilizar ubuntu-vm-builder. ubuntu-vm-builder permite que você configure partições avançadas, execute scripts pós-instalação customizados etc. Para detalhes veja “JeOS e vmbuilder”
O virt-install é parte do pacote python-virtinst. Para instala-lo, digite a partir de um terminal:
sudo apt-get install python-virtinst
Existem várias opções disponíveis para usar o virt-install. Por exemplo:
sudo virt-install -n web_devel -r 256 -f web_devel.img \ -s 4 -c jeos.iso --accelerate \ --connect=qemu:///system --vnc \ --noautoconsole -v
-
-n web_devel: O nome da nova máquina virtual neste exemplo será web_devel.
-
-r 256: especifica a quantidade de memória que a máquina virtual irá utilizar.
-
-f web_devel.img: indica o caminho para o disco virtual que pode ser um arquivo, partição ou volume lógico. Neste exemplo, um arquivo chamado
web_devel.img. -
-s 4: o tamanho do disco virtual.
-
-c jeos.iso: arquivo que será usado como um CDROM virtual. O arquivo pode ser um arquivo ISO ou o caminho para o dispositivo de CDROM dá máquina.
-
--accelerate: habilita as tecnologias de aceleração do kernel.
-
--vnc: exporta o console virtual do convidado usando VNC.
-
--noautoconsole: não conectará automaticamente no console da máquina virtual.
-
-v: cria um visitante totalmente virtual
Após carregar o virt-install você pode conectar no console da máquina virtual tanto localmente usando um GUI quanto com o utilitário virt-viewer.
A aplicação virt-clone pode ser usada para copiar uma máquina virtual para outra. Por exemplo:
sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img --connect=qemu:///system
-
-o: máquina virtual original.
-
-n: nome da nova máquina virtual.
-
-f: caminho para o arquivo, volume lógico ou partição a ser usada pela nova máquina virtual.
-
--connect: especifica em qual hypervisor irá conectar.
Também, use a opção -d ou --debug para auxiliar a encontrar problemas com o virt-clone.
|
|
|
Substitua web_devel e database_devel com o nome apropriado da máquina virtual. |
Existem vários utilitários disponíveis para gerenciar máquinas virtuais e libvirt. O utilitário virsh pode ser usado pela linha de comando, Alguns exemplos:
-
Para listar máquinas virtuais sendo executadas:
virsh -c qemu:///system list -
Para iniciar uma máquina virtual:
virsh -c qemu:///system start web_devel -
Da mesma forma, para iniciar uma máquina virtual durante o boot:
virsh -c qemu:///system autostart web_devel -
Reiniciar uma máquina virtual com:
virsh -c qemu:///system reboot web_devel -
O estado da máquina virtual pode ser salvo em um arquivo de modo que possa ser restaurado posteriormente. A declaração a seguir salva o estado da máquina virtual em um arquivo nomeado de acordo com a data:
virsh -c qemu:///system save web_devel web_devel-022708.stateUma vez salvo, a máquin virtual não estará mais sendo executada.
-
Uma máquina virtual salva pode ser restaurada usando:
virsh -c qemu:///system restore web_devel-022708.state -
Para desligar uma máquina virtual faça:
virsh -c qemu:///system shutdown web_devel -
Um dispositivo de CDDROM pode ser montado em uma máquina virtual digitando:
virsh -c qemu:///system attach-disk web_devel /dev/cdrom /media/cdrom
|
|
|
Nos exemplos acima, substitua web_devel com o nome da máquina virtual apropriado, e |
O pacote virt-manager contém um utilitário gráfico para gerenciar máquinas virtuais locais e remotas. Para instalar o virt-manager digite:
sudo apt-get install virt-manager
Desde que o virt-managerexige um ambiente Interface Grlibvirt digite:
virt-manager -c qemu:///system
Você pode conectar ao serviço do libvirt executado em outra máquina digitando o seguinte em um terminal:
virt-manager -c qemu+ssh://virtnode1.mydomain.com/system
|
|
|
O exemplo acima assume que a conectividade SSH entre o sistema de gerenciamento e o virtnode1.mydomain.com tenha sido configurada, e utilize chaves SSH para autenticação. Chaves SSH são necessárias porque o libvirt envia o prompt de senha para outro processo. Para mais detalhes de como configurar o SSH veja “Servidor OpenSSH” |
A aplicação virt-viewer permite que você conecte ao console de uma máquina virutal. O virt-viewer não requer uma Interface Gráfica de Usuário (GUI) como interface com a máquina virtual.
Para instalar o virt-viewer de um terminal, digite:
sudo apt-get install virt-viewer
Uma vez que a máquina virtual esteja instalada e sendo executada você podera conectar ao console da máquina virtual usando:
virt-viewer -c qemu:///system web_devel
Da mesma forma que o virt-manager, o virt-viewer pode conectar à máquina remota usando SSH com a autenticação de chaves:
virt-viewer -c qemu+ssh://virtnode1.mydomain.com/system web_devel
Assegure-se de substituir web_devel com o nome apropriado da máquina virtual.
Se configurado para usar uma placa de rede bridged você também pode configurar o acesso SSH para a máquina virtual. Veja “Servidor OpenSSH” e “Ponte” para mais detalhes.

