O KVM é um módulo do Linux que o transforma em um hypervisor, um software que intercepta parte ou toda a comunicaçao entre o Kernel de uma máquina virtual (que comumnente roda no ring 3) e a CPU, permitindo a tecnologia da virtualizaçao.
O KVM faz uso pesado dos recursos de virtualizaçao implementados nas novas arquiteturas de CPU da Intel e AMD. Algo que está sendo chamado de HAV - Hardware Assisted Virtualization[1].
1. Instalando o KVM no Fedora
Nota inicial: não é requisito obrigatório, mas é importante que o sistema seja 64 bits. Arquiteturas de 64 bits, além de permitir um endereçamento de memória superior a 2 GB, possibilitará rodar VM's de 32 e 64 bits.
Após a instalaçao normal do sistema, verifique se hardware tem suporte a virtualizaçao:
# egrep -c '(vmx|svm)' /proc/cpuinfo |
Se retornar 0, nao existe suporte de hardware a virtualizaçao. Se retornar 1 ou mais, há suporte.
Observaçao: mesmo que nao haja suporte de hardware, o KVM poderá ser instalado e executado, mas o desempenho será bem baixo.
Instale os pacotes necessários:
# yum install kvm virt-manager libvirt libvirt-python python-virtinst virt-viewer |
2. Configuração Básica
Verifique se o ambiente de virtualização está funcional:
# virsh -c qemu:///system list |
O comando acima deve retornar sem erros. Caso haja erros, verifique se o daemon libvirtd está rodando.
# service libvirtd status |
E, se não estiver:
# service libvirtd start |
3. Instalando VM's
Você deverá ter a imagem em disco do sistema operacional a instalar ou a mídia de instalação.
Colocaremos as imagens dos sistemas a instalar e as imagens dos sistemas criados no diretório /var/lib/libvirt/images/
Vamos diferenciar imagens instaláveis das imagens instaladas através do prefixo dos arquivos:
.iso - Imagem para instalação.
.img - Imagem do sistema já instalado.
Obs.: A localização das imagens e os prefixos não são padrão, apenas convenções criadas para o âmbito desse tutorial.
Nesse documento, instalaremos as imagens do Debian, versão 6. Faça o download da imagem do CD de instalação e copie o arquivo .iso para /var/lib/libvirt/images.
Inicie a instalação do SO:
# virt-install --name debian6_vm1 --ram 512 --os-type linux --os-variant debiansqueeze --disk path=/var/lib/libvirt/images/debian6_vm1.img,size=5 --vnc--cdrom /var/lib/libvirt/images/debian-6.0.5-amd64-CD-1.iso |
Os parâmetros passados para a criação da máquina são explicados abaixo:
name: Nome da VM.
ram: Quantidade de RAM, em MB.
os-type: Tipo do sistema operacional (Linux, FreeBSD, Windows etc).
os-variant: Versão do SO (ver manpage do virt-install).
disk: parâmetro que permite subparâmetros relacionados ao storage:
path: local onde a VM será armazenada e o nome do arquivo.
size: espaço alocado para a VM, e GB.
vnc: Acesso ao console da VM via protocolo VNC.
cdrom: Dispositivo leitor de CD. Pode ser indicado um arquivo de imagem (ISO).
Caso o procedimento inicie com sucesso, um console (processo virt-viewer) será aberto automaticamente. Se não, execute o virt_viewer manualmente, passando como parâmetro o nome da VM a visualizar:
# virt-viewer debian6-vm1 |
Parte 2: Gerência de VM's com o virsh
Referências:
[1] White Paper: KVM - Kernel Based Virtual Machine [Red Hat]
Links:
https://help.ubuntu.com/community/KVM/Installation