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 font pas partie des utilitaires OCI préinstallés mais sont disponibles à partir du référentiel addons. Vous devez installer manuellement les utilitaires oci-image-migrate sur votre 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. Les utilitaires de migration utilisent 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) couramment utilisé avec Oracle Linux KVM.

Modification de l'image par les utilitaires

Les utilitaires vérifient que le système d'exploitation de la machine virtuelle est pris en charge et effectuent les modifications nécessaires pour garantir son exécution correcte en tant qu'instance de calcul sur Oracle Cloud Infrastructure. Pour en savoir plus sur les modifications automatisées par ces utilitaires, reportez-vous à Utilisation de votre propre image (BYOI).

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

Installer les utilitaires oci-image-migrate, convertir les installations physiques en image de disque virtuel et migrer l'image de 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 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 votre disque dur virtuel avant de le packager et de l'importer vers Oracle Cloud Infrastructure.

    Pour plus d'informations, reportez-vous à 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 votre disque dur virtuel avant de le packager et de l'importer vers Oracle Cloud Infrastructure.

    Pour plus d'informations, reportez-vous à Utilisation du stockage pour les invités KVM dans le guide de l'utilisateur 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.

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 Oracle Cloud Infrastructure, reportez-vous à la section Introduction dans la documentation Oracle Cloud Infrastructure.

Utilisation des utilitaires pour migrer l'image

  1. Effectuez les prérequis.
  2. Vérifiez et prétraitez votre disque dur virtuel au format VMDK ou QCOW2 :
    sudo oci-image-migrate -y -i unprocessed_virtual_hard_disk
  3. Téléchargez votre disque dur virtuel prétraité vers un bucket Oracle Cloud Infrastructure 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 stockage d'objet sur votre bucket Oracle Cloud Infrastructure 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 effectué 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

Cette section donne plus de détails sur chaque utilitaire, notamment une description, les options disponibles et des exemples d'utilisation.

oci-image-migrate

Description

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 prend en charge la migration des fichiers d'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.

Utilisation

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

Description

Télécharge un fichier d'image sur site vers un bucket de stockage d'objet dans Oracle Cloud Infrastructure. Cette commande ne nécessite pas de privilèges root, à condition que vous puissiez accéder au bucket de stockage d'objet dans Oracle Cloud Infrastructure et que vous disposiez de privilèges d'écriture sur les répertoires dans lesquels les fichiers journaux et les fichiers de résultats sont écrits (/var/tmp/).

Utilisation

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 de stockage d'objet 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 le stockage d'objet. 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 de l'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

Description

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

Utilisation

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 de stockage d'objet 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'est pas indiqué, le nom de l'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 lancement. Les valeurs possibles sont PARAVIRTUALIZED, EMULATED et NATIVE. Si aucun mode n'est indiqué, la 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