KVM

Como instalar KVM / QEMU no CentOS 8

Como instalar KVM / QEMU no CentOS 8
A forma completa de KVM é Kernel Virtual Machine. É uma solução de virtualização para Linux. KVM é um módulo do kernel Linux que permite que o kernel Linux atue como um programa 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.

Habilitando a virtualização de hardware:

Você deve habilitar a extensão de virtualização de hardware da BIOS do seu computador para que o KVM funcione. Para processadores Intel, você deve habilitar o recurso de processador VT-x ou VT-d no BIOS. Para processadores AMD, você deve habilitar o recurso de processador AMD-v no BIOS.

Depois de habilitar a virtualização de hardware no BIOS, execute o seguinte comando para verificar se a extensão VT-x / VT-d ou AMD-v está habilitada.

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

Você deve ter o svm ou vmx sinalizador disponível na saída se você tiver a virtualização de hardware habilitada no BIOS.

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

Atualizando o sistema:

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

Primeiro, atualize o cache do repositório de pacotes DNF de 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 de sua máquina CentOS 8 com o seguinte comando:

atualização $ sudo dnf

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

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

Assim que o download do pacote for concluído, ele deve instalar todos os pacotes baixados. Pode demorar um pouco para ser concluído.

Neste ponto, seu sistema CentOS 8 deve estar atualizado.

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

$ sudo reboot

Configurando o SELinux para o modo permissivo:

A configuração do SELinux para KVM está fora do escopo deste artigo. Se você deixar o SELinux em obrigando modo (padrão), você obterá erros de permissão negada ao criar máquinas virtuais KVM. Se você não tem experiência com SELinux, deve configurá-lo para permissivo modo. Caso contrário, você não será capaz de criar máquinas virtuais KVM.

Para definir SELinux para 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

Mudar a linha SELINUX = aplicando para SELINUX = permissivo como marcado na imagem abaixo.

Assim que terminar, pressione + X seguido pela Y e para salvar o arquivo de configuração.

Para que as alterações tenham efeito, reinicie o computador com o seguinte comando:

$ sudo reboot

Instalando KVM:

Você pode instalar facilmente todos os pacotes necessários para 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 então pressione .

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

Assim que o download do pacote for concluído, ele deve instalar todos os pacotes baixados. Pode demorar um pouco para ser concluído.

Neste ponto, o KVM deve estar instalado.

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

$ sudo systemctl status libvirtd

Como você pode ver, o libvirtd serviço é ativo/corrida. libvirtd serviço é muito importante. Se não estiver em execução, você não será capaz de administrar KVM.

Se o libvirtd 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 --version

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

Instalando 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-install

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

virt-install deve ser instalado.

Configurando diretórios KVM necessários:

Acho que é uma boa ideia manter todos os dados da máquina virtual organizados. Eu normalmente mantenho todos os dados da máquina virtual KVM em / kvm / diretório. No / kvm / diretório, eu crio 2 subdiretórios disco/ e iso /. No disco/ subdiretório, mantenho todos os arquivos do 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 Ubuntu Desktop 20.04 máquina virtual LTS KVM.

Primeiro, você deve baixar o Ubuntu Desktop 20.04 imagem de instalação LTS ISO. 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 até o / kvm / iso / diretório com o seguinte comando:

$ cd / kvm / iso

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

$ sudo wget https: // releases.ubuntu.com / 20.04 / ubuntu-20.04.1-desktop-amd64.iso

wget deve começar a baixar o Ubuntu Desktop 20.04 imagem ISO LTS. Vai demorar um pouco para ser concluído.

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

O Ubuntu Desktop 20.A imagem ISO de 04 LTS está disponível no / kvm / iso / como você pode ver na imagem abaixo.

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

$ sudo virt-install --name udesktop20_04-01 \
--os-type linux \
--os-variant ubuntu19.10 \
--ram 4096 \
--disk / kvm / disk / udesktop20_04-01.img, dispositivo = disco, barramento = virtio, tamanho = 20, formato = qcow2 \
--gráficos vnc, ouvir = 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 iremos instalar é Linux.

A variante do sistema operacional é ubuntu19.10. O banco de dados do sistema operacional do CentOS 8 não tem uma entrada para o Ubuntu 20.04 LTS no momento em que este livro foi escrito. Então, usei as informações do Ubuntu 19.10.

O tipo de sistema operacional e os valores das variantes do sistema operacional não são aleatórios. Você pode encontrar o tipo de sistema operacional e a variante de sistema operacional para sua 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 de sistema operacional do Ubuntu 19.10 é Linux e a variante do sistema operacional é ubuntu19.10.

$ osinfo-query os --fields = nome, short-id, family | grep -i Ubuntu

A RAM (Random Access Memory) da VM será de 4.096 MB (Megabytes) ou 4 GB (Gigabytes).

O disco virtual da VM será salvo no / kvm / disk / udesktop20.01/04.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 estará ouvindo em todas as interfaces de rede disponíveis configuradas em seu host CentOS 8 KVM.

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

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

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

Defina a ordem de inicialização da máquina virtual. A primeira entrada de inicialização é o CD / DVD ROM virtual e, em seguida, o disco rígido virtual. Assim, a máquina virtual será capaz de inicializar a partir do Ubuntu Desktop 20.04 LTS ISO image e instale Ubuntu Desktop 20.04 LTS no disco rígido.

Essas são todas as opções de 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 configuração da sua 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 é criada, você pode listá-la com o seguinte comando:

lista de $ virsh --todos

O comando deve mostrar todas as máquinas virtuais KVM que você tem. No momento, 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 é corrida. 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, porto 0 significa porto 5900. Da mesma forma, porto 1 significa porto 5901 e assim por diante.

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

$ sudo netstat -tln

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

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

Para que as alterações do 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 se conectar à máquina virtual via VNC, você deve saber o endereço IP do seu host CentOS 8 KVM.

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

$ ip a

No meu caso, o endereço IP é 192.168.0.103. Será diferente para você. Portanto, certifique-se de substituí-lo pelo seu a partir de agora.

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

Clique em Prosseguir.

Clique em Prosseguir.

Você deve estar conectado à tela 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, irei instalar o Ubuntu Desktop 20.04 sistema operacional LTS na máquina virtual.

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

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

Aperte .

A conexão VNC deve ser fechada.

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

lista de $ sudo virsh --todos

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 perfeitamente na máquina virtual KVM.

Removendo máquinas virtuais KVM:

Você também pode remover uma máquina virtual KVM muito facilmente com o virsh ferramenta de linha de comando.

Como você pode ver, tenho 2 máquinas virtuais KVM (udesktop20_04-01 e udesktop20_04-02) em execução no meu host CentOS 8 KVM. Vamos remover udesktop20_04-02 Máquina virtual KVM.

lista de $ virsh --todos

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

lista de $ virsh --todos

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

$ virsh destroy udesktop20_04-02

Como você pode ver, o udesktop20_04-02 máquina virtual está desligada.

lista de $ virsh --todos

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.

lista de $ virsh --todos

Problema nº 1: corrigindo cpu-> kvm_msr_buf-> nmsrs Erro de declaração

Ao criar uma máquina virtual KVM no host KVM CentOS 8, você pode ver a seguinte mensagem de erro. É um bug do kernel. Normalmente, isso acontece quando você executa o KVM dentro de outra máquina virtual. Estou executando o KVM dentro de uma máquina virtual VMware. É por isso que eu tenho esse erro, eu 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 arquivo deve ser aberto. Você deve habilitar a opção específica do processador para virtualização aninhada KVM a partir daqui.

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

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

Em seguida, adicione a linha opções kvm ignore_msrs = 1 no final do arquivo como mostrado na imagem abaixo.

Assim que terminar, pressione + X seguido pela Y e para salvar o / etc / modprobe.d / kvm.conf Arquivo.

Em seguida, reinicie seu host CentOS 8 KVM com o seguinte comando para que as alterações tenham efeito.

$ sudo reboot

Seu problema deve ser resolvido.

Problema nº 2: Correção de erro de 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 é definida para 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 este problema, selecione Baixo, Médio, ou Alto de Qualidade da foto menu suspenso.

Quando terminar, clique em OK.

Seu problema deve ser resolvido.

Conclusão:

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

Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...
Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...
Ferramentas úteis para jogadores de Linux
Se você gosta de jogar no Linux, é provável que tenha usado aplicativos e utilitários como Wine, Lutris e OBS Studio para melhorar a experiência de jo...