Front-ends gráficos para QEMU — parte 2: o aqemu

O aqemu é um front-end gráfico para QEMU e KVM.
Com o uso da biblioteca Qt (versão 5 ou 4), oferece uma interface gráfica ou GUI para gerenciar máquinas virtuais KVM ou QEMU.
A partir da GUI, é possível fazer os ajustes mais comuns às máquinas virtuais.
Veja as instruções de instalação para Fedora e Debian (Ubuntu) — que são (quase) as mesmas para qualquer outra distro GNU/Linux.
Não se esqueça de dar uma olhada na parte 1 desta série de artigos.

Como instalar o aqemu no fedora

Usuários do Fedora, podem inquirir os repositórios e obter informações sobre os pacotes através do aplicativo gestor dnf.
Para encontrar o pacote a ser instalado no Fedora, use o ‘search’:

dnf search aqemu
Last metadata expiration check: 1 day, 2:13:25 ago on Tue Dec 20 18:30:48 2016.
================================================= N/S Matched: aqemu ==================================================
aqemu.x86_64 : A QT graphical interface to QEMU and KVM
[root@fedora /]# 

Para obter informações sobre a versão disponível, espaço ocupado pelo software após a instalação etc. use o ‘info’:

dnf info aqemu

Para fazer a instalação, rode o “dnf install”:

dnf install aqemu

Como instalar o aqemu no Debian e Ubuntu

Instale o aqemu seguindo procedimento semelhante ao anterior.
Use o apt:

sudo apt install aqemu

FreeBSD virtual machine qemu

Como verificar e consertar arquivos de imagem de disco qcow2

Arquivos de imagem qcow2 são muito usados pelo emulador de processadores QEMU.
Como qualquer sistema de arquivos, podem ser danificados ou corrompidos.
O utilititário qemu-img tem algumas opções convenientes, que podem ser usadas para obter informações genéricas ou detalhadas de arquivos de disco virtuais e, se for o caso verificar e tentar consertá-los.
qemu logo bird

Como obter informações sobre imagens qcow2

Para obter informações sobre uma imagem, execute o utilitário qemu-img acompanhado da opção ‘info’.
Vamos ilustrar com um exemplo:

qemu-img info XenialXerus.qcow2 
image: XenialXerus.qcow2
file format: qcow2
virtual size: 25G (26843545600 bytes)
disk size: 5.7G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Como verificar e corrigir erros em arquivos de imagem de disco

Para este procedimento, use a opção ‘check’.
Se combinado com outras opções, o comando pode proporcionar outros resultados.
Para fazer uma checagem simples, use o comando assim:

qemu-img check XenialXerus.qcow2 

Se tudo estiver bem com a sua imagem, o resultado deve ser semelhante a este:

No errors were found on the image.
99056/409600 = 24.18% allocated, 15.47% fragmented, 7.49% compressed clusters
Image end offset: 6172966912

O comando ‘qemu-img check’ realiza uma verificação de consistência no arquivo de imagem.
A opção ‘-r’ torna a correção de erros automática e deve ser acompanhada de ‘leaks’ ou ‘all’:

  • -r leaks — para consertar apenas vazamentos de clusters ou cluster leaks.
  • -r all — manda o qemu-img tentar corrigir todos os erros que encontrar.

Veja um exemplo:

qemu-img check -r all XenialXerus.qcow2 
No errors were found on the image.
99056/409600 = 24.18% allocated, 15.47% fragmented, 7.49% compressed clusters
Image end offset: 6172966912

De acordo com a documentação oficial do QEMU, os formatos de arquivo de imagem suportados para realizar o teste de consistência são o qcow2, qed e vdi.

Front-ends gráficos para QEMU — parte 1: o qtemu

O uso racional dos recursos do seu sistema computacional é a arte de fazer o máximo com o mínimo.
Pode parecer bobagem para alguns, mas seguir este conceito é o que permite que suas aplicações mais pesadas (jogos, virtualização, CAD etc) tenham o melhor desempenho possível dentro do hardware que você tem.

Como geek ou nerd de computação, este tem sido sempre o meu norte: meu dinheiro não é infinito. Portanto, quero obter o maior desempenho possível dos recursos que tenho disponíveis.

Se você precisa virtualizar uma ou mais máquinas e também tem recursos de hardware limitados, rodar o QEMU na linha de comando é sempre um enorme atrativo. No meu caso, é sempre minha primeira opção.
Neste texto, vamos falar de um dos vários frontends gráficos para rodar o QEMU.
O QtEmu é um painel GUI (Graphic User Interface ou Interface Gráfica de Usuário), que permite selecionar através de cliques ou toques na tela as opções de execução do QEMU.
Ele é muito útil, quando você não precisa de muita flexibilidade para executar uma máquina virtual.
No nosso exemplo, estamos usando uma máquina Debian 9 Stretch para instalar e executar uma máquina virtual. Se o seu sistema operacional for diferente, basta fazer a instalação de modo que se adeque a ele. O restante, do funcionamento do aplicativo, é idêntico entre os sistemas.

Como instalar o QtEmu

Para instalar o QtEmu no Debian ou em outros sistemas derivados, use o apt:

sudo apt update
sudo apt install qtemu

Para rodar o aplicativo, procure por ele no menu do seu sistema — ou o rode a partir do mesmo terminal ou do Dash: digitando ‘qtemu’.

Como configurar e usar o QtEmu

Se você já usa o QEMU há algum tempo, vai conseguir realizar suas tarefas quase intuitivamente. O painel é, como as melhores coisas da vida, bastante simples e objetivo.
Se tiver preferência por ver o ambiente na língua portuguesa, pode começar a fazer esta alteração.
Para abrir o painel de configurações do aplicativo, tecle Ctrl + G ou abra o menu File e selecione Configure.
Em seguida, escolha o Language desejado.
qemu qtemu configuration panel
A troca do tema de icones ou do idioma requer que o QtEmu seja reiniciado.
Como consideração final, concordo que o Vmware e o VirtualBox são opções mais completas. Mas, se você não precisa de toda aquela complexidade, pode economizar recursos do seu sistema com uma opção mais leve e simplificada, como o QtEmu.

Referências

https://qtemu.org/

Como rodar o FreeBSD em uma máquina virtual QEMU.

Se você já teve o desejo de conhecer o FreeBSD e aprender um pouco sobre o ele, mas ainda não tem um PC ou laptop disponível para instalar e testar o sistema, sugiro começar a experimentá-lo em uma máquina virtual.
Pôr no ar uma máquina virtual QEMU, rodando uma imagem atual do FreeBSD é bastante fácil e, dependendo da sua conexão á Internet, pode ser bastante rápido também.
freebsd logo full
Isto se deve ao fato de que você pode baixar várias imagens do site oficial (veja links ao final) prontas para uso — voltadas para mais de uma arquitetura de hardware.

Requisitos de hardware para rodar o FreeBSD

As versões mais atuais do FreeBSD não são “famintas” por recursos. O sistema é bastante enxuto e pode ser executado em condições bastante modestas:

  • Memória — Os requisitos mínimos de memória começam em 64 MiB. Um sistema especializado, deve começar em 128 MiB. Se você estiver pensando em uma instalação desktop completa, 4 GiB garantirão mais conforto para trabalhar.
  • Armazenamento em disco — O mínimo aceitável é 1,5 GiB, para ter um sistema funcional, mas com pouquíssimo espaço livre para trabalhar.
  • Arquitetura e processador — O FreeBSD pode ser executado sob várias arquiteturas. O suporte a PCs 64-bit começa em AMD Athlon™64, AMD Opteron™, Intel® Xeon™ multi-core e Intel® Core™ 2.
    No que tange a arquitetura 32-bit, qualquer 486 ou superior faz o serviço.

Instale o QEMU

No Debian, Ubuntu e derivados, use o apt para instalar o qemu:

sudo apt install qemu

Usuários do Opensuse, podem usar o Zypper:

sudo zypper install qemu

Baixe a imagem do FreeBSD

Há vários lugares de onde você pode baixar imagens do FreeBSD. O site oficial é um deles.
Você pode usar o utilitário wget para fazer o download rapidamente:

wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/10.3-RELEASE/amd64/Latest/FreeBSD-10.3-RELEASE-amd64.qcow2.xz

Veja, ao final do texto, link para o site de download, onde você poderá encontrar outras versões, que podem ser mais adequadas.
A seguir descompacte o arquivo:

unxz FreeBSD-10.3-RELEASE-amd64.qcow2.xz

Como rodar a imagem do FreeBSD

Não há nada errado em usar o VirtualBox, se você o preferir. A imagem baixada provavelmente rodará bem nele.
Neste texto, contudo, o nosso foco será o QEMU.
Para rodar a imagem em uma máquina virtual com 256 MiB, use a seguinte linha de comando:

qemu-system-x86_64 -hda FreeBSD-10.3-RELEASE-amd64.qcow2 -m 256M -cpu qemu64 -name 'FreeBSD 10.3 64 bit'

freebsd 10.3 screenshot boot


O que o comando acima faz?
Vamos responder por partes, a partir do comando ‘qemu-system-x86_64’, as opções usadas são as seguintes:

  • -hda FreeBSD-10.3-RELEASE-amd64.qcow2 — roda a imagem baixada em um disco virtual (hda).
  • -m 256M — determina a quantidade de memória da máquina virtual.
    Você pode experimentar usar outros valores.
  • -cpu qemu64 — faz uso da cpu padrão, de 64 bit, do qemu.
  • -name 'FreeBSD 10.3 64 bit' — coloca um nome bonito no título da janela do emulador.
    Escreva o que quiser entre as aspas.

Se você acha o comando para executar a sua imagem muito grande, experimente criar um mini-script para ele, assim:

echo "qemu-system-x86_64 -hda FreeBSD-10.3-RELEASE-amd64.qcow2 -m 256M -cpu qemu64 -name 'FreeBSD 10.3 64 bit'" > freebsd.sh
chmod +x freebsd.sh
# para executar, rode o script assim:
./freebsd.sh

Fácil, não é?
Se você tem interesse em copiar e colar entre a janela da máquina virtual do FreeBSD e as outras do seu sistema hospedeiro, inclua a opção ‘-display curses’:

qemu-system-x86_64 -display curses -hda FreeBSD-10.3-RELEASE-amd64.qcow2 -m 256M -cpu qemu64

Neste modo, a opção ‘-name’ não tem efeito. Mas ele permite, por exemplo, que você copie comandos de tutoriais e os cole direto na janela do FreeBSD.

Como logar e criar um novo usuário no FreeBSD?

Assim que chegar à tela de login, autentique-se como root (a senha estará em branco, por enquanto).
Após a autenticação, crie uma nova senha para o usuário root e um novo usuário com privilégios normais:

passwd
adduser

Depois de criar o novo usuário saia do root:

exit

… e autentique-se com novo o nome de usuário criado.
E, que comece a brincadeira! 😉

Referências e downloads

Download da versão 10.3: ftp://ftp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/10.3-RELEASE/amd64/Latest/.
Página oficial de downloads: https://www.freebsd.org/where.html.

Como converter uma imagem RAW para QCOW2 e vice-versa.

Cada padrão tem suas aplicações, vantagens e desvantagens.
Quando necessário, é possível fazer a conversão entre eles — o que permite testar e analisar qual o melhor para você.
As imagens RAW são muito simples para se trabalhar, mas tem a desvantagem de usar muito espaço no disco. São uma boa opção se você pretende trabalhar com outras plataformas de virtualização, uma vez que todas reconhecem o formato RAW.
O QCOW2 é um formato feito para uso no QEMU. O nome é uma sigla para QEMU Copy On Write.

O formato QCOW usa uma estratégia de otimização do armazenamento que permite expandir o tamanho do disco virtual com o uso — até chegar ao tamanho máximo, definido na sua criação.

O formato QCOW2 usa compressão zlib e tem a opção de ativar a criptografia de seus dados via AES 128 bits.
No artigo Como criar uma máquina virtual Debian em 5 minutos, usamos uma imagem QCOW2 — que permite transmitir uma imagem de 25 GiB dentro de um arquivo de algumas centenas de MiB.

Como converter do formato RAW para QCOW2

Use o qemu-img com a opção ‘convert’ para realizar a tarefa. Veja um exemplo:

qemu-img convert -O qcow2 imagem-original.raw imagem-convertida.qcow2

A seguir, use a opção ‘info’, para obter informações sobre a nova imagem:

qemu-img info imagem-convertida.qcow2

Note, abaixo, que a imagem tem um tamanho virtual de 10GiB, contra apenas 1.3GiB de tamanho físico.

image: image-convertida.qcow2
file format: qcow2
virtual size: 10.0G (2147483648 bytes)
disk size: 1.3G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

Como converter uma imagem QCOW2 para RAW

Ao converter uma imagem QCOW2 para RAW, tenha em mente que ela tem o potencial de se expandir até o tamanho planejado na sua criação. Portanto, use a opção ‘info’ para saber que tamanho é este e certifique-se de que tem espaço em disco físico suficiente para comportar o novo tamanho.

As imagens RAW ocupam todo o espaço físico alocado imediatamente.
As imagens QCOW2 começam usando apenas um espaço pequeno (o necessário) e vão aumentando até o seu tamanho predeterminado, com o tempo.

O processo de conversão é semelhante ao anterior. Veja:

qemu-img convert -O raw imagem-original.qcow2 imagem-convertida.raw

Obtenha informações sobre a imagem:

$ qemu-img info imagem-convertida.raw
image: imagem-convertida.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 10G