Utilitaires de migration d'image pour OCI

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

Note

Les utilitaires oci-image-migrate ne font pas partie des utilitaires OCI préinstallés, mais ils sont disponibles dans le référentiel addons. Vous devez installer manuellement les outils oci-image-migrate dans l'image sur place.

compatibilité

Vous pouvez utiliser les utilitaires pour migrer à la fois 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é où elle sera accessible pour un hôte Oracle Linux. Les utilitaires de migration fonctionnent avec le format d'image de disque Oracle VM VirtualBox (VMDK) par défaut ou le format d'image de disque de copie sur écriture QEMU (QCOW2) généralement utilisé avec Oracle Linux KVM.

Modification de l'image par les utilitaires

Les utilisateurs vérifient que le système d'exploitation de la machine virtuelle est pris en charge et effectuent les modifications nécessaires pour s'assurer qu'il s'exécute correctement en tant qu'instance de calcul sur Oracle Cloud Infrastructure. Pour en savoir plus sur les modifications automatisées par ces utilitaires, voir Utilisation d'appareils personnels.

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

Installez les utilitaires oci-image-migrate, convertissez toutes les installations physiques en image de disque virtuel et migrez celle-ci 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. Enable the ol10_addons yum repository for Oracle Linux 10:

    sudo dnf config-manager --enable ol10_addons
  2. Mettre à jour le système à l'aide de la commande dnf update, puis installer les ensembles 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 l'ensemble qemu-img :

    sudo dnf install -y qemu-img

Oracle Linux 9

  1. Enable the ol9_addons yum repository for 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 ensembles 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 l'ensemble 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 ensembles 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 l'ensemble qemu-img :

    sudo dnf install -y qemu-img

Oracle Linux 7 (soutien é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 ensembles 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 l'ensemble 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 dans un format de disque dur virtuel (VMDK ou QCOW2). Vous pouvez ensuite suivre les instructions sous Migration d'une image de disque virtuel.

Créer l'image du disque brut

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

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

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

Option 1 : Convertir au format VMDK

  1. Convertissez votre image de disque brut au format 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. Facultativement, testez le disque dur virtuel avant l'assemblage et l'importation dans Oracle Cloud Infrastructure.

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

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

Option 2 : Convertir au format QCOW2 de QEMU

  1. Convertissez votre image de disque brut au format 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. Facultativement, testez le disque dur virtuel avant l'assemblage et l'importation dans Oracle Cloud Infrastructure.

    Pour plus d'informations, voir le chapitre Utilisation du service de stockage pour les clients 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

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

Conditions requises

Avant la migration, effectuez les opérations suivantes :

Si vous débutez avec OCI, consultez la section Démarrage dans la documentation sur OCI.

Utiliser les utilitaires pour migrer l'image

  1. Exécutez les préalables.
  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. Chargez le disque dur virtuel prétraité dans un seau de stockage d'objets OCI 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 d'image du seau de stockage d'objets vers votre référentiel d'images personnalisé :
    oci-image-migrate-import -y -i image_name -b bucket_name -c compartment_name
  5. Si vous avez migré à partir d'un hôte physique, régénérez initramfs sur chaque nouvelle instance à l'aide de l'image personnalisée importée :
    sudo dracut --force

Informations de référence sur les utilitaires de migration

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

oci-image-migrate

Prépare une image sur place à importer dans Oracle Cloud Infrastructure. Vous devez exécuter cette commande en tant qu'utilisateur racine.

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

Cet utilitaire effectue les opérations suivantes pour préparer l'image pour la migration :

  • Vérifie les préalables à l'importation de l'image.
  • Désactive les interfaces réseau, sauf l'interface réseau principale, qui est configurée en tant que client DHCP.
  • Installe les ensembles recommandés, tels que cloud-init. La liste des ensembles installés figure dans le fichier /etc/oci-utils/oci-migrate-conf.yaml.
  • Tente d'accéder aux serveurs distants qui hébergent les référentiels logiciels de l'image en cours de traitement. Les serveurs de noms et les paramètres de mandataire du serveur DNS doivent pouvoir accéder aux référentiels de logiciels.
  • Règle l'utilisateur Oracle Cloud par défaut à 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'image sur le terminal. Ces informations peuvent être utiles pour le dépannage des erreurs ou la surveillance de l'état. Ces informations de débogage sont également écrites dans /var/tmp.

-h | --help

Affiche un sommaire 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

Charge un fichier d'image sur place vers un seau de stockage d'objets dans Oracle Cloud Infrastructure. Cette commande ne nécessite pas les privilèges de la racine, à condition que vous puissiez accéder au seau de stockage d'objets dans Oracle Cloud Infrastructure et que vous disposiez des privilèges d'écriture dans 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

Spécifie le nom du seau de stockage d'objets dans Oracle Cloud Infrastructure où stocker le fichier d'image. Cette option est obligatoire.

-o output_name | --output-name output_name

Spécifie le nom du fichier d'image à utiliser dans le stockage d'objets. S'il n'est pas spécifié, 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 chargement de l'image sur le terminal. Utilisez ces informations pour le dépannage des erreurs ou la surveillance du statut. Ces informations de débogage sont également écrites dans /var/tmp.

-h | --help

Affiche un sommaire 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

Permet d'importer une image à partir du stockage d'objets vers un référentiel d'images personnalisées dans Oracle Cloud Infrastructure. Cette commande ne nécessite pas les privilèges de la racine, à condition que vous puissiez accéder au seau de stockage d'objets dans Oracle Cloud Infrastructure et que vous disposiez des privilèges d'écriture dans 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

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

-b bucket_name| --bucket-name bucket_name

Spécifie le nom du seau de stockage d'objets dans Oracle Cloud Infrastructure où le fichier d'image est stocké. Cette option est obligatoire.

-c compartment_name | --compartment-name compartment_name

Spécifie le nom du compartiment de destination. Cette option est obligatoire.

-d display_name | --display-name display_name

Spécifie 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'est pas spécifié, le nom de l'image est utilisé comme nom d'affichage.

-l launch_mode | --launch-mode launch_mode

Spécifie le mode de lancement de l'image personnalisée. Les valeurs possibles sont PARAVIRTUALIZED, EMULATED et NATIVE. Si aucun mode n'est spécifié, la valeur par défaut est PARAVIRTUALIZED.

-v | --verbose

Affiche des informations détaillées lors du traitement de l'importation de l'image sur le terminal. Utilisez ces informations pour le dépannage 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 sommaire 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