Como instalar o KVM/Qemu no CentOS 8

Como instalar o KVM/Qemu no CentOS 8
A forma completa de KVM é a máquina virtual do kernel. É uma solução de virtualização para Linux. KVM é um módulo Linux Kernel que permite ao kernel Linux atuar como um programa de hipervisor como VMware Esxi ou VSphere.

Neste artigo, vou mostrar como instalar o KVM no CentOS 8 e criar uma máquina virtual KVM simples com ele. Então vamos começar.

Ativando a virtualização de hardware:

Você deve ativar a extensão da virtualização de hardware do BIOS do seu computador para o KVM funcionar. Para processadores Intel, você deve ativar o recurso de processador VT-X ou VT-D do BIOS. Para processadores AMD, você deve ativar o recurso de processador AMD-V do BIOS.

Depois de ter a virtualização de hardware ativada no BIOS, execute o seguinte comando para verificar se a extensão VT-X/VT-D ou AMD-V está ativada.

$ grep-cor-cor --perl-regexp 'vmx | svm' /proc /cpuinfo

Você deve ter o svm ou VMX Flag disponível na saída se você tiver virtualização de hardware ativada no BIOS.

Estou usando um processador AMD. Então o svm A bandeira está disponível no meu caso. Se você estiver usando um processador Intel, será VMX.

Atualizando o sistema:

Antes de instalar o KVM, você deve atualizar todos os pacotes de software existentes da sua máquina CentOS 8.

Primeiro, atualize o cache do repositório de pacotes DNF da sua máquina CentOS 8 com o seguinte comando:

$ sudo dnf makecache

O cache do repositório de pacotes DNF deve ser atualizado.

Atualize todos os pacotes de software existentes da sua máquina CentOS 8 com o seguinte comando:

$ sudo dnf atualização

Para confirmar a atualização, pressione Y e depois pressione .

O gerenciador de pacotes DNF deve baixar todos os pacotes necessários da Internet.

Depois que o download do pacote estiver concluído, ele deve instalar todos os pacotes baixados. Pode demorar um pouco para completar.

Neste ponto, seu sistema CentOS 8 deve estar atualizado.

Para que as alterações entrem em vigor, reinicie sua máquina CentOS 8 com o seguinte comando:

$ sudo reiniciar

Definindo o Selinux para o modo permissivo:

Configurando o Selinux para KVM está fora do escopo deste artigo. Se você deixar o Selinux em aplicação modo (padrão), você receberá permissão negado erros ao criar máquinas virtuais KVM. Se você não tem experiência com o Selinux, deve configurá -lo como permissivo modo. Caso contrário, você não poderá criar máquinas virtuais KVM.

Para definir o Selinux como permissivo modo, abra o /etc/Selinux/Config arquivo com um editor de texto (eu.e. Nano) com o seguinte comando:

$ sudo nano/etc/Selinux/config

Mude a linha Selinux = Aplicação para Selinux = permissivo conforme marcado na captura de tela abaixo.

Depois de terminar, pressione + X seguido pela Y e Para salvar o arquivo de configuração.

Para que as alterações entrem em vigor, reinicie seu computador com o seguinte comando:

$ sudo reiniciar

Instalando KVM:

Você pode instalar facilmente todos os pacotes necessários para a virtualização KVM no CentOS 8, simplesmente instalando o Host de virtualização grupo de pacotes.

Você pode instalar o Host de virtualização Grupo de pacotes em sua máquina CentOS 8 com o seguinte comando:

$ sudo dnf groupInstall "host de virtualização"

Para confirmar a instalação, pressione Y e depois pressione .

O gerenciador de pacotes DNF deve baixar todos os pacotes necessários da Internet.

Depois que o download do pacote estiver concluído, ele deve instalar todos os pacotes baixados. Pode demorar um pouco para completar.

Neste ponto, o KVM deve ser instalado.

Agora, verifique se o libvirtd O serviço está sendo executado com o seguinte comando:

$ sudo systemctl status libvirtd

Como você pode ver, o libvirtd serviço é ativo/correndo. libvirtd O serviço é muito importante. Se não estiver em funcionamento, você não poderá administrar o KVM.

Se o libvirtd O serviço não está sendo executado no seu caso, você pode iniciá -lo com o seguinte comando:

$ sudo systemctl start libvirtd

Verifique se você pode executar o comando de gerenciamento KVM Virsh do seguinte modo:

$ sudo virsh -versão

O comando deve imprimir as informações da versão, como você pode ver na captura de tela abaixo.

Instalando o Virt-Install:

Virt-Install é uma ferramenta de linha de comando para criar facilmente máquinas virtuais KVM. Virt-Install é baseado em libvirt. Então, as máquinas virtuais criadas usando Virt-Install também pode ser gerenciado com Virsh e virt-manager.

Você pode instalar Virt-Install com o seguinte comando:

$ sudo dnf install virt-intall

Para confirmar a instalação, pressione Y e depois pressione .

Virt-Install deve ser instalado.

Configurando os diretórios KVM necessários:

Eu acho que é uma boa ideia manter todos os dados da máquina virtual organizados. Eu geralmente mantenho todos os dados da máquina virtual KVM em /kvm/ diretório. No /kvm/ Diretório, eu crio 2 subdiretos disco/ e iso/. No disco/ Subdiretório, eu mantenho todos os arquivos de disco rígido da máquina virtual (VM). No iso/ Subdiretório, mantenho as imagens de instalação ISO de diferentes sistemas operacionais (i.e. Ubuntu, Debian, Centos, etc.).

Você pode criar as mesmas estruturas de diretório com o seguinte comando:

$ sudo mkdir -pv /kvm /disco, iso

Criando uma máquina virtual KVM:

Nesta seção, vou mostrar como criar um desktop do Ubuntu 20.04 LTS KVM Virtual Machine.

Primeiro, você deve baixar o Ubuntu Desktop 20.04 LTS ISO Instalation Image. Para manter todos os arquivos/dados da máquina virtual organizados, é uma boa ideia armazenar a imagem ISO no /KVM/ISO/ diretório.

Então, navegue para o /KVM/ISO/ Diretório com o seguinte comando:

$ CD /KVM /ISO

Você pode baixar o Ubuntu Desktop 20.04 LTS ISO Imagem do site oficial do Ubuntu com o seguinte comando:

$ sudo wget https: // libera.Ubuntu.com/20.04/Ubuntu-20.04.1-DESKTOP-AMD64.ISO

WGET deve começar a baixar o Ubuntu Desktop 20.04 LTS ISO Image. Vai demorar um pouco para completar.

Neste ponto, o Ubuntu Desktop 20.04 LTS ISO A imagem deve ser baixada.

A área de trabalho do Ubuntu 20.04 LTS ISO A imagem está disponível no /KVM/ISO/ diretório como você pode ver na captura de tela abaixo.

Uma vez que o Ubuntu Desktop 20.04 LTS ISO A imagem é baixada, você pode criar uma máquina virtual KVM com o seguinte comando:

$ sudo virt-install--name udesktop20_04-01 \
--Linux do tipo OS \
--OS-Variant Ubuntu19.10 \
--RAM 4096 \
--disco/kvm/disk/udesktop20_04-01.img, dispositivo = disco, barramento = virtio, tamanho = 20, formato = qcow2 \
--Gráficos VNC, ouça = 0.0.0.0 \
--Noautoconsole \
--HVM \
--cdrom/kvm/iso/ubuntu-20.04.1-DESKTOP-AMD64.ISO \
--Boot CDROM, HD

Aqui, o nome da máquina virtual será udesktop20_04-01.

O sistema operacional que estaremos instalando é Linux.

A variante do sistema operacional é Ubuntu19.10. O banco de dados OS do CentOS 8 não tem uma entrada para o Ubuntu 20.04 LTS no momento da redação deste artigo. Então, eu usei as informações para o Ubuntu 19.10.

O tipo de os e os valores da variante do sistema operacional não são aleatórios. Você pode encontrar o tipo de OS e a variante do sistema operacional para a distribuição Linux desejada com o Osinfo-Query comando. Como você pode ver, nenhuma entrada para o Ubuntu 20.04 LTS está disponível. Mas uma entrada para o Ubuntu 19.10 está disponível. O tipo OS do Ubuntu 19.10 IS Linux e a variante do sistema operacional é Ubuntu19.10.

$ osinfo-query os--fields = nome, id de curto, família | grep -i ubuntu

A RAM (memória de acesso aleatória) da VM será 4096 MB (megabytes) ou 4 GB (Gigabytes).

O disco virtual da VM será salvo no /kvm/disk/udesktop20.04-01.img arquivo. O disco virtual é sobre 20 GB em tamanho e o formato é QCOW2 (Qemu Copy-on-Write V2)

A máquina virtual estará acessível via protocolo de desktop remoto VNC (Virtual Network Computing) e o servidor VNC ouvirá em todas as interfaces de rede disponíveis configuradas no seu host CentOS 8 KVM.

O host do CentOS 8 KVM não tentará se conectar automaticamente à máquina virtual assim que a máquina virtual for criada. A máquina virtual continuará funcionando em segundo plano.

Use a virtualização completa para a máquina virtual. Isso fará com que as máquinas virtuais tenham melhor desempenho.

Use o Ubuntu Desktop 20.04 LTS ISO Imagem que acabamos de baixar como o CD/DVD virtual ROM da máquina virtual. Usado para instalar o Ubuntu Desktop 20.04 LTS na máquina virtual.

A ordem de inicialização do set da máquina virtual. A primeira entrada de inicialização é o CD/DVD virtual e depois o disco rígido virtual. Portanto, a máquina virtual poderá inicializar no Ubuntu Desktop 20.04 LTS ISO Image e instale o Ubuntu Desktop 20.04 LTS no disco rígido.

São todas as opções que você precisa para criar uma máquina virtual KVM.

Depois de executar o Virt-Install Comando, KVM deve começar a criar a máquina virtual. Pode demorar um pouco, dependendo da sua configuração de máquina virtual.

Neste ponto, a máquina virtual KVM deve ser criada.

Listando máquinas virtuais KVM:

Depois que a máquina virtual KVM for criada, você pode listá -la com o seguinte comando:

$ Virsh List --l

O comando deve mostrar todas as máquinas virtuais KVM que você tem. No momento, eu tenho apenas 1 máquina virtual udesktop20_04-01. Este é o que acabei de criar. Como você pode ver, a máquina virtual udesktop20_04-01 é correndo. Você deve ser capaz de se conectar a ele usando qualquer cliente VNC.

Configurando o firewall para acesso remoto às máquinas virtuais KVM:

Para acessar a máquina virtual KVM remotamente, você deve permitir o acesso do firewall à porta VNC da máquina virtual.

Para encontrar a porta VNC da máquina virtual KVM udesktop20_04-01, Execute o seguinte comando:

$ virsh vncdisplay udesktop20_04-01

Como você pode ver, o número da porta VNC do udesktop20_04-01 Máquina virtual é 0.

Aqui, porta 0 significa porta 5900. Da mesma maneira, porto 1 significa porta 5901 e assim por diante.

Como você pode ver, a máquina virtual KVM udesktop20_04-01 está funcionando na porta 5900 (: 0).

$ sudo netstat -tln

Para permitir o acesso à porta 5900, Execute o seguinte comando:

$ sudo firewall-cmd --add-port = 5900/tcp-permanente

Para que as mudanças no firewall entrem em vigor, execute o seguinte comando:

$ sudo firewall-cmd--reload

Conectando -se remotamente às máquinas virtuais KVM com o cliente VNC:

Para conectar -se à máquina virtual via VNC, você deve conhecer o endereço IP do seu host CentOS 8 KVM.

Você pode encontrar o endereço IP do seu host do CentOS 8 KVM com o seguinte comando:

$ ip a

No meu caso, o endereço IP é 192.168.0.103. Vai ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.

Abra qualquer cliente VNC e conecte -se ao endereço 192.168.0.103: 0.

Clique em Continuar.

Clique em Continuar.

Você deve estar conectado à exibição do udesktop20_04-01 Máquina virtual KVM, como você pode ver na captura de tela abaixo.

Agora, você pode instalar o sistema operacional desejado na máquina virtual.

No meu caso, vou instalar o Ubuntu Desktop 20.04 Sistema operacional LTS na máquina virtual.

Desktop do Ubuntu 20.04 LTS está sendo instalado na máquina virtual KVM. Pode demorar um pouco para completar.

Depois que a instalação estiver concluída, clique em Reinicie agora.

Imprensa .

A conexão VNC deve ser fechada.

A máquina virtual deve ser desligada automaticamente assim que a instalação do sistema operacional estiver concluída, como você pode ver na captura de tela abaixo.

$ sudo virsh list --l

Comece o udesktop20_04-01 Máquina virtual KVM com o seguinte comando:

$ virsh start udesktop20_04-01

A máquina virtual udesktop20_04-01 deve ser iniciado.

Agora, você pode se conectar ao udesktop20_04-01 máquina virtual de um cliente VNC como antes. Como você pode ver, o Ubuntu Desktop 20.04 LTS está funcionando muito bem na máquina virtual KVM.

Remoção de máquinas virtuais KVM:

Você também pode remover uma máquina virtual KVM com muita facilidade com o Virsh ferramenta de linha de comando.

Como você pode ver, eu tenho 2 kvm de máquinas virtuais (udesktop20_04-01 e udesktop20_04-02) Correndo no meu host do CentOS 8 KVM. Vamos remover udesktop20_04-02 Máquina virtual KVM.

$ Virsh List --l

Como você pode ver, o udesktop20_04-02 Máquina virtual KVM é correndo. Você deve parar antes de removê -lo.

$ Virsh List --l

Para forçar parar o udesktop20_04-02 Máquina virtual KVM, execute o seguinte comando:

$ virsh destruir udesktop20_04-02

Como você pode ver, o udesktop20_04-02 Máquina virtual é desligada.

$ Virsh List --l

Você pode remover permanentemente o udesktop20_04-02 Máquina virtual e todos os seus discos rígidos virtuais anexados com o seguinte comando:

$ Virsh Undefine-Remove-All-Storage UDESKTOP20_04-02

Como você pode ver, o udesktop20_04-02 Máquina virtual não está mais disponível.

$ Virsh List --l

Edição#1: Corrigindo CPU-> KVM_MSR_BUF-> NMSRS ORRO DE ASSERTION

Ao criar uma máquina virtual KVM no host do CentOS 8 KVM, você pode ver a seguinte mensagem de erro. É um bug do kernel. Geralmente, isso acontece quando você executa KVM dentro de outra máquina virtual. Estou executando KVM dentro de uma máquina virtual VMware. É por isso que recebi esse erro que acredito. É fácil de consertar.

Abra o arquivo de configuração /etc/modprobe.d/kvm.conf com o seguinte comando:

$ sudo nano /etc /modprobe.d/kvm.conf

O /etc/modprobe.d/kvm.conf O arquivo deve ser aberto. Você precisa ativar a opção específica do processador para a virtualização aninhada de KVM daqui.

Se você estiver usando um processador Intel, descomment a linha marcada na captura de tela abaixo.

Se você estiver usando um processador AMD, descomentar a linha marcada na captura de tela abaixo.

Então, adicione a linha opções kvm ignore_msrs = 1 no final do arquivo, como mostrado na captura de tela abaixo.

Depois de terminar, pressione + X seguido pela Y e Para salvar o /etc/modprobe.d/kvm.conf arquivo.

Em seguida, reinicie seu host do CentOS 8 KVM com o seguinte comando para que as mudanças entrem em vigor.

$ sudo reiniciar

Seu problema deve ser resolvido.

Edição#2: Corrigindo o erro do protocolo RFB do cliente VNC:

Quando você se conecta à máquina virtual KVM usando um cliente VNC, você pode ver a seguinte mensagem de erro. Esta mensagem de erro é exibida quando a qualidade da imagem do cliente VNC está definida como Automático. É fácil de consertar.

Clique no Propriedades Ícone do seu cliente VNC.

Como você pode ver, o Qualidade da foto está configurado para Automático.

Para resolver esse problema, selecione Baixo, Médio, ou Alto de Qualidade da foto menu suspenso.

Depois de terminar, clique em OK.

Seu problema deve ser resolvido.

Conclusão:

Neste artigo, mostrei como instalar o KVM no CentOS 8 e criar máquinas virtuais KVM a partir da linha de comando. Eu também mostrei como remover máquinas e soluções virtuais KVM para alguns problemas comuns de KVM. Isso deve ajudá -lo a começar com a virtualização do Linux KVM.