Pesquisa de site

Trabalhando com qemu-img no Linux


Trabalhando com qemu-img no Linux: Esta é uma breve folha de dicas do qemu-img para trabalhar com o comando qemu-img em sistemas Linux e Unix que suportam qemu. Eu fiz este cheatsheet do qemu-img para minha própria referência e vi a necessidade de compartilhar com vocês. Antes de trabalhar com o comando qemu-img para realizar qualquer operação de disco, é bom primeiro entender o que é qemu e como ele é usado no Linux e no mundo da virtualização.

O que é Qemu?

De acordo com a página sobre do Qemu, o QEMU é definido como um emulador e virtualizador de máquina genérico e de código aberto. Isso significa que o Qemu pode ser usado como emulador de máquina para executar sistemas operacionais e programas de uma máquina em uma máquina diferente. Um exemplo é executar o programa ARM em um PC x86. Neste caso, o QEMU pode usar outros hipervisores como Xen ou KVM para extensões de CPU, para alcançar o que é comumente referido como Virtualização Assistida por Hardware

Quando o QEMU é usado como virtualizador, ele executa o código convidado diretamente na CPU da máquina host para obter desempenho quase narrativo. Os formatos de imagem QEMU são suportados pela maioria dos fornecedores de nuvem VPS, como Amazon, Digital Ocean, Linode, OVH e muitos outros.

O que é qemu-img?

qemu-img é o utilitário de linha de comando usado para converter vários sistemas de arquivos usados por hipervisores como Xen, KVM, VMware, VirtualBox. qemu-img é usado para formatar imagens de convidados, adicionar dispositivos de armazenamento adicionais e armazenamento de rede, etc. O formato da imagem de saída pode ser importado para provedores de nuvem VPS como Openstack e outros provedores como Cloudstack. Este trabalho com o cheatsheet qemu-img mostrará alguns exemplos.

Como instalar o qemu-img no Linux?

O comando qemu-img é instalado por padrão com a pilha libvirt:

Como instalar o KVM no RHEL/CentOS 8, Fedora, Arch Linux, CentOS, Ubuntu/Debian, SLES

Opções de comando qemu-img comumente usadas

O qemu-img usa a seguinte sintaxe geral:

qemu-img subcommand [options]

A lista a seguir mostra subcomandos comuns para trabalhar com qemu-img:

Opções comuns

Formatos de disco suportados

Os seguintes formatos de imagem são suportados:

Trabalhando com qemu-img: exemplos

Abaixo estão alguns exemplos de como trabalhar com qemu-img.

Crie uma nova imagem de disco com qemu-img create

Sintaxe:

qemu-img create -f fmt fname size Crie uma imagem de disco bruta de tamanho 10 GB:

$ qemu-img create -f raw ubuntu.img 10G
Formatting 'ubuntu.img', fmt=raw size=10737418240

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

Substitua raw por qcow2, vdk, vmdk para criar tais formatos. Dê uma olhada abaixo para vmdk:

$ qemu-img create -f vmdk ubuntu.vmdk 10G
Formatting 'ubuntu.vmdk', fmt=vmdk size=10737418240 compat6=off hwversion=undefined

$ qemu-img info ubuntu.vmdk            
image: ubuntu.vmdk
file format: vmdk
virtual size: 10G (10737418240 bytes)
disk size: 12K
cluster_size: 65536
Format specific information:
    cid: 1484281290
    parent cid: 4294967295
    create type: monolithicSparse
    extents:
        [0]:
            virtual size: 10737418240
            filename: ubuntu.vmdk
            cluster size: 65536
            format: 

Converta a imagem do disco com qemu-img convert

Sintaxe:

qemu-img convert -O out_fmt fname out_fname 

Exemplo: converter imagem vmdk em qcow2

$ qemu-img create -f vmdk ~/ubuntu.vmdk 10G
Formatting '/home/josepy/ubuntu.vmdk', fmt=vmdk size=10737418240 compat6=off hwversion=undefined

$ qemu-img convert -O qcow2 ~/ubuntu.vmdk ~/ubuntu.qcow2

$ qemu-img info ~/ubuntu.qcow2 
image: /home/josepy/ubuntu.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Verifique o disco com qemu-img check

Sintaxe:

qemu-img check -f fmt fname Exemplo:

$ qemu-img check ubuntu.vmdk 
No errors were found on the image.

Redimensione a imagem do disco com qemu-img resize

AVISO: Antes de usar este comando para reduzir uma imagem de disco, você DEVE usar o sistema de arquivos e as ferramentas de particionamento dentro da VM para reduzir os sistemas de arquivos alocados e os tamanhos de partição de acordo. Não fazer isso resultará em perda de dados!

Sintaxe: redimensionar nome do arquivo [+ | -]tamanho

Exemplo: aumentar a imagem do disco em 3GB

$ qemu-img create -f qcow2  ubuntu.qcow2 10G
Formatting 'ubuntu.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16

$ qemu-img info ubuntu.qcow2 
image: ubuntu.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

$ qemu-img info ubuntu.qcow2 
image: ubuntu.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

$ qemu-img resize ubuntu.qcow2 +3G          
Image resized.

$ qemu-img info ubuntu.qcow2                
image: ubuntu.qcow2
file format: qcow2
virtual size: 13G (13958643712 bytes)
disk size: 200K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Você deve notar que o tamanho foi aumentado de 10GB para 13GB

NOTA: Depois de ampliar a imagem do disco, você deve usar o sistema de arquivos e as ferramentas de particionamento dentro da máquina virtual para realmente começar a usar o novo espaço.

Artigos relacionados: