O QEMU é uma plataforma de emulação ou virtualização de diversas outras plataformas.
Desenvolvedores podem usar a aplicação para verificar o comportamento de seus softwares em arquiteturas diferentes.
Um servidor, com hardware poderoso, pode hospedar dezenas de outros servidores virtuais, permitindo que diversas empresas ou usuários rodem aplicações independentes (servidores web, armazenamento de arquivos etc.)
O avanço da tecnologia de virtualização ajudou a reduzir os custos de hospedagem de sites, por exemplo.
Para usuários comuns, um software de virtualização pode ajudar a rodar programas feitos para Windows, dentro do Linux ou do Mac.
Neste texto, vou mostrar como criar um espaço (drive) virtual para armazenar arquivos, como erguer uma máquina virtual e rodar um sistema operacional nela.
Na minha máquina física, eu rodo o Debian 10 testing (Buster).
O sistema operacional hospedeiro, usado no exemplo será o Ubuntu 17.10 (Artful Aardvark) 64 bit — mas você usar qualquer outro, da sua preferência. Basta mudar os nomes, nos exemplos.
Você pode ir até o site https://ubuntu.com e uma versão (provavelmente mais atual que a minha) ou usar qualquer outra imagem ISO de sistema operacional.
Os princípios explicados neste texto são os mesmos para qualquer distro Linux ou outro sistema operacional.
Se quiser, veja outros exemplos de virtualização com o QEMU, neste mesmo site.
E sempre clique nos links para obter mais informações importantes sobre algum tema.
Como montar uma máquina virtual
É bem fácil pôr no ar um PC ou servidor virtual completo, usando o QEMU.
Na verdade, é possível fazer isto em 5 minutos.
Mas, se você pretende experimentar um sistema operacional (uma distro GNU/Linux, por exemplo), baixada da Internet, em um arquivo ISO, é possível indicar em que máquina, especificamente, você deseja rodar o seu sistema operacional.
A minha ISO do Ubuntu pode ser experimentada com o seguinte comando:
qemu-system-x86_64 ubuntu-17.10-desktop-amd64.iso
Se você pretende usar outras vezes esta distribuição e gostaria que as mudanças feitas nela fossem persistentes, crie um espaço de armazenamento específico para ela, com o qemu-img:
qemu-img create -f qcow2 ubuntu17.qcow2 50G
Segue o meu resultado…
Formatting 'ubuntu17.qcow2', fmt=qcow2 size=53687091200 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16
O comando, acima, cria uma imagem no formato qcow2, com o nome ‘ubuntu17.10.qcow2’ e com espaço de armazenamento de 50 Gigabytes.
Sinta-se à vontade para usar outros valores, mais adequados para você.
Se quiser obter informações sobre a imagem recém criada, use a opção ‘info’:
qemu-img info ubuntu17.qcow2
image: ubuntu17.qcow2 file format: qcow2 virtual size: 50G (53687091200 bytes) disk size: 324K cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false refcount bits: 16 corrupt: false
No comando, abaixo, vou acionar a recém-criada unidade (ubuntu17.qcow2) e rodar a imagem ISO, baixada, do Ubuntu 17.10, como se fosse de um CD-ROM:
qemu-system-x86_64 -hda ubuntu17.qcow2 -cdrom ubuntu-17.10-desktop-amd64.iso -boot d
Ao final da linha, a opção ‘-boot d’, informa que o meu sistema virtual deve iniciar a partir da unidade ótica (CD-ROM).
Vamos melhorar isto?!
A seguir, vou adicionar opções que (respectivamente) habilitam o kvm, estabelecem uma quantidade de memória de 2048 MB e inscreve o nome da distro no título da janela do QEMU:
qemu-system-x86_64 -enable-kvm -m 2048 -name 'UBUNTU 17.10' -boot d -hda ubuntu17.qcow2 -cdrom ubuntu-17.10-desktop-amd64.iso
A quantidade de memória do sistema é especificada pela opção -m e você pode usar abreviaturas, como ‘-m 2G’, para especificar ‘2 gigabytes’, por exemplo.
Se você decidir continuar a instalação, o sistema irá sugerir o unidade virtual, criada com o qemu-img.
Observe a imagem abaixo:
Depois de instalado, você pode dispensar o arquivo de imagem ISO e rodar o sistema operacional apenas da unidade de armazenamento virtual. Para mim, o comando é o seguinte: