Utilitaires de migration d'images OCI

Vous pouvez migrer des images Oracle Linux sur site vers Oracle Cloud Infrastructure à l'aide des utilitaires oci-image-migrate.

Remarque

Les utilitaires oci-image-migrate ne sont pas partie des utilitairesOCI préinstallés mais sont disponibles à partir du référentiel addons. Vous devez installer manuellement les utilitaires oci-image-migrate sur l'image sur site.

Compatibilité

Vous pouvez utiliser les utilitaires pour migrer des machines virtuelles et des hôtes physiques vers Oracle Cloud Infrastructure. Pour effectuer la migration, vous devez créer une image de disque compatible et l'enregistrer dans un emplacement partagé auquel un hôte Oracle Linux a accès. L'utilitaire de migration utilise le format d'image de disque Oracle VM VirtualBox par défaut (VMDK) ou le format d'image de disque QEMU copy-on-write (QCOW2) utilisé avec Oracle Linux KVM.

Modification de l'image par les utilitaires

Les utilitaires vérifient qu'il est pris en charge et effectuent les modifications nécessaires pour garantir sa bonne exécution en tant qu'instance de calcul sur Oracle Cloud Infrastructure. Pour en savoir plus sur les modifications automatisées de ces utilitaires, reportez-vous à la section Bring Your Own Device (BYOI).

Migration d'une image à l'aide des utilitaires oci-image-migrate

Installez l'utilitaire oci-image-migrate, convertissez toutes les installations physiques sur une image du disque virtuel et migrez l'image du disque virtuel vers Oracle Cloud Infrastructure.

Installation des utilitaires de migration

Installez les utilitaires sur le système hôte avant de procéder à la migration.

Oracle Linux 10

  1. Activez le référentiel yum ol10_addons pour Oracle Linux 10 :

    sudo dnf config-manager --enable ol10_addons
  2. Mettez à jour le système en utilisant la commande dnf update, puis installez les packages requis :

    sudo dnf update -y
    sudo dnf install -y python3-oci-sdk python3-oci-cli oci-utils-migrate
  3. Si vous avez l'intention de migrer une installation physique, installez le package qemu-img :

    sudo dnf install -y qemu-img

Oracle Linux 9

  1. Activez le référentiel yum ol9_addons pour Oracle Linux 9 :

    sudo dnf config-manager --enable ol9_addons
  2. Mettez à jour votre système à l'aide de la commande dnf update, puis installez les packages requis :

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Si vous avez l'intention de migrer une installation physique, installez le package qemu-img :

    sudo dnf install -y qemu-img

Oracle Linux 8

  1. Activez le référentiel yum ol8_addons pour Oracle Linux 8 :

    sudo dnf config-manager --enable ol8_addons
  2. Mettez à jour votre système à l'aide de la commande dnf update, puis installez les packages requis :

    sudo dnf update -y
    sudo dnf install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Si vous avez l'intention de migrer une installation physique, installez le package qemu-img :

    sudo dnf install -y qemu-img

Oracle Linux 7 (support étendu)

  1. Activez les référentiels ol7_addons et ol7_kvm_utils pour Oracle Linux 7 :

    sudo yum-config-manager --enable ol7_addons ol7_kvm_utils
  2. Mettez à jour votre système à l'aide de la commande yum update, puis installez les packages requis :

    sudo yum update -y
    sudo yum install -y python36-oci-sdk python36-oci-cli oci-utils-migrate
  3. Si vous avez l'intention de migrer une installation physique, installez le package qemu-img :

    sudo yum install -y qemu-img

Conversion d'une installation physique en image de disque virtuel

Pour migrer une installation physique, créez une image de disque brut, puis convertissez-la au format de disque dur virtuel (VMDK ou QCOW2). Vous pouvez ensuite suivre les instructions indiquées dans Migration d'une image de disque virtuel.

Création de l'image de disque brut

  1. Avant d'arrêter la machine physique pour créer l'image, incluez temporairement tous les pilotes de périphérique dans le disque RAM initial (initramfs) :

    sudo dracut --force --no-hostonly
  2. Après la mise hors tension de la machine physique, utilisez un système de récupération pour créer une image de disque à un emplacement externe :

    sudo dd if=device_or_volume of=path_to_image bs=4M status=progress conv=sync,noerror
  3. Sélectionnez le format de disque VMDK (compatible avec Oracle VM VirtualBox) ou QCOW2 (compatible avec Oracle Linux KVM), puis convertissez l'image de disque.

Option 1 : conversion au format Virtual Machine Disk (VMDK)

  1. Convertissez votre image de disque brut au format Virtual Machine Disk (VMDK). Ce format de fichier est utilisé pour les disques durs virtuels compatibles avec Oracle VM VirtualBox.

    qemu-img convert -f raw -p -O vmdk raw_disk_image exported_file.vmdk
  2. Vous pouvez éventuellement tester le disque dur virtuel avant de le packager et de l'importer vers Oracle Cloud Infrastructure.

    Pour plus d'informations, reportez-vous à la section Fichiers d'image de disque dans la documentation Oracle VM VirtualBox. Pour plus d'informations sur la commande qemu-img, reportez-vous à la page de manuel qemu-img(1).

  3. Passez à Migration d'une image de disque virtuel vers Oracle Cloud Infrastructure.

Option 2 : conversion au format QEMU Copy-on-Write (QCOW2)

  1. Convertissez votre image de disque brut au format QEMU Copy-on-Write (QCOW2). Ce format de stockage est utilisé pour les disques durs virtuels compatibles avec Oracle Linux KVM.

    qemu-img convert -f raw -p -c -O qcow2 raw_disk_image exported_file.qcow2
  2. Vous pouvez éventuellement tester le disque dur virtuel avant de le packager et de l'importer vers Oracle Cloud Infrastructure.

    Pour plus d'informations, reportez-vous au chapitre Utilisation du stockage pour les invités KVM dans le guide de l'utilisateur d'Oracle Linux KVM.

  3. Passez à Migration d'une image de disque virtuel vers Oracle Cloud Infrastructure.

Migration d'une image de disque virtuel vers Oracle Cloud Infrastructure

Servez-Vous des utilitaires oci-image-migrate pour migrer une image de disque virtuel vers une instance Oracle Cloud Infrastructure (OCI).

Prérequis

Avant d'effectuer la migration, vérifiez que vous avez déjà réalisé les opérations suivantes :

Si vous ne connaissez pas encore OCI, reportez-vous à la section Introduction de la documentation OCI.

Utilisation des utilitaires pour migrer l'image

  1. Effectuez les prérequis.
  2. Vérifiez et prétraitez le disque dur virtuel au format VMDK ou QCOW2 :
    sudo oci-image-migrate -y -i unprocessed_virtual_hard_disk
  3. Téléchargez le disque dur virtuel prétraité vers un bucket OCI Object Storage en tant qu'image personnalisée :
    oci-image-migrate-upload -y -i processed_virtual_hard_disk -b bucket_name -o image_name
  4. Importez le fichier image du bucket Object Storage vers votre référentiel d'images personnalisées :
    oci-image-migrate-import -y -i image_name -b bucket_name -c compartment_name
  5. Si vous avez procédé à la migration à partir d'un hôte physique, régénérez initramfs sur chaque nouvelle instance en utilisant l'image personnalisée importée :
    sudo dracut --force

Référence des utilitaires de migration

Détails sur chaque utilitaire, notamment une description, les options disponibles et des exemples d'utilisation.

oci-image-migrate

Prépare une image sur Site pour l'import vers Oracle Cloud Infrastructure. Vous devez exécuter cette commande en tant qu'utilisateur root.

L'utilitaire oci-image-migrate peut migrer des fichiers image au format qcow2 et vmdk.

L'utilitaire effectue les opérations suivantes pour préparer l'image en vue de la migration :

  • Vérifie les prérequis pour l'import de l'image.
  • Désactive les interfaces réseau à l'exception de l'interface réseau principale, qui est configurée en tant que client DHCP.
  • Installe les packages recommandés, tels que le package cloud-init. La liste des packages installés figure dans le fichier /etc/oci-utils/oci-migrate-conf.yaml.
  • Tente d'accéder aux serveurs distants hébergeant des référentiels de logiciels pour l'image en cours de traitement. Les paramètres de proxy et les serveurs de nom DNS doivent pouvoir accéder aux référentiels de logiciels.
  • Définit l'utilisateur cloud par défaut sur opc.
Syntaxe
oci-image-migrate [-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk] [-y | --yes] [-v | --verbose] [-h | --help}
Options
-i unprocessed_virtual_hard_disk | --input-image unprocessed_virtual_hard_disk

Indique le chemin complet du disque dur virtuel non traité. Cette option est obligatoire.

-y | --yes

Répond "oui" aux invites.

-v | --verbose

Affiche des informations détaillées lors du traitement de l'images sur le terminal. Ces informations peuvent être utilisées pour la résolution des erreurs ou la surveillance du statut. Ces informations de débogage sont également écrites dans /var/tmp.

-h | --help

Affiche un récapitulatif des options de ligne de commande.

Exemple
$ 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

Télécharge un fichier d'image sur Site vers un bucket Object Storage dans Oracle Cloud Infrastructure. Cette commande n'exige pas de privilèges root, à condition que vous puissiez accéder au bucket Object Storage dans Oracle Cloud Infrastructure et que vous disposirez de privilèges d'écriture sur les répertoires où les fichiers journaux et les fichiers de résultats sont écrits (/var/tmp/).

Syntaxe
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}
Options
-i processed_virtual_hard_disk | --input-image processed_virtual_hard_disk

Indique le chemin complet du disque dur virtuel traité. Cette option est obligatoire.

-b bucket_name | --bucket-name bucket_name

Indique le nom du bucket Object Storage dans Oracle Cloud Infrastructure dans lequel stocker le fichier d'image. Cette option est obligatoire.

-o output_name | --output-name output_name

Indique le nom du fichier d'image à utiliser dans Object Storage. S'il n'est pas indiqué, le nom du disque dur virtuel traité est utilisé comme nom d'image.

-y | --yes

Répond "oui" aux invites.

-v | --verbose

Affiche des informations détaillées lors du traitement du téléchargement d'image sur le terminal. Utilisez ces informations pour la résolution des erreurs ou la surveillance du statut. Ces informations de débogage sont également écrites dans /var/tmp.

-h | --help

Affiche un récapitulatif des options de ligne de commande.

Exemple
$ 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

Importe une image d'Object Storage vers un référentiel d'images personnalisées dans Oracle Cloud Infrastructure. Cette commande n'exige pas de privilèges root, à condition que vous puissiez accéder au bucket Object Storage dans Oracle Cloud Infrastructure et que vous disposirez de privilèges d'écriture sur les répertoires où les fichiers journaux et les fichiers de résultats sont écrits (/var/tmp/).

Syntaxe
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}
Options
-i image_name | --input-image image_name

Indique le nom de l'image à importer en tant qu'image personnalisée. Cette option est obligatoire.

-b bucket_name| --bucket-name bucket_name

Indique le nom du bucket Object Storage dans Oracle Cloud Infrastructure dans lequel le fichier d'image est stocké. Cette option est obligatoire.

-c compartment_name | --compartment-name compartment_name

Indique le nom du compartiment de destination. Cette option est obligatoire.

-d display_name | --display-name display_name

Indique le nom à afficher pour l'image personnalisée dans le référentiel d'images personnalisées d'Oracle Cloud Infrastructure. Si ce paramètre n'a pas été indiqué, le nom d'image est utilisé comme nom d'affichage.

-l launch_mode | --launch-mode launch_mode

Indique le mode de lancement utilisé par l'image personnalisée lors de son démarrage. Les valeurs possibles sont PARAVIRTUALIZED, EMULATED et NATIVE. Si le mode n'est pas indiqué, sa valeur par défaut est PARAVIRTUALIZED.

-v | --verbose

Affiche des informations détaillées lors du traitement de l'import de l'image sur le terminal. Utilisez ces informations pour la résolution des erreurs ou la surveillance de la progression. Ces informations de débogage sont également écrites dans /var/tmp.

-y | --yes

Répond "oui" aux invites.

-h | --help

Affiche un récapitulatif des options de ligne de commande.

Exemple
$ 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