Criando VMs no DaDesktop utilizando o Virt Manager

Introdução

Ao preparar um curso, é frequentemente útil virtualizar um servidor dentro do DaDesktop e, possivelmente, virtualizar também uma ou duas máquinas clientes da mesma forma, seja usando o mesmo sistema operacional ou uma combinação de Windows/Linux.

A execução de 'VMs Aninhadas' pode ser realizada usando o Virt Manager ou o VirtualBox, com vagrant opcionalmente quando se usa Linux, ou apenas o VirtualBox se estiver usando o Windows 10 como a máquina DaDesktop.

DD Machines Nested Virt

Após extensivos testes, nossa preferência recomendada é usar o Virt Manager, pois há alguns bugs ao usar o VirtualBox; portanto, atualmente, não sugerimos o uso do VirtualBox dessa maneira.

O aplicativo Virt Manager usa a biblioteca libvirt para fornecer serviços de gerenciamento de máquinas virtuais. Possui uma interface de área de trabalho que ajuda a criar, excluir e gerenciar múltiplas máquinas virtuais. É usado primariamente para VMs KVM, mas também pode suportar outros hipervisores, como Xen e LXC.

O Virt Manager também funciona muito bem com o Vagrant, simplesmente assim:

apt install vagrant-libvirt

Vale notar que há menos boxes do Vagrant disponíveis usando libvirt/kvm em comparação ao VirtualBox, mas eles podem ser facilmente convertidos para funcionar com libvirt, como mostrado aqui:

https://medium.com/@gamunu/use-vagrant-with-libvirt-unsupported-boxes-12e719d71e8e

A interface do usuário fornece uma visão resumida de todas as VMs, seu status, uso de CPU, gráfico de desempenho em tempo real das VMs em execução e estatísticas de utilização de recursos.

Se você nunca usou o Virt Manager antes, ele é muito semelhante ao VirtualBox, mas com algumas diferenças importantes descritas abaixo.

Este é um guia decente sobre o uso do virt-manager no Ubuntu Linux - https://www.debugpoint.com/virt-manager/

Por que devo usar o Virt Manager em vez do Virtualbox?

Vantagens
  1. O desempenho é muito melhor - O Virt Manager usa drivers VirtIO para armazenamento, rede e gráficos, o que proporciona um desempenho muito superior. Os drivers Virtio são drivers de dispositivos para-virtualizados do KVM, disponíveis para máquinas virtuais convidadas Linux e Windows executadas em hosts KVM. O pacote virtio suporta dispositivos de bloco (armazenamento) e controladores de interface de rede, além de gráficos. Os drivers VirtIO são de código aberto, portanto, podem ser facilmente instalados caso não estejam pré-instalados na sua distribuição Linux.
  2. Mais opções de configuração disponíveis
  3. Funciona bem com o Vagrant
  4. Algumas partes do VirtualBox não são totalmente de código aberto
  5. O Virt Manager não necessita de recompilação de módulos sempre que uma nova atualização de kernel é feita, como é o caso do VirtualBox.
  6. O VirtualBox é conhecido por apresentar falhas quando uma nova atualização de kernel é necessária.
Desvantagens
  1. Podemos dizer que o VirtualBox tem uma curva de aprendizado ligeiramente menor
  2. A configuração de 'Rede do Host' em vez de NAT é mais fácil no VirtualBox, no entanto, o NAT funciona para a maioria dos casos de uso de rede em ambos os sistemas sem muitas dificuldades.
  3. O VirtualBox está disponível em muitas plataformas, enquanto o Virt Manager está disponível apenas no Linux


Em resumo, verificamos que, para executar servidores dentro de uma máquina DaDesktop, o Virt Manager é preferível.

Instalação

Como o libvirt está em constante evolução, use sempre a versão mais recente não LTS do Ubuntu ou Debian.

Instalação do kvm e virt-manager. Estas são notas de instalação muito breves; no entanto, siga um guia atualizado para o DaDesktop OS de sua preferência. Aqui está um guia: https://www.debugpoint.com/virt-manager/

sudo apt install virt-manager
sudo adduser student libvirt
sudo systemctl restart libvirtd

Reinicie a máquina DaDesktop e execute o Virt Manager a partir do menu Aplicativos

Configuração

  1. Como importar ou converter máquinas virtuais? Embora seja fácil criar VMs de acordo com seus requisitos de sistema operacional e especificação, em configurações mais complexas, é geralmente preferível importar uma configuração de VM existente de um servidor ou appliance específico. Frequentemente, estas são fornecidas como imagens VMDK, que podem ser adicionadas diretamente ao Virt Manager, embora não esteja claro se isso é realmente possível na versão atual. Para imagens de servidor do VirtualBox, estas não podem ser importadas (adicionadas) diretamente ao Virt Manager, mas podem ser facilmente exportadas para outros formatos de virtualização, como o Open Virtualisation Format (.OVF), que o Virt Manager pode importar facilmente. Caso contrário, você pode usar o VmWare Converter, se o tiver, ou o Virt-V2V em seu lugar https://www.redhat.com/en/blog/importing-vms-kvm-virt-v2v. O Qemu-convert também é uma excelente ferramenta de código aberto que permite a conversão fácil entre diferentes formatos de máquinas virtuais.
    Para converter do VirtualBox para o formato KVM do Virt Manager, siga estas instruções https://ostechnix.com/how-to-migrate-virtualbox-vms-into-kvm-vms-in-linux/
  2. Melhor maneira de importar grandes arquivos dentro de uma máquina standalone. Recentemente, foi adicionada uma forma de fazer upload de arquivos da sua máquina para dentro da sua máquina DaDesktop facilmente.

    Caso contrário, considere usar uma ferramenta de arquivos na nuvem, como Google Drive, Microsoft 365, etc. Estas podem ser acessadas fazendo login na ferramenta dentro da máquina DaDesktop.

  3. Ao importar outras máquinas virtuais, especialmente de outros formatos, muitas vezes você precisará alterar os tipos de gráficos e/ou disco. Uma das melhores coisas do Virt Manager é que ele inclui um ótimo suporte para drivers VirtIO. Estes são drivers totalmente virtualizados de código aberto que proporcionam um desempenho muito melhor em comparação aos drivers originais de disco, rede ou gráficos, e estão disponíveis para quase todos os sistemas operacionais, incluindo excelente suporte para máquinas convidadas Windows 10. Se o seu SO convidado os suporta, estas são geralmente a opção preferida para compatibilidade e desempenho ao usar o Virt Manager (KVM). https://wiki.archlinux.org/title/Libvirt
  4. Configurações ótimas para máquinas virtuais usando o Virt Manager Os drivers VirtIO estão incluídos em quase todos os sistemas operacionais de servidor de código aberto atualmente e podem ser instalados facilmente no Windows. Em geral, os melhores drivers são os virtio, mas em alguns casos você pode precisar usar um dos muitos outros tipos. Em geral, o NAT é suficiente para a maioria dos casos de rede, a menos que você precise de uma configuração mais complexa, onde a Rede do Host (Bridged) pode ser necessária; no entanto, isso geralmente é mais complicado de configurar. https://wiki.archlinux.org/title/Virt-manager É um ótimo guia introdutório. Executar o Windows requer algumas etapas extras e necessitará do slipstreaming de drivers VirtIO para permitir que a iso do Windows 10 faça a inicialização. Ao escolher o formato do disco rígido, para velocidade, arquivos .raw são os melhores, a menos que snapshots sejam necessários; se forem, use o formato qcow2, mas este é um pouco mais lento.
  5. Embora o Wayland funcione bem na maioria dos casos como gerenciador de display, recomendamos que você continue usando o X11 por enquanto. Dito isso, pode valer a pena testar o Wayland na sua configuração específica, e as distribuições estão obtendo melhor suporte para o Wayland o tempo todo.
  6. Não se dê ao trabalho de usar ksm, pois, embora funcione aninhado e no Virt Manager, faz pouca diferença na prática.
  7. Suporte Técnico está disponível, se necessário, ao converter imagens de disco para funcionar com o Virt Manager, e adicionalmente, ao configurar usando o Virt Manager para cursos do DaDesktop.
  8. Onde os arquivos de imagem de disco estão localizados no sistema de arquivos? O Virt Manager usa a seguinte localização para armazenar arquivos de imagem, no entanto, isso é configurável e outras localizações podem ser usadas, se preferido.

    /var/lib/libvirt/images