Conversão do formato da imagem usando o qemu-img
Cenários
Você pode importar um arquivo de imagem no formato VHD, VMDK, QCOW2, RAW, VHDX, QCOW, VDI, QED, ZVHD ou ZVHD2 para HUAWEI CLOUD. Arquivos de imagem em outros formatos precisam ser convertidos antes de serem importados. A ferramenta de código aberto qemu-img é fornecida para você converter formatos de arquivo de imagem.
Descrição
Esta seção descreve como converter um formato de imagem em um PC local com Windows ou Linux.
Ferramenta e custos
Ferramenta |
Descrição |
Custos |
---|---|---|
qemu-img |
qemu-img é uma ferramenta de código aberto para converter formatos de imagem. Você pode obtê-lo a partir de: |
Gratuito |
Restrições
- O qemu-img oferece suporte à conversão mútua dos formatos de imagem VHD, VMDK, QCOW2, RAW, VHDX, QCOW, VDI e QED.
- ZVHD e ZVHD2 são formatos de arquivo de imagem desenvolvidos automaticamente e não podem ser identificados pelo qemu-img. Para converter arquivos de imagem para qualquer um dos dois formatos, use a ferramenta qemu-img-hw. Para obter detalhes, consulte Conversão do formato da imagem usando o qemu-img-hw.
- Ao executar o comando para converter o formato de arquivos de imagem VHD, use a VPC para substituir o VHD. Caso contrário, o qemu-img não pode identificar o formato da imagem.
Por exemplo, para converter um arquivo de imagem de CentOS 6.9 de VHD para QCOW2, execute o seguinte comando:
qemu-img convert -p -f vpc -O qcow2 centos6.9.vhd centos6.9.qcow2
Windows
- Instale o qemu-img.
- Baixe o pacote de instalação do qemu-img do https://qemu.weilnetz.de/w64/.
- Clique duas vezes no arquivo de instalação para instalar o qemu-img em D:\Program Files\qemu (um exemplo de caminho de instalação).
- Configure variáveis de ambiente.
- Escolha Start > Computer e clique com o botão direito do mouse em Properties.
- Clique em Advanced system settings.
- Na caixa de diálogo System Properties, clique em Advanced > Environment Variables.
- Na caixa de diálogo Environment Variables, procure Path na área System Variable e clique em Edit. Adicione D:\Program Files\qemu para Variable Value. Use ponto-e-vírgula (;) para separar valores de variáveis.
Se Path não existir, adicione-o e defina seu valor como D:\Program Files\qemu.
- Clique em OK.
- Verifique a instalação.
Escolha Start > Run, insira cmd e pressione Enter. Na janela cmd, digite qemu-img --help. Se as informações de versão do qemu-img estiverem contidas na saída do comando, a instalação será bem-sucedida.
- Converta o formato da imagem.
- Na janela cmd, execute os seguintes comandos para alternar para D:\Program Files\qemu:
d:
cd D:\Program Files\qemu
- Execute o seguinte comando para converter o formato de arquivo de imagem de VMDK para QCOW2:
qemu-img convert -p -f vmdk -O qcow2 centos6.9.vmdk centos6.9.qcow2
Os parâmetros são descritos a seguir:
- -p indica o progresso da conversão da imagem.
- -f indica o formato da imagem de origem.
- A parte após -O (que deve estar em letras maiúsculas) consiste no formato necessário, no arquivo de imagem de origem e no arquivo de imagem de destino.
Após a conclusão da conversão, o arquivo de imagem de destino é exibido no diretório onde o arquivo de imagem de origem está localizado.
As seguintes informações são exibidas:
# qemu-img convert -p -f vmdk -O qcow2 centos6.9.vmdk centos6.9.qcow2 (100.00/100%)
- Execute o seguinte comando para consultar detalhes sobre o arquivo de imagem convertido no formato QCOW2:
As seguintes informações são exibidas:
# qemu-img info centos6.9.qcow2 image: centos6.9.qcow2 file format: qcow2 virtual size: 1.0G (1073741824 bytes) disk size: 200K cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false
- Na janela cmd, execute os seguintes comandos para alternar para D:\Program Files\qemu:
Linux
Se ocorrer algum erro, consulte "Apêndice 2: erros comuns durante a execução do qemu-img-hw" em Conversão do formato da imagem usando o qemu-img-hw.
- Instale o qemu-img.
- Execute o seguinte comando para verificar se a instalação foi bem-sucedida:
Se as informações de versão e o manual de ajuda da ferramenta qemu-img estiverem contidos na saída do comando, a instalação foi bem-sucedida. Se o CentOS 7 for usado, a saída do comando será a seguinte:
[root@CentOS7 ~]# qemu-img -v qemu-img version 1.5.3, Copyright (c) 2004-2008 Fabrice Bellard usage: qemu-img command [command options] QEMU disk image utility Command syntax: check [-q] [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] filename create [-q] [-f fmt] [-o options] filename [size] commit [-q] [-f fmt] [-t cache] filename compare [-f fmt] [-F fmt] [-T src_cach]
- Converta o formato da imagem. Por exemplo, execute as seguintes etapas para converter um arquivo de imagem VMDK executando o CentOS 7 em um arquivo de imagem QCOW2:
- Execute o seguinte comando para converter o formato de arquivo de imagem para QCOW2:
qemu-img convert -p -f vmdk -O qcow2 centos6.9.vmdk centos6.9.qcow2
Os parâmetros são descritos a seguir:
- -p: indica o progresso da conversão.
- -f indica o formato da imagem de origem.
- A parte após -O (que deve estar em letras maiúsculas) é o formato da imagem convertida + nome do arquivo de imagem de origem + nome do arquivo de imagem de destino.
Após a conclusão da conversão, o arquivo de imagem de destino é exibido no diretório onde o arquivo de imagem de origem está localizado.
As seguintes informações são exibidas:
[root@CentOS7 home]# qemu-img convert -p -f vmdk -O qcow2 centos6.9.vmdk centos6.9.qcow2 (100.00/100%)
- Execute o seguinte comando para consultar detalhes sobre o arquivo de imagem convertido no formato QCOW2:
As seguintes informações são exibidas:
[root@CentOS7 home]# qemu-img info centos6.9.qcow2 image: centos6.9.qcow2 file format: qcow2 virtual size: 1.0G (1073741824 bytes) disk size: 200K cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false
- Execute o seguinte comando para converter o formato de arquivo de imagem para QCOW2:
Exemplos
- Cenário
Uma imagem pré-alocada depende de dois arquivos: xxxx.vmdk (arquivo de configuração) e xxxx-flat.vmdk (arquivo de dados) e não pode ser importada diretamente para a plataforma de nuvem. Ao exportar um arquivo de imagem pré-alocado no formato VMDK monolítico Flat da plataforma VMware, você deve converter seu formato para VMDK comum ou QCOW2 antes que ele possa ser importado para a plataforma de nuvem.
O seguinte usa os arquivos de imagem centos6.9-64bit-flat.vmdk e centos6.9-64bit.vmdk como um exemplo para descrever como usar qemu-img para converter formatos de imagem.
- Procedimento
- Execute os seguintes comandos para consultar os detalhes do arquivo de imagem:
qemu-img info centos6.9-64bit.vmdk
qemu-img info centos6.9-64bit-flat.vmdk
As seguintes informações são exibidas:
[root@CentOS7 tmp]# ls -lh centos6.9-64bit* -rw-r--r--. 1 root root 10G Jun 13 05:30 centos6.9-64bit-flat.vmdk -rw-r--r--. 1 root root 327 Jun 13 05:30 centos6.9-64bit.vmdk [root@CentOS7 tmp]# qemu-img info centos6.9-64bit.vmdk image: centos6.9-64bit.vmdk file format: vmdk virtual size: 10G (10737418240 bytes) disk size: 4.0K Format specific information: cid: 3302005459 parent cid: 4294967295 create type: monolithicFlat extents: [0]: virtual size: 10737418240 filename: centos6.9-64bit-flat.vmdk format: FLAT [root@CentOS7 tmp]# qemu-img info centos6.9-64bit-flat.vmdk image: centos6.9-64bit-flat.vmdk file format: raw virtual size: 10G (10737418240 bytes) disk size: 0
A saída do comando mostra que o formato de centos6.9-64bit.vmdk é VMDK e que de centos6.9-64bit-flat.vmdk é RAW. Você pode converter o formato de apenas centos6.9-64bit.vmdk. Para obter detalhes sobre como convertê-lo, consulte 3.
- Execute o seguinte comando para consultar a configuração do arquivo de imagem pré-alocado:
As seguintes informações são exibidas:
[root@CentOS7 tmp]# cat centos6.9-64bit.vmdk # Disk DescriptorFile version=1 CID=c4d09ad3 parentCID=ffffffff createType="monolithicFlat" # Extent description RW 20971520 FLAT "centos6.9-64bit-flat.vmdk" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "20805" ddb.geometry.heads = "16" ddb.geometry.sectors = "63" ddb.adapterType = "ide"
- Coloque centos6.9-64bit-flat.vmdk e centos6.9-64bit.vmdk no mesmo diretório. Execute o seguinte comando para converter o formato de centos6.9-64bit.vmdk para QCOW2 usando qemu-img:
[root@CentOS7 tmp]# qemu-img convert -p -f vmdk -O qcow2 centos6.9-64bit.vmdk centos6.9-64bit.qcow2 (100.00/100%)
- Execute o seguinte comando para consultar detalhes sobre o arquivo de imagem convertido no formato QCOW2:
qemu-img info centos6.9-64bit.qcow2
As seguintes informações são exibidas:
[root@CentOS7 tmp]# qemu-img info centos6.9-64bit.qcow2 image: centos6.9-64bit.qcow2 file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 200K cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false
Procedimento de acompanhamento
Depois que o formato do arquivo de imagem for convertido, você poderá usar obsutil para carregar o arquivo de imagem em um intervalo do OBS para criar uma imagem privada. Para obter detalhes sobre como usar o obsutil para carregar um arquivo de imagem, consulte Carregando um objeto.