Import d'images Linux personnalisées

Le service Compute permet d'importer des images basées sur Linux créées en dehors d'Oracle Cloud Infrastructure (OCI). Par exemple, vous pouvez importer des images exécutées sur des machines virtuelles ou physiques sur site, ou des machines virtuelles exécutées dans Oracle Cloud Infrastructure Classic. Vous pouvez ensuite lancer les images importées sur des machines virtuelles de calcul.

Modes de lancement

Dans le cadre du processus d'import, un mode de lancement est appliqué à l'image. Le mode de lancement d'une image consiste en un ensemble prédéfini d'options de lancement. Vous pouvez lancer les machines virtuelles Linux importées en mode paravirtualisé ou émulé. Sur les formes AMD et reposant sur Arm, les images Oracle Linux Cloud Developer et les images Red Hat Enterprise Linux, les images importées sont prises en charge en mode paravirtualisé uniquement.

Le mode paravirtualisé offre de meilleures performances que le mode émulé. Nous vous recommandons d'utiliser le mode paravirtualisé si votre système d'exploitation le prend en charge. Les systèmes d'exploitation basés sur Linux exécutant la version 3.4 ou ultérieure du noyau prennent en charge les pilotes paravirtualisés. Vous pouvez vérifier la version du noyau de votre système à l'aide de la commande uname.

Procédure de vérification de la version du noyau à l'aide de la commande uname

Exécutez la commande suivante :

uname -a

La sortie doit ressembler à l'exemple suivant :

Linux ip_bash 4.14.35-1818.2.1.el7uek.x86_64 #2 SMP Mon Aug 27 21:16:31 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

La version du noyau correspond au numéro de la première partie de la chaîne de sortie. Dans l'exemple de sortie présenté précédemment, la version est 4.14.35.

Si votre image prend en charge les pilotes paravirtualisés, vous pouvez convertir vos instances en mode émulé existantes en instances paravirtualisées. Une fois la conversion terminée, les instances créées à partir de l'image sont lancées en mode paravirtualisé.

Procédure de conversion des instances en mode émulé en instances paravirtualisées
  1. Créez une image personnalisée de l'instance.
  2. Modifiez les fonctionnalités de l'image personnalisée afin d'utiliser les paramètres suivants :

    • Pour Microprogramme et Microprogramme préféré, sélectionnez BIOS.
    • Dans les champs suivants, sélectionnez Paravirtualisé.

      • Mode de lancement
      • Mode de lancement préféré
      • Type d'attachement de carte d'interface réseau
      • Type d'attachement réseau préféré
      • Type de volume d'initialisation
      • Type de volume d'initialisation préféré
      • Volume de données local
      • Type de volume de données local préféré
      • Volume de données distant
      • Type de volume de données distant préféré

Systèmes d'exploitation pris en charge

Les systèmes d'exploitation de type Linux et UNIX du tableau suivant prennent en charge l'import d'images personnalisées.

Détails d'assistance :

  • Oracle Cloud Infrastructure a testé les systèmes d'exploitation répertoriés dans le tableau suivant et aide les clients à s'assurer que les instances lancées à partir de ces images et créées conformément aux instructions de cette rubrique sont accessibles via SSH.
  • Pour toute version de système d'exploitation autre que celles couvertes par un service de support technique officiel d'Oracle (par exemple, Oracle Linux avec Premier Support), Oracle Cloud Infrastructure fournit un support technique commercialement raisonnable limité au lancement d'une instance et à son accès via SSH.
  • Le fait qu'Oracle Cloud Infrastructure prenne en charge la création d'une instance à partir d'un système d'exploitation personnalisé ne garantit pas la prise en charge de l'instance par le fournisseur du système d'exploitation. Les clients exécutant Oracle Linux sur Oracle Cloud Infrastructure ont automatiquement accès à Oracle Linux Premier Support.
Système d'exploitation de type Linux ou UNIX Versions prises en charge
CentOS 6.9, 7 et Stream 8 ou version ultérieure
Debian 5.0.10, 6.0, 7, 8 ou version ultérieure
Flatcar Container Linux 2345.3.0 ou version ultérieure
FreeBSD 8, 9, 10, 11, 12 ou version ultérieure
openSUSE Leap 15.1
Oracle Linux 5.11, 6.x, 7.x, 8.x et 9.x
RHEL

Prise en charge de Red Hat et d'OCI via le programme CCSP ( Certified Cloud and Service Provider) de Red Hat : pour connaître les versions et les formes, reportez-vous au catalogue de l'écosystème Red Hat (Oracle Cloud Infrastructure)

Prise en charge limitée d'OCI : 4,5, 5,5, 5,6, 5,9, 5,11, 6,5, 6,9, 7 ou version ultérieure

SUSE 11, 12.1, 12.2 ou version ultérieure
Ubuntu 12.04, 13.04 ou version ultérieure

Images Red Hat Enterprise Linux (RHEL)

Certaines versions des images RHEL (Red Hat Enterprise Linux) sont prises en charge via le programme CCSP (Fournisseur certifié de cloud et de services) de Red Hat. Pour créer une instance à l'aide d'une image RHEL prise en charge, procédez comme suit :

  1. Identifiez les versions et les formes de calcul RHEL prises en charge en consultant le catalogue de l'écosystème Red Hat - Oracle Cloud Infrastructure.
  2. Téléchargez une version prise en charge de RHEL à partir du portail client Red Hat. Le format de l'image doit être l'image d'invité KVM.
  3. Téléchargez l'image vers un bucket dans Object Storage. Nous vous recommandons de créer un bucket distinct dédié aux images RHEL.
  4. Importer l'image en tant qu'image personnalisée. Utilisez les paramètres suivants :

    • Type d'image : QCOW2
    • mode de lancement : mode paravirtualisé
  5. Définissez l'image personnalisée de sorte qu'elle soit compatible avec les formes prises en charge pour l'image.
  6. Créez une instance qui utilise l'image personnalisée RHEL et une forme prise en charge.
  7. Se connecter à l'instance. Le nom utilisateur par défaut est cloud-user.

Exigences relatives aux images source Linux

Les images personnalisées doivent répondre aux exigences suivantes :

  • La taille d'image maximale est de 400 Go.

  • L'image doit être configurée pour l'initialisation du BIOS.

  • Un seul disque est pris en charge. Il doit s'agir du lecteur d'initialisation avec un enregistrement d'initialisation maître et un programme d'initialisation valides. Vous pouvez migrer des volumes de données supplémentaires après avoir importé le volume d'initialisation de l'image.

  • Le processus d'initialisation ne doit pas exiger la présence de volumes de données supplémentaires pour assurer l'initialisation.

  • Le programme d'initialisation doit utiliser LVM ou un UUID pour localiser le volume d'initialisation.

  • L'image de disque ne peut pas être cryptée.

  • L'image de disque doit être un fichier VMDK ou QCOW2.

    • Créez le fichier image en clonant le volume source, et non en créant un cliché.
    • Les fichiers VMDK doivent être de type "monolithique unique" (monolithicSparse) ou "optimisé pour le flux" (streamOptimized). Les deux types comportent un seul fichier VMDK. Tous les autres formats VMDK, tels que ceux qui utilisent plusieurs fichiers, qui fractionnent les volumes ou qui contiennent des clichés, ne sont pas pris en charge.
  • L'interface réseau doit utiliser DHCP pour repérer les paramètres réseau. Lorsque vous importez une image personnalisée, les interfaces réseau existantes ne sont pas recréées. Toute interface réseau existante est remplacée par une carte d'interface réseau unique une fois le processus d'import terminé. Vous pouvez attacher des cartes d'interface réseau virtuelles supplémentaires après avoir lancé l'instance importée.

  • La configuration réseau ne doit pas coder en dur l'adresse MAC de l'interface réseau.

Nous vous recommandons d'activer la connexion SSH par certificat, bien que cela soit facultatif. Si vous souhaitez que l'image utilise automatiquement les clés SSH fournies dans un script d'initialisation lorsque vous lancez une instance, vous pouvez installer cloud-init lors de la préparation de l'image. Pour plus d'informations sur la fourniture de données utilisateur, reportez-vous à Création d'une instance.

Préparation des machines virtuelles Linux pour import

Avant d'importer une image Linux personnalisée, vous devez préparer l'image pour vous assurer que les instances lancées à partir de celle-ci peuvent s'initialiser correctement et que les connexions réseau fonctionneront. Procédez comme suit :

  1. Vous pouvez également configurer votre image Linux de sorte à prendre en charge les connexions à la console série. Une connexion à la console peut vous aider à dépanner à distance des instances qui fonctionnent mal, par exemple une image importée dont l'initialisation ne s'exécute pas correctement.

  2. Créez une sauvegarde du volume racine.

  3. Si la machine virtuelle dispose d'un stockage attaché à distance, tel que NFS ou des volumes de blocs, configurez tous les services qui reposent sur ce stockage de sorte qu'ils démarrent manuellement. Le stockage attaché à distance n'est pas disponible lors de la première initialisation d'une instance importée sur Oracle Cloud Infrastructure.

  4. Assurez-vous que toutes les interfaces réseau utilisent DHCP, et que l'adresse MAC et les adresses IP ne sont pas codées en dur. Reportez-vous à la documentation de votre système afin de connaître les étapes à suivre pour effectuer sa configuration réseau.

  5. Arrêtez la machine virtuelle.

  6. Clonez la machine virtuelle arrêtée en tant que fichier VMDK ou QCOW2, puis exportez l'image à partir de votre environnement de virtualisation. Pour connaître les étapes à suivre, reportez-vous à la documentation des outils correspondant à votre environnement de virtualisation.

Import d'une machine virtuelle basée sur Linux

Après avoir préparé une image Linux, procédez comme suit pour réaliser l'import :

  1. Téléchargez le fichier image vers un bucket Object Storage. Vous pouvez télécharger le fichier à l'aide de la console ou de l'interface de ligne de commande. Si vous utilisez l'interface de ligne de commande, exécutez la commande suivante :

    oci os object put -bn <destination_bucket_name> --file <path_to_the_VMDK_or_QCOW2_file>
  2. Ouvrez le menu de navigation et cliquez sur Compute. Sous Compute, cliquez sur Images personnalisées.
  3. Cliquez sur Importer l'image.

  4. Dans la liste Créer dans le compartiment, sélectionnez le compartiment vers lequel importer l'image.

  5. Entrez le nom de l'image. Evitez de saisir des informations confidentielles.

  6. Pour le système d'exploitation, sélectionnez Linux.

  7. Sélectionnez l'option Importer à partir d'un bucket Object Storage.

  8. Sélectionnez le bucket vers lequel vous avez téléchargé l'image.
  9. Dans la liste Nom d'objet, sélectionnez le fichier image téléchargé.
  10. Pour le type d'image, sélectionnez le type de fichier de l'image, à savoir VMDK ou QCOW2.

  11. Selon la version de Linux de votre image, dans la zone Mode de lancement, sélectionnez Mode paravirtualisé ou Mode émulé. Si votre image prend en charge les pilotes paravirtualisés, nous vous recommandons de sélectionner le mode paravirtualisé.

  12. Afficher les options de balisage : si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui appliquer des balises à format libre. Pour appliquer une balise définie, vous devez disposer de droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas sûr d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
  13. Cliquez sur Importer l'image.

    L'image importée apparaît dans la liste Images personnalisées du compartiment, avec l'état Import en cours. Lorsque l'import est terminé, l'état devient Disponible.

    Si l'état ne change pas ou si aucune entrée n'apparaît dans la liste Images personnalisées, l'import a échoué. Vérifiez que vous disposez d'un accès en lecture à l'objet Object Storage et que cet objet contient une image prise en charge.

  14. Effectuez les tâches postérieures à l'import.

Tâches postérieures à l'import pour les images Linux

Après avoir importé une image personnalisée basée sur Linux, procédez comme suit :

  1. Si vous voulez utiliser l'image sur des formes AMD ou X6, ajoutez les formes à la liste des formes compatibles de l'image.
  2. Créez une instance reposant sur l'image personnalisée. Pour la source de l'image, sélectionnez Images personnalisées, puis choisissez l'image importée.
  3. Connectez-vous à l'instance à l'aide de SSH.
  4. Si l'instance exige un stockage attaché à distance, tel que des volumes de blocs ou un stockage de fichiers, créez-le et attachez-le. Si vous utilisez des attachements iSCSI, reportez-vous à Paramètres d'initiateur iSCSI recommandés pour les images basées sur Linux.
  5. Créez et attachez toutes les cartes d'interface réseau virtuelles secondaires requises.
  6. Vérifiez que toutes les applications fonctionnent comme prévu.
  7. Réinitialisez les services définis pour démarrer manuellement.
  8. Si vous avez activé l'accès via la console série à l'image, testez-le en créant une connexion à la console série pour l'instance.

Consultez les problèmes en cours et les solutions de contournement pour les problèmes connus relatifs aux images personnalisées importées.