Utility di migrazione delle immagini OCI

Puoi eseguire la migrazione delle immagini Oracle Linux on-premise a Oracle Cloud Infrastructure con le utility oci-image-migrate.

Nota

Le utility oci-image-migrate non fanno parte delle utility OCI Utilities preinstallate, ma sono disponibili nel repository addons. È necessario installare manualmente le utility oci-image-migrate nell'immagine in locale.

Compatibilità

Puoi utilizzare le utility per eseguire la migrazione di virtual machine e host fisici a Oracle Cloud Infrastructure. Per eseguire la migrazione, è necessario creare un'immagine disco compatibile e salvarla in una posizione condivisa in cui un host Oracle Linux possa accedervi. Le utility di migrazione funzionano con il formato di immagine del disco predefinito Oracle VM VirtualBox (VMDK) o con il formato di immagine del disco di copia su scrittura QEMU (QCOW2), comunemente utilizzato con Oracle Linux KVM.

Come le utility modificano l'immagine

Le utility verificano che il sistema operativo della virtual machine sia supportato ed eseguono le modifiche necessarie per garantire che venga eseguito correttamente come istanza di computazione su Oracle Cloud Infrastructure. Per ulteriori informazioni sulle modifiche automatizzate da queste utility, vedere Bring Your Own Device (BYOI).

Migrazione di un'immagine con oci-image-migrate

Installare le utility oci-image-migrate, convertire le installazioni fisiche in un'immagine del disco virtuale ed eseguire la migrazione dell'immagine del disco virtuale in Oracle Cloud Infrastructure.

Installazione delle utility di migrazione

Installare le utility nel sistema host prima di eseguire la migrazione.

Oracle Linux 9

  1. Abilitare il repository ol9_addons yum per Oracle Linux 9:

    sudo dnf config-manager --enable ol9_addons
  2. Aggiornare il sistema utilizzando il comando dnf update, quindi installare i pacchetti richiesti:

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Se si intende eseguire la migrazione di un'installazione fisica, installare il pacchetto qemu-img.

    sudo dnf install -y qemu-img

Oracle Linux 8

  1. Abilitare il repository ol8_addons yum per Oracle Linux 8:

    sudo dnf config-manager --enable ol8_addons
  2. Aggiornare il sistema utilizzando il comando dnf update, quindi installare i pacchetti richiesti:

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Se si intende eseguire la migrazione di un'installazione fisica, installare il pacchetto qemu-img.

    sudo dnf install -y qemu-img

Oracle Linux 7 (supporto esteso)

  1. Abilitare i repository ol7_addons e ol7_kvm_utils per Oracle Linux 7:

    sudo yum-config-manager --enable ol7_addons ol7_kvm_utils
  2. Aggiornare il sistema utilizzando il comando yum update, quindi installare i pacchetti richiesti:

    sudo yum update -y
    sudo yum install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Se si intende eseguire la migrazione di un'installazione fisica, installare il pacchetto qemu-img.

    sudo yum install -y qemu-img

Conversione di un'installazione fisica in un'immagine su disco virtuale

Per eseguire la migrazione di un'installazione fisica, creare un'immagine raw del disco e quindi convertirla in un formato virtuale del disco rigido (VMDK o QCOW2). È quindi possibile seguire le istruzioni in Migrazione di un'immagine del disco virtuale.

Crea immagine disco raw

  1. Prima di spegnere il computer fisico per creare l'immagine, includere temporaneamente tutti i driver del dispositivo nel ramdisk iniziale (initramfs):

    sudo dracut --force --no-hostonly
  2. Dopo aver spento la macchina fisica, utilizzare un sistema di ripristino per creare un'immagine del disco in una posizione esterna:

    sudo dd if=device_or_volume of=path_to_image bs=4M status=progress conv=sync,noerror
  3. Selezionare una VMDK in formato disco (compatibile con Oracle VM Virtualbox) o QCOW2 (compatibile con Oracle Linux KVM), quindi convertire l'immagine del disco.

Opzione 1: Converti in formato disco Virtual Machine (VMDK)

  1. Converti l'immagine raw del disco in formato VMDK (Virtual Machine Disk). Questo formato di file viene utilizzato per i dischi rigidi virtuali compatibili con Oracle VM Virtualbox.

    qemu-img convert -f raw -p -O vmdk raw_disk_image exported_file.vmdk
  2. Facoltativamente, prova il tuo disco rigido virtuale prima di creare il package e importarlo in Oracle Cloud Infrastructure.

    Per ulteriori informazioni, vedere la sezione File di immagine disco nella documentazione di Oracle VM VirtualBox. Per ulteriori informazioni sul comando qemu-img, vedere la pagina man qemu-img(1).

  3. Passare a Migrazione di un'immagine del disco virtuale su Oracle Cloud Infrastructure.

Opzione 2: Converti in formato copia su scrittura QEMU (QCOW2)

  1. Convertire l'immagine del disco raw in copia su scrittura QEMU (QCOW2). Questo formato di storage viene utilizzato per i dischi rigidi virtuali compatibili con Oracle Linux KVM.

    qemu-img convert -f raw -p -c -O qcow2 raw_disk_image exported_file.qcow2
  2. Facoltativamente, prova il tuo disco rigido virtuale prima di creare il package e importarlo in Oracle Cloud Infrastructure.

    Per ulteriori informazioni, vedere il capitolo Working with Storage for KVM Guests nel manuale Oracle Linux KVM User's Guide.

  3. Passare a Migrazione di un'immagine del disco virtuale su Oracle Cloud Infrastructure.

Migrazione di un'immagine disco virtuale su Oracle Cloud Infrastructure

Utilizzare le utility oci-image-migrate per eseguire la migrazione di un'immagine del disco virtuale a un'istanza di Oracle Cloud Infrastructure.

Prerequisiti

Prima di eseguire la migrazione, assicurati di avere già:

Se non hai mai utilizzato Oracle Cloud Infrastructure, consulta la sezione Getting Started nella documentazione di Oracle Cloud Infrastructure.

Utilizzare le utility per eseguire la migrazione dell'immagine

  1. Completare i prerequisiti.
  2. Verificare e pre-elaborare il disco rigido virtuale in formato VMDK o QCOW2:
    sudo oci-image-migrate -y -i unprocessed_virtual_hard_disk
  3. Caricare il disco rigido virtuale pre-elaborato in un bucket di Oracle Cloud Infrastructure come immagine personalizzata:
    oci-image-migrate-upload -y -i processed_virtual_hard_disk -b bucket_name -o image_name
  4. Importare il file immagine dallo storage degli oggetti nel bucket di Oracle Cloud Infrastructure nel repository di immagini personalizzato:
    oci-image-migrate-import -y -i image_name -b bucket_name -c compartment_name
  5. Se è stata eseguita la migrazione da un host fisico, rigenerare initramfs su ogni nuova istanza utilizzando l'immagine personalizzata importata:
    sudo dracut --force

Riferimento alle utility di migrazione

Ulteriori informazioni su ciascuna utility, tra cui una descrizione, opzioni ed esempi di utilizzo.

oci-image-migrare

Descrizione

Prepara un'immagine on-premise per l'importazione in Oracle Cloud Infrastructure. È necessario eseguire questo comando come root.

La utility oci-image-migrate supporta la migrazione dei file immagine in formato qcow2 e vmdk.

Per preparare l'immagine per la migrazione, la utility effettua le operazioni riportate di seguito.

  • Verifica i prerequisiti per l'importazione dell'immagine.
  • Disabilita le interfacce di rete ad eccezione dell'interfaccia di rete principale, configurata come client DHCP.
  • Installa i pacchetti consigliati, come il pacchetto cloud-init. L'elenco dei pacchetti installati viene visualizzato nel file /etc/oci-utils/oci-migrate-conf.yaml.
  • Tentativi di accedere ai server remoti che ospitano repository software per l'immagine in fase di elaborazione. I server dei nomi DNS (Domain Name Server) e le impostazioni proxy devono essere in grado di raggiungere i repository software.
  • Imposta l'utente cloud predefinito su opc.

Uso

oci-image-migrate [-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk] [-y | --yes] [-v | --verbose] [-h | --help}

Opzioni

-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk
Specificare il percorso completo del disco rigido virtuale non elaborato. Questa opzione è obbligatoria.
-y | --yes
Rispondere "sì" ai prompt.
-v | --verbose
Visualizza informazioni dettagliate durante l'elaborazione delle immagini sul terminale. Queste informazioni consentono di risolvere gli errori o di monitorare lo stato. Queste informazioni di debug vengono scritte anche in /var/tmp.
-h | --help
Visualizza un riepilogo delle opzioni della riga di comando.

Esempio

$ 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

Descrizione

Carica un file immagine in locale in un bucket di storage degli oggetti in Oracle Cloud Infrastructure. Questo comando non richiede privilegi root, a condizione di poter accedere al bucket di storage degli oggetti in Oracle Cloud Infrastructure e di disporre dei privilegi di scrittura nelle directory in cui vengono scritti i file di log e dei risultati (/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}

Opzioni

-i processed_virtual_hard_disk | --input-image processed_virtual_hard_disk
Specificare il percorso completo del disco rigido virtuale elaborato. Questa opzione è obbligatoria.
-b bucket_name | --bucket-name bucket_name
Specificare il nome del bucket di storage degli oggetti in Oracle Cloud Infrastructure per memorizzare il file immagine. Questa opzione è obbligatoria.
-o output_name | --output-name output_name
Specificare il nome del file immagine da utilizzare nello storage degli oggetti. Se non specificato, come nome dell'immagine viene utilizzato il nome del disco rigido virtuale elaborato.
-y | --yes
Rispondere "sì" ai prompt.
-v | --verbose
Visualizza informazioni dettagliate durante l'elaborazione del caricamento delle immagini sul terminale. Utilizzare queste informazioni per la risoluzione degli errori o il monitoraggio dello stato. Queste informazioni di debug vengono scritte anche in /var/tmp.
-h | --help
Visualizza un riepilogo delle opzioni della riga di comando.

Esempio

$ 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

Descrizione

Importa un'immagine dallo storage degli oggetti al repository di immagini personalizzato in Oracle Cloud Infrastructure. Questo comando non richiede privilegi root, a condizione di poter accedere al bucket di storage degli oggetti in Oracle Cloud Infrastructure e di disporre dei privilegi di scrittura nelle directory in cui vengono scritti i file di log e dei risultati (/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}

Opzioni

-i image_name | --input-image image_name
Specificare il nome dell'immagine da importare come immagine personalizzata. Questa opzione è obbligatoria.
-b bucket_name| --bucket-name bucket_name
Specificare il nome del bucket di storage degli oggetti in Oracle Cloud Infrastructure in cui è memorizzato il file immagine. Questa opzione è obbligatoria.
-c compartment_name | --compartment-name compartment_name
Specificare il nome del compartimento di destinazione. Questa opzione è obbligatoria.
-d display_name | --display-name display_name
Specificare il nome da visualizzare per l'immagine personalizzata nel repository di immagini personalizzate in Oracle Cloud Infrastructure. Se questo parametro non viene specificato, come nome visualizzato viene utilizzato il nome dell'immagine.
-l launch_mode | --launch-mode launch_mode
Specificare la modalità di avvio utilizzata dall'immagine personalizzata all'avvio. I valori possibili sono PARAVIRTUALIZED, EMULATED e NATIVE. Se non viene specificata una modalità, l'impostazione predefinita è PARAVIRTUALIZED.
-v | --verbose
Visualizza informazioni dettagliate durante l'elaborazione dell'importazione di immagini sul terminale. Utilizzare queste informazioni per la risoluzione degli errori o per monitorare lo stato di avanzamento. Queste informazioni di debug vengono scritte anche in /var/tmp.
-y | --yes
Rispondere "sì" ai prompt.
-h | --help
Visualizza un riepilogo delle opzioni della riga di comando.

Esempio

$ 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