Utilitários de Migração de Imagem do OCI

Você pode migrar imagens on-premises do Oracle Linux para o Oracle Cloud Infrastructure com os utilitários oci-image-migrate.

Observação

Os utilitários oci-image-migrate não são parte dos Utilitários do OCI pré-instalados, mas estão disponíveis no repositório addons. Instale manualmente os utilitários oci-image-migrate na imagem on-premises.

Compatibilidade

Você pode usar os utilitários para migrar máquinas virtuais e hosts físicos para o Oracle Cloud Infrastructure. Para migrar, você deve criar uma imagem de disco compatível e salvá-la em um local compartilhado em que um host do Oracle Linux possa acessá-la. Os utilitários da migração funcionam com o formato padrão de imagem do disco (VMDK) do Oracle VM VirtualBox ou o formato da imagem do disco de cópia em gravação QEMU (QCOW2) que é comumente usado no Oracle Linux KVM.

Como os Utilitários Alteram a Imagem

OS utilitários verifiquem se o SO da máquina virtual é suportado e executem as alterações necessárias para garantir que ela seja executada corretamente como uma instância de computação no Oracle Cloud Infrastructure. Para saber mais sobre as alterações que esses utilitários automatizam, consulte BYOI (Bring Your Own Device, Traga seu próprio dispositivo).

Migrando uma Imagem com oci-image-migrate

Instale os utilitários do oci-image-migrate, converta todas as instalações físicas em uma imagem do disco virtual e migre a imagem do disco virtual para a Oracle Cloud Infrastructure.

Instalando os Utilitários de Migração

Instale os utilitários no sistema host antes de migrar.

Oracle Linux 10

  1. Ative o repositório yum ol10_addons do Oracle Linux 10:

    sudo dnf config-manager --enable ol10_addons
  2. Atualizar o sistema usando o comando dnf update e, em seguida, instalar os pacotes necessários:

    sudo dnf update -y
    sudo dnf install -y python3-oci-sdk python3-oci-cli oci-utils-migrate
  3. Caso pretenda migrar uma instalação física, instale o pacote qemu-img:

    sudo dnf install -y qemu-img

Oracle Linux 9

  1. Ative o repositório yum ol9_addons do Oracle Linux 9:

    sudo dnf config-manager --enable ol9_addons
  2. Atualize o sistema usando o comando dnf update e instale os pacotes necessários:

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Caso pretenda migrar uma instalação física, instale o pacote qemu-img:

    sudo dnf install -y qemu-img

Oracle Linux 8

  1. Ative o repositório yum ol8_addons para o Oracle Linux 8:

    sudo dnf config-manager --enable ol8_addons
  2. Atualize o sistema usando o comando dnf update e instale os pacotes necessários:

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Caso pretenda migrar uma instalação física, instale o pacote qemu-img:

    sudo dnf install -y qemu-img

Oracle Linux 7 (suporte estendido)

  1. Ative os repositórios ol7_addons e ol7_kvm_utils para o Oracle Linux 7:

    sudo yum-config-manager --enable ol7_addons ol7_kvm_utils
  2. Atualize o sistema usando o comando yum update e instale os pacotes necessários:

    sudo yum update -y
    sudo yum install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Se você pretende migrar uma instalação física, instale o pacote qemu-img:

    sudo yum install -y qemu-img

Convertendo uma Instalação Física em uma Imagem de Disco Virtual

Para migrar uma instalação física, crie uma imagem de disco bruto e converta-a em um formato de disco rígido virtual (VMDK ou QCOW2). Em seguida, você pode seguir as instruções em Migrando uma Imagem de Disco Virtual.

Criar a Imagem de Disco Bruto

  1. Antes de fazer shutdown da máquina física para criar a imagem, inclua temporariamente todos os drivers de dispositivo na ramdisk inicial (initramfs):

    sudo dracut --force --no-hostonly
  2. Depois de desligar a máquina física, use um sistema de recuperação para criar uma imagem de disco para um local externo:

    sudo dd if=device_or_volume of=path_to_image bs=4M status=progress conv=sync,noerror
  3. Selecione um formato de disco VMDK (compatível com o Oracle VM Virtualbox) ou QCOW2 (compatível com o Oracle Linux KVM) e converta a imagem do disco.

Opção 1: Converter em VMDK (Formato de Disco de Máquina Virtual)

  1. Converta sua imagem de disco bruta para o formato VMDK (Formato de Disco de Máquina Virtual). Esse formato de arquivo é usado para discos rígidos virtuais que são compatíveis com o Oracle VM Virtualbox.

    qemu-img convert -f raw -p -O vmdk raw_disk_image exported_file.vmdk
  2. Opcionalmente, teste o disco rígido virtual antes de empacotá-lo e importá-lo para o Oracle Cloud Infrastructure.

    Para mais informações, consulte a seção Arquivos de Imagem de Disco na documentação do Oracle VM VirtualBox. Para obter mais informações sobre o comando qemu-img, consulte as páginas man qemu-img(1).

  3. Prossiga para Migrando uma Imagem de Disco Virtual para o Oracle Cloud Infrastructure.

Opção 2: Converter em Formato de Cópia na Gravação de QEMU (QCOW2)

  1. Converta a sua imagem de disco bruto em cópia na gravação de QEMU (QCOW2). Esse formato de armazenamento é usado para discos rígidos virtuais compatíveis com o Oracle Linux KVM.

    qemu-img convert -f raw -p -c -O qcow2 raw_disk_image exported_file.qcow2
  2. Opcionalmente, teste o disco rígido virtual antes de empacotá-lo e importá-lo para o Oracle Cloud Infrastructure.

    Para mais informações, consulte o capítulo Working with Storage for KVM Convidados no Oracle Linux KVM User's Guide.

  3. Prossiga para Migrando uma Imagem de Disco Virtual para o Oracle Cloud Infrastructure.

Migrando uma Imagem de Disco Virtual para o Oracle Cloud Infrastructure

Use os utilitários oci-image-migrate para migrar uma imagem do disco virtual para uma instância do OCI (Oracle Cloud Infrastructure).

Pré-requisitos

Antes de migrar, certifique-se de que você já:

Se você for iniciante no OCI, consulte a seção Conceitos Básicos na documentação do OCI.

Usar os Utilitários para Migrar a Imagem

  1. Conclua os pré-requisitos.
  2. Verifique e pré-processe o disco rígido virtual no formato VMDK ou QCOW2:
    sudo oci-image-migrate -y -i unprocessed_virtual_hard_disk
  3. Faça upload do disco rígido virtual pré-processado para um bucket do OCI Object Storage como uma imagem personalizada:
    oci-image-migrate-upload -y -i processed_virtual_hard_disk -b bucket_name -o image_name
  4. Importe o arquivo de imagem do bucket do Object Storage para seu repositório de imagens personalizadas:
    oci-image-migrate-import -y -i image_name -b bucket_name -c compartment_name
  5. Se você tiver migrado de um host físico, gere novamente initramfs em cada nova instância usando as imagens personalizadas importadas:
    sudo dracut --force

Referência de Utilitários de Migração

Detalhes sobre cada utilitário, incluindo uma descrição, opções e exemplos de uso.

oci-image-migrate

Prepara uma imagem local para importação para o Oracle Cloud Infrastructure. Execute esse comando como raiz.

O utilitário oci-image-migrate pode migrar arquivos de imagem nos formatos qcow2 e vmdk.

O utilitário faz o seguinte para preparar a imagem para migração:

  • Verifica os pré-requisitos para importar a imagem.
  • Desativa as interfaces de rede, exceto a interface de rede principal, que é configurada como um cliente DHCP.
  • Instala pacotes recomendados, como o pacote cloud-init. A lista de pacotes instalados é exibida no arquivo /etc/oci-utils/oci-migrate-conf.yaml.
  • Tenta acessar servidores remotos que hospedam repositórios do software para a imagem que está sendo processada. Os servidores de nomes DNS (Servidor de Nome de Domínio) e as definições de proxy devem ser capazes de acessar os repositórios de software.
  • Define o usuário da nuvem padrão como opc.
Uso
oci-image-migrate [-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk] [-y | --yes] [-v | --verbose] [-h | --help}
Opções
-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk

Especifique o caminho completo para o disco rígido virtual não processado. Esta opção é obrigatória.

-y | --yes

Responde "yes" aos prompts.

-v | --verbose

Mostrar informações detalhadas durante processamento de imagem no terminal. Essas informações podem solucionar erros ou monitorar o status. Essas informações de depuração também são gravadas em /var/tmp.

-h | --help

Exibe um resumo das opções da linha de comando.

Exemplo
$ sudo oci-image-migrate /omv/data/images/ol79.vmdk -v
2021-03-30 20:38:38,177 - oci-utils.migrate-tools - DEBUG(migrate_tools:223) - __ Get config data: helpers_list
2021-03-30 20:38:38,205 - oci-utils.migrate-tools - DEBUG(migrate_tools:223) - __ Get config data: lc_all
...
oci-image-migrate-upload

Faz upload de um arquivo on-premises para um bucket do serviço Object Storage no Oracle Cloud Infrastructure. Este comando Não requer privilégios raiz, desde que você possa acessar o bucket do Object Storage no Oracle Cloud Infrastructure e tenha privilégios de gravação em diretórios nos quais os arquivos de log e de resultados são gravados (/var/tmp/).

Uso
oci-image-migrate-upload [-i processed_virtual_hard_disk | --input-image processed_virtual_hard_disk] [-b bucket_name | --bucket-name bucket_name] [-o output_name | --output-name output_name] [-y | --yes] [-v | --verbose] [-h | --help}
Opções
-i processed_virtual_hard_disk | --input-image processed_virtual_hard_disk

Especifique o caminho completo para o disco rígido virtual processado. Esta opção é obrigatória.

-b bucket_name | --bucket-name bucket_name

Especifique o nome do bucket do serviço Object Storage no Oracle Cloud Infrastructure para armazenar o arquivo de imagem. Esta opção é obrigatória.

-o output_name | --output-name output_name

Especifique o nome do arquivo da imagem a ser usado no serviço Object Storage. Se não for especificado, o nome do disco rígido virtual processado será usado como o nome da imagem.

-y | --yes

Responde "yes" aos prompts.

-v | --verbose

Mostrar informações detalhadas durante processamento de upload de imagem no terminal. Use essas informações para solucionar erros ou monitorar o status. Essas informações de depuração também são gravadas em /var/tmp.

-h | --help

Exibe um resumo das opções da linha de comando.

Exemplo
$ oci-image-migrate-upload -v -i /omv/data/images/ol79.vmdk -b test_bucket_001 -o ol79_demo.qcow2

  Uploading ol79.vmdk -b test_bucket_001 -o ol79_demo.qcow2 at Thu Mar 25 20:44:16 2021
  Uploading /omv/data/images/ol79.vmdk to object storage test_bucket_001 in the Oracle Cloud Infrastructure as ol79_demo.qcow2
  Object storage test_bucket_001 present.
  Agree to proceed uploading /omv/data/images/ol79.vmdk to test_bucket_001 as ol79_demo.qcow2? (y/N) y


  Uploading /omv/data/images/ol79.vmdk, this may take a while....
  00:03:12 [          uploading ol79_demo.qcow2
oci-image-migrate-import

Importa uma imagem do Object Storage para um repositório personalizado de imagens no Oracle Cloud Infrastructure. Este comando Não requer privilégios raiz, desde que você possa acessar o bucket do Object Storage no Oracle Cloud Infrastructure e tenha privilégios de gravação em diretórios nos quais os arquivos de log e de resultados são gravados (/var/tmp/).

Uso
oci-image-migrate-import[-i image_name | --input-image image_name] [-b bucket_name | --bucket-name bucket_name] [-c compartment_name | --compartment_name compartment_name] [-d display_name | display-name display_name] [-l launch_mode | launch-mode launch_mode] [-y | --yes] [-v | --verbose] [-h | --help}
Opções
-i image_name | --input-image image_name

Especifique o nome da imagem a ser importada como uma imagem personalizada. Esta opção é obrigatória.

-b bucket_name| --bucket-name bucket_name

Especifique o nome do bucket do serviço Object Storage no Oracle Cloud Infrastructure no qual o arquivo de imagem é armazenado. Esta opção é obrigatória.

-c compartment_name | --compartment-name compartment_name

Especifique o nome do compartimento de destino. Esta opção é obrigatória.

-d display_name | --display-name display_name

Especifique o nome a ser exibido para a imagem personalizada no repositório de imagens personalizadas no Oracle Cloud Infrastructure. Se este parâmetro não estiver especificado, o nome da imagem será usado como o nome para exibição.

-l launch_mode | --launch-mode launch_mode

Especifique o modo de inicialização que a imagem personalizada usa quando foi iniciada. Os valores possíveis são PARAVIRTUALIZED, EMULATED e NATIVE. Se um modo não estiver especificado, o padrão será PARAVIRTUALIZED.

-v | --verbose

Mostrar informações detalhadas durante processamento de importação de imagem no terminal. Use essas informações para solucionar erros ou monitorar o andamento. Essas informações de depuração também são gravadas em /var/tmp.

-y | --yes

Responde "yes" aos prompts.

-h | --help

Exibe um resumo das opções da linha de comando.

Exemplo
$ oci-image-migrate-import -v -y -i ol79_demo.qcow2 -b test_bucket_001 -c OLimages -d ol79_demo

  Importing ol79_demo.qcow2 from test_bucket_001 into test_bucket_001 as ol79_demo and setting launch mode as PARAVIRTUALIZED
  Object storage namespace: IMAGETEST
  Compartment: OLimages
  Object storage test_bucket_001 present.
  Import ol79_demo.qcow2 to OLimages as ol79_demo y
  00:00:05 [               importing ol79_demo