Notas Técnicas do zhaoJian

Instalacao do QEMU+KVM, libvirt e Virt-Manager em distribuicoes Arch Linux como EndeavourOS e Manjaro

Tecnologia ~5559 palavras · 14 min de leitura - visualizações

QEMU, KVM, libvirt e Virt-Manager sao componentes-chave para construir solucoes de virtualizacao. Cada um desempenha um papel diferente, mas trabalham em conjunto para fornecer funcionalidades poderosas de virtualizacao.

QEMU e um emulador de hardware de proposito geral e gerenciador de maquinas virtuais de codigo aberto. Pode funcionar como um emulador puro (desempenho mais baixo) ou combinado com o KVM para fornecer virtualizacao acelerada por hardware (desempenho mais alto, comparavel ao hardware nativo).

KVM e um modulo do kernel Linux que roda diretamente no kernel Linux. Usando tecnologia de virtualizacao de hardware, pode alcancar desempenho proximo ao do hardware nativo.

libvirt e um conjunto de APIs e ferramentas de codigo aberto para gerenciar plataformas de virtualizacao (como QEMU/KVM, Xen, VMware, Hyper-V, etc.).

Virt-Manager e uma ferramenta de gerenciamento com interface grafica que nao gerencia maquinas virtuais diretamente, mas e dedicada a gerenciar maquinas virtuais fornecidas pelo libvirt. E voltada principalmente para usuarios que nao estao familiarizados com a linha de comando, oferecendo uma interface grafica conveniente.

KVM ja vem integrado ao kernel Linux e, quando combinado com o QEMU, implementa virtualizacao de alto desempenho. O libvirt simplifica a complexidade do QEMU e fornece funcionalidades de gerenciamento via linha de comando, sendo a ferramenta central de gerenciamento de virtualizacao. Virt-Manager e a interface grafica do libvirt, adequada para usuarios que precisam de uma interface GUI para gerenciar maquinas virtuais de forma mais conveniente.

Instalacao dos componentes necessarios para executar maquinas virtuais

yay -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables swtpm
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
sudo usermod -aG libvirt $USER
  1. qemu e uma maquina virtual e emulador de proposito geral e de codigo aberto. Permite executar outros sistemas operacionais dentro de um sistema operacional, suportando virtualizacao completa do sistema e emulacao de processos.

  2. virt-manager e uma ferramenta grafica de gerenciamento de maquinas virtuais que simplifica a criacao, gerenciamento e monitoramento de maquinas virtuais.

  3. virt-viewer e uma ferramenta leve de visualizacao remota que permite conectar ao console grafico de maquinas virtuais (via protocolo SPICE ou VNC).

  4. dnsmasq e um servidor DNS e DHCP leve. O Libvirt o utiliza para fornecer conexao de rede NAT para maquinas virtuais (configuracao padrao).

  5. vde2 e um switch virtual usado para criar ambientes de rede virtual. E uma ferramenta opcional, principalmente para configuracoes avancadas de rede virtual, adequada para usuarios que precisam de topologias de rede complexas.

  6. bridge-utils fornece ferramentas de gerenciamento de rede em ponte, usadas para fazer a ponte entre a interface de rede da maquina virtual e a interface de rede fisica. Se voce precisa que a maquina virtual acesse diretamente a rede externa (modo ponte), isso e necessario.

  7. openbsd-netcat e uma ferramenta para depuracao de rede e transferencia de dados, suportando protocolos TCP e UDP. O Libvirt o utiliza para algumas tarefas relacionadas a rede (por exemplo, transferencia de dados entre hosts remotos).

  8. ebtables e uma ferramenta de espaco de usuario para gerenciar as tabelas de filtragem de ponte do kernel Linux. E necessario para gerenciar regras de trafego de rede de maquinas virtuais em redes em ponte.

  9. swtpm e um TPM emulado por software que permite que maquinas virtuais usem funcionalidades TPM sem necessidade de hardware fisico. Suporta Windows 11 ou outros cenarios que requerem TPM.

Implementacao de compartilhamento de area de transferencia e funcao de arrastar e soltar arquivos no QEMU e virt-manager

yay -S spice-vdagent qemu-guest-agent
sudo pacman -S spice-vdagent qemu-guest-agent
  1. spice-vdagent e usado principalmente para melhorar a experiencia do usuario, fornecendo compartilhamento de area de transferencia, arrastar e soltar arquivos e outras funcionalidades.
  2. qemu-guest-agent fornece capacidades de gerenciamento e comunicacao entre a maquina virtual e o host, permitindo que a maquina virtual execute operacoes e tarefas de gerenciamento mais eficientes.

Apos a instalacao, e necessario configurar a maquina virtual no virt-manager (lado do host Linux)

  1. Protocolo de exibicao Spice Servidor Spice - Tipo: Servidor Spice

Protocolo de exibicao Spice

  1. Adicionar hardware (dois): Canal: selecione o nome com.redhat.spice.0 Canal: selecione o nome org.qemu.guest_agent.0

Adicionar hardware - Canal com.redhat.spice.0

Adicionar hardware - Canal org.qemu.guest_agent.0

Instale o software Spice Guest Tools dentro da maquina virtual (sistema convidado/sistema da maquina virtual instalada) para habilitar o suporte a compartilhamento de area de transferencia, arrastar e soltar arquivos e outras funcionalidades.

Se aparecer o erro “Erro ao iniciar o dominio: operacao necessaria invalida: rede ‘default’ nao esta ativa” durante a execucao, e necessario iniciar a rede default.

Iniciar a rede default

sudo virsh net-start default

Configurar para iniciar automaticamente na inicializacao

sudo virsh net-autostart default
Compartilhar:

Comentários