6 tecnologias de virtualização de código aberto a conhecer em 2020

Ferramentas de virtualização, mais conhecidas como Virt Tools, é uma coleção de seis ferramentas de virtualização de código aberto criadas por vários colaboradores para tornar o mundo da virtualização um lugar melhor.

Algumas das ferramentas, como KVM e QEMU, podem ser familiares aos entusiastas do Linux, mas ferramentas como libvirt e libguestfs são provavelmente menos.

No caso de você preferir aprender assistindo vídeos do que lendo, eu criei uma versão em vídeo deste artigo, que você pode acessar no YouTube.

Antes de andar pelas ferramentas, é uma boa idéia conhecer alguma terminologia essencial de virtualização. Eu derivei muitas dessas definições da Wikipedia, com páginas ligadas na tabela.

Term Definição
Virtualização Na computação, virtualização refere-se ao ato de criar uma versão virtual (ao invés de física) de algo, incluindo plataformas de hardware de computador virtual, dispositivos de armazenamento e recursos de rede de computadores.
Emulador Um emulador é um hardware ou software que permite a um sistema de computador (chamado de host) comportar-se como outro sistema de computador (chamado de guest).
Máquina virtual (VM) Tão conhecido como “máquina guest”, estas são emulações de computadores de hardware reais, físicos.
Hosts Na virtualização de hardware, um computador em que um hypervisor executa uma ou mais VMs.
Hypervisor Isto é software, firmware ou hardware de computador que cria e executa uma VMs.
Kernel Este é um programa de computador no núcleo do sistema operacional de um computador com controle completo sobre tudo no sistema.
Daemon Este é um programa de computador que roda como um processo em segundo plano, ao invés de estar sob o controle direto de um usuário interativo.

Esta tabela resume cada Ferramenta Virt, incluindo informações de licença e links para o website e código fonte de cada ferramenta. Muitas dessas informações vêm do site das Ferramentas Virt e do site de cada ferramenta.

>

>

>

>

Nome O que é Licença Código fonte
Kernel-máquina virtual (KVM) Um módulo de virtualização no kernel Linux que permite ao kernel funcionar como um hipervisor GNU GPL ou LGPL Código fonte
Quick Emulador (QEMU) Um emulador e virtualizador de máquina genérico e de código aberto GPLv2 Código fonte
Libvirt Uma biblioteca e um daemon fornecendo um estável, API de código aberto para gerenciar hosts de virtualização GNU Código fonte
Libguestfs Um conjunto de ferramentas para acesso e modificação de imagens de disco VM LGPL, GPL Código da fonte
Virt-manager Interface de utilizador desktop para gerir VMs através da libvirt GPLv2+ Código fonte
Libosinfo Fornece uma base de dados de informações sobre lançamentos de sistemas operacionais para ajudar na configuração ideal do hardware ao implantar VMs LGPLv2+ Código fonte

Kernel-Virtual Manager (KVM)

2_kvm.jpg

KVM website

(Bryant Son, CC BY-SA 4.0)

>

>

>

>

KVM é uma solução completa de virtualização para Linux em hardware contendo extensões de virtualização. KVM fornece a virtualização de hardware para uma grande variedade de sistemas operacionais convidados, incluindo Linux, Windows, MacOS, ReactOS e Haiku. Usando KVM, você pode executar múltiplas VMs em imagens não modificadas de Linux ou Windows. Cada VM tem hardware virtualizado privado: uma placa de rede, disco, adaptador gráfico, etc.

A maior parte do tempo, você não irá interagir diretamente com o KVM. Em vez disso, você deve usar QEMU, virt-manager, ou outra ferramenta de gerenciamento de virtualização para alavancar KVM.

Você pode encontrar documentação completa no site do KVM, bem como acessar seu código fonte.

Quick Emulator (QEMU)

3_qemu.jpg

>

Site da QEMU

(Bryant Son, CC BY-SA 4.0)

>

>

>

QEMU é um emulador e virtualizador de máquinas genérico e de código aberto. Quando usado como um emulador, QEMU pode executar sistemas operacionais e programas feitos para uma máquina (por exemplo, uma placa ARM) em uma máquina diferente (por exemplo, seu próprio PC x86_64). Quando usado como um virtualizador, QEMU atinge desempenho quase nativo executando o código de convidado diretamente na CPU do host usando KVM.

QEMU é suportado em vários sistemas operacionais, e seu processo de instalação é tão fácil quanto executar alguns comandos simples; aqui, você pode ver como instalar QEMU em macOS com Homebrew.

3_1_qemuinstall.jpg

Informação de instalação do QEMU macOS

(Bryant Son, CC BY-SA 4.0)

Após a instalação, aprenda a utilizá-lo lendo a sua documentação, e poderá também aceder ao seu código fonte.

Libvirt

4_libvirt.jpg

Libvirt website

(Bryant Son, CC BY-SA 4.0)

>

>

Libvirt é uma biblioteca e um daemon que fornece uma API de código aberto estável para o gerenciamento de hosts de virtualização. Ela visa múltiplos hypervisors, incluindo QEMU, KVM, LXC, Xen, OpenVZ, VMWare ESX, VirtualBox, e mais.

Outra coisa interessante sobre libvirt é que KubeVirt, um projeto de código aberto para criar e gerenciar VMs dentro da plataforma Kubernetes, utiliza em grande parte Libvirt. (Eu vou cobrir o KubeVirt num artigo futuro.) Libvirt é um projeto interessante para explorar, e você pode encontrar uma infinidade de informações em seu site oficial, bem como baixar seu código fonte.

Libguestfs

5_libguestfs.jpg

>

Site da Libguestfs

(Bryant Son, CC BY-SA 4.0)

>

>

Libguestfs é um conjunto de ferramentas para acesso e modificação de imagens de disco VM. Você pode usá-lo para visualizar e editar arquivos dentro de convidados; criar scripts para alterações em VMs; monitorar estatísticas de disco usado/liberto; criar convidados, máquinas físicas para virtuais (P2V), ou virtuais para virtuais (V2V); realizar backups; clonar VMs; construir VMs; formatar discos; redimensionar discos; e muito mais. Tenho usado recentemente enquanto trabalhava em um projeto baseado em KubeVirt- chamado OpenShift Virtualization, que você pode aprender mais sobre ele no meu tutorial em vídeo.

Libguestfs’ site oficial contém extensa documentação sobre como usar cada comando, e você também pode baixar seu código fonte no GitHub.

Virt-manager

6_virtualmanager.jpg

Virt-manager website

(Bryant Son, CC BY-SA 4.0)

Virt-manager é uma interface de usuário desktop para gerenciar VMs através da libvirt. Ele visa principalmente as VMs KVM, mas também gerencia Xen e LXC. Ele também inclui a ferramenta de provisionamento de linha de comando virt-install. Pense no virt-manager como uma ferramenta de gestão fácil de usar para as suas VMs. Por exemplo, você pode usar virt-manager para rodar um ambiente Microsoft Windows em uma estação de trabalho Linux ou vice versa.

O código fonte do virt-manager está disponível no GitHub e a documentação está em seu site. Neste momento, virt-manager está disponível apenas para plataformas Linux.

Libosinfo

7_libosinfo.jpg

Libosinfo website

(Bryant Son, CC BY-SA 4.0)

Libosinfo fornece um banco de dados de informações sobre lançamentos de sistemas operacionais para auxiliar na configuração de hardware ao implantar VMs. Inclui uma biblioteca C para consulta de informações no banco de dados, que também é acessível a partir de qualquer idioma suportado pela introspecção do GObject. Como você pode adivinhar, libosinfo é mais um bloco de construção para habilitar a funcionalidade de um sistema operacional – mas muito importante.

O código fonte do Libosinfo está disponível no GitLab, e sua documentação pode ser encontrada em seu website.

Conclusion

Deixe uma resposta

O seu endereço de email não será publicado.