KVM é um software de virtualização de hardware de código aberto através do qual podemos criar e executar múltiplas máquinas virtuais baseadas em Linux e Windows simultaneamente. KVM é conhecido como Máquina Virtual baseada no Kernel porque quando instalamos o pacote KVM então o módulo KVM é carregado no kernel atual e transforma nossa máquina Linux em um hypervisor.
Neste post primeiro vamos demonstrar como podemos instalar o KVM hypervisor no CentOS 7.x e RHEL 7.x e então vamos tentar instalar máquinas virtuais.
Antes de proceder a instalação do KVM, vamos verificar se a CPU do seu sistema suporta Virtualização de Hardware.
Executar o comando abaixo do console.
# grep -E '(vmx|svm)' /proc/cpuinfo
Devemos obter a palavra vmx ou svm na saída, caso contrário a CPU não suporta virtualização.
Passo:1 Instale o KVM e seus pacotes associados
Execute o seguinte comando yum para instalar o KVM e seus pacotes associados.
# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
Inicie e habilite o serviço libvirtd
# systemctl start libvirtd# systemctl enable libvirtd
Execute o comando abaixo para verificar se o módulo KVM está carregado ou não
# lsmod | grep kvmkvm_intel 162153 0kvm 525409 1 kvm_intel#
No caso de ter a instalação do CentOS 7 e RHEL 7, então o virt-manger não iniciará para que você precise instalar o pacote x-window.
# yum install "@X Window System" xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y
Reinicie o Servidor e depois tente iniciar o virt manager.
Step:2 Iniciar o Virt Manager
Virt Manager é uma ferramenta gráfica através da qual podemos instalar e gerir máquinas virtuais. Para iniciar o virt manager digite o comando ‘virt-manager’ do terminal.
# virt-manager
Step:3 Configure a interface Bridge
Antes de começar a criar as VMs , vamos primeiro criar a interface bridge. A interface Bridge é necessária se você quiser acessar máquinas virtuais de fora de sua rede hypervisor.
# cd /etc/sysconfig/network-scripts/# cp ifcfg-eno49 ifcfg-br0#
No comando cp substitua o nome da interface que se adequa ao seu sistema e então edite o arquivo Interface e configure os seguintes:
# vi ifcfg-eno49TYPE=EthernetBOOTPROTO=staticDEVICE=eno49ONBOOT=yesBRIDGE=br0
Editar o arquivo Bridge (ifcfg-br0) e configure os seguintes:
# vi ifcfg-br0TYPE=BridgeBOOTPROTO=staticDEVICE=br0ONBOOT=yesIPADDR=192.168.10.21NETMASK=255.255.255.0GATEWAY=192.168.10.1DNS1=192.168.10.11
Substitua o endereço IP e os detalhes do servidor DNS de acordo com sua configuração.
Reinicie o serviço Network Manager para habilitar a interface bridge.
# systemctl restart NetworkManager#
Nota: Por padrão, no CentOS 7 / RHEL 7 o serviço Network Manager está habilitado e se tiver feito alterações nos arquivos de rede, então devemos reiniciar o serviço Network Manager para fazer as alterações no efeito. No caso do serviço Network Manager estar desativado e parado, então podemos usar o serviço de rede (systemctl restart network)
Cheque a interface Bridge usando o comando abaixo :
# ip addr show br0
Passo:4 Iniciar a Criação de Máquinas Virtuais.
Criar Máquina Virtual agora ou a partir da linha de comando usando o comando ‘virt-install’ ou a partir do GUI (virt-manager)
>
Criemos uma máquina virtual do “Windows Server 2012 R2” usando o virt-manager.
>
Inicie o “virt-manager”
>
Vá para a opção File, clique em “New Virtual Machine”
>
>
>
Estaremos usando o arquivo ISO como mídia de instalação. No próximo passo Especifique o caminho do arquivo ISO.
Clique em Avançar.
Especifique os Recursos de Cálculo : RAM e CPU conforme sua configuração.
Clique em Forward para prosseguir.
>
Especifique o tamanho de armazenamento da Máquina Virtual, No meu caso estou usando 25G.
>
>
>
No próximo passo Especifique o Nome da Máquina Virtual e selecione a rede como ‘ Bridge bro’
>
>
>
Clique em Finish para iniciar a instalação.
Seguir as instruções da tela e completar a instalação.
Criar uma máquina virtual a partir da linha de comando:
Máquinas Virtuais podem ser criadas a partir do console, bem como usando o comando ‘virt-install’. No exemplo a seguir vou para a máquina virtual do Ubuntu 16.04 LTS.
# virt-install --name=Ubuntu-16-04 --file=/var/lib/libvirt/images/ubuntu16-04.dsk --file-size=20 --nonsparse --graphics spice --vcpus=2 --ram=2048 --cdrom=ubuntu-16.04-server-amd64.iso --network bridge=br0 --os-type=linux --os-variant=genericStarting install...Allocating 'ubuntu16-04.dsk' | 20 GB 00:00:00Creating domain...
Seguir as instruções agora e completar a instalação.
No comando ‘virt-install’ acima nós usamos as seguintes opções :
- -nome = <Nome da Máquina Virtual>
- -arquivo = <Local onde o nosso arquivo de disco da máquina virtual será armazenado >
- -tamanho do arquivo = <Tamanho da Máquina Virtual, no meu caso é 20GB >
- -nonsparse = < Alocar todo o armazenamento enquanto cria>
- -gráficos = < Especificar a ferramenta gráfica para instalação interativa, no exemplo acima estou usando spice >
- -vcpu = < Número de CPU virtual para a máquina >
- -ram = < Tamanho da RAM para a máquina virtual >
- -cdrom = < CD ROM virtual que especifica a mídia de instalação como arquivo ISO >
- -network = < é usado para especificar qual a rede que usaremos para a máquina virtual, neste exemplo eu sou interface bridge>
- -os-type = < Tipo de sistema operacional como linux e janela>
- -os-variant= <KVM mantém as variantes do SO como ‘fedora18′, ‘rhel6’ e ‘winxp’ , esta opção é opcional e se você não tem certeza sobre a variante de SO você pode mencioná-la como genérica>
Após a instalação estar concluída, podemos acessar a console da Máquina Virtual a partir do ‘virt-manager’, como mostrado abaixo.
É isso, instalação básica e configuração do KVM hypervisor está completada.