Utility di migrazione immagine 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 preinstallate, ma sono disponibili nel repository addons. È necessario installare manualmente le utility oci-image-migrate nell'immagine in locale.

Compatibility

Puoi utilizzare le utility per migrare sia le virtual machine che gli host fisici in Oracle Cloud Infrastructure. Per eseguire la migrazione, è necessario creare un'immagine del disco compatibile e salvarla in una posizione condivisa a cui un host Oracle Linux può accedervi. Le utility di migrazione funzionano con il formato immagine del disco (VMDK) predefinito di Oracle VM VirtualBox o con il formato immagine del disco QEMU copy-on-write (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, consultare Bring Your Own Device (BYOI).

Migrazione di un'immagine con oci-image-migrate

Installare le utility oci-image-migrate, convertire qualsiasi installazione fisica 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 yum ol9_addons 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 yum ol8_addons 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 disco virtuale

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

Creare l'immagine del disco raw

  1. Prima di spegnere la macchina fisica 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 recupero 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 un formato disco VMDK (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. Convertire l'immagine del disco raw in formato Virtual Machine Disk (VMDK). 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, esegui il test del disco rigido virtuale prima di creare il package e importarlo in Oracle Cloud Infrastructure.

    Per ulteriori informazioni, consultare la sezione File 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 disco virtuale a Oracle Cloud Infrastructure.

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

  1. Convertire l'immagine del disco raw in QEMU copy-on-write (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, esegui il test del disco rigido virtuale prima di creare il package e importarlo in Oracle Cloud Infrastructure.

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

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

Migrazione di un'immagine disco virtuale a Oracle Cloud Infrastructure

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

Requisiti indispensabili

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

Se non hai familiarità con Oracle Cloud Infrastructure, consulta la sezione Introduzione 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. Carica il tuo hard disk 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 personalizzate:
    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 in ogni nuova istanza utilizzando l'immagine personalizzata importata:
    sudo dracut --force

Informazioni di riferimento sulle utility di migrazione

Ulteriori dettagli su ogni utility, tra cui una descrizione, opzioni ed esempi di utilizzo.

oci-image-migrate

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

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

La utility esegue le operazioni riportate di seguito per preparare l'immagine per la migrazione.

  • Verifica i prerequisiti per l'importazione dell'immagine.
  • Disattiva le interfacce di rete, ad eccezione dell'interfaccia di rete primaria, configurata come client DHCP.
  • Installa i pacchetti consigliati, ad esempio 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 di Domain Name Server (DNS) 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

Rispondi "sì" ai prompt.

-v | --verbose

Visualizza informazioni dettagliate durante l'elaborazione dell'immagine sul terminale. Queste informazioni consentono di risolvere gli errori o di monitorare lo stato. Queste informazioni di debug sono scritte anche su /var/tmp.

-h | --help

Visualizzare 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-immagine-migrazione-carico

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 che sia possibile accedere al bucket di storage degli oggetti in Oracle Cloud Infrastructure e disporre dei privilegi di scrittura per le 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

Rispondi "sì" ai prompt.

-v | --verbose

Visualizza informazioni dettagliate durante l'elaborazione del caricamento delle immagini sul terminale. Utilizzare queste informazioni per la risoluzione dei problemi o il monitoraggio dello stato. Queste informazioni di debug sono scritte anche su /var/tmp.

-h | --help

Visualizzare 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

Importa un'immagine dallo storage degli oggetti al repository di immagini personalizzate in Oracle Cloud Infrastructure. Questo comando non richiede privilegi root, a condizione che sia possibile accedere al bucket di storage degli oggetti in Oracle Cloud Infrastructure e disporre dei privilegi di scrittura per le 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 delle immagini sul terminale. Utilizzare queste informazioni per la risoluzione dei problemi o il monitoraggio dello stato di avanzamento. Queste informazioni di debug sono scritte anche su /var/tmp.

-y | --yes

Rispondi "sì" ai prompt.

-h | --help

Visualizzare 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

Informazioni aggiuntive sulla migrazione