Comment importer une VM Linux (RHEL, CentOS, SUSE, Debian, Ubuntu)
Importation de VM Linux depuis d’autres hyperviseurs vers VergeOS et configuration des pilotes virtio en reconstruisant initramfs pour un démarrage correct sur RHEL, CentOS, SUSE, Debian et Ubuntu.
Vue d’ensemble
Ce guide explique comment importer des machines virtuelles Linux depuis d’autres hyperviseurs vers VergeOS. Il traite des problèmes potentiels comme des VM qui ne démarrent pas ou qui n’ont pas de connectivité réseau après la migration, et fournit des instructions spécifiques à chaque distribution pour régénérer l’initramfs.
Prérequis
L’accès à VergeOS et à l’interface utilisateur VergeOS.
La familiarité avec l’environnement de l’hyperviseur et la configuration de la VM.
Les fichiers de la VM importée doivent être présents dans l’environnement VergeOS.
Étapes
1. Mettre à jour la configuration matérielle de la VM
Changez tous les disques durs en
virtio-scsi:Dans l’interface utilisateur VergeOS, accédez aux paramètres de la VM.
Pour chaque disque dur, changez l’interface en
virtio-scsipour des performances et une compatibilité optimales.
Changez tous les NIC en
virtio:Assurez-vous que toutes les cartes d’interface réseau (NIC) sont réglées sur
virtiopour une prise en charge réseau améliorée.
Ajuster l’ordre de démarrage:
Assurez-vous que le disque du système d’exploitation est répertorié comme ID 0 dans l’ordre de démarrage.
2. Démarrer en mode de secours
Démarrez la VM:
Mettez la VM sous tension et, pendant le démarrage, maintenez la touche Maj gauche enfoncée pour accéder au menu de démarrage GRUB.
Sélectionner le mode de secours:
Dans le menu GRUB, sélectionnez le mode de secours pour démarrer dans un environnement de récupération minimal.
Alternative SUSE/openSUSE
Si vous ne pouvez pas démarrer en mode de secours depuis GRUB (ce qui est courant avec SLES15 et openSUSE Leap 15), montez une ISO d’installation sur la VM et démarrez à partir de celle-ci. L’ISO fournira une option « Rescue System ».
3. Monter le système de fichiers racine et effectuer un chroot
Version RHEL 9+
Par défaut, les VM de la famille RHEL 9 (par exemple RHEL, AlmaLinux 9, Rocky Linux 9, CentOS Stream 9) utilisent un fichier de configuration LVM pour autoriser explicitement les périphériques en fonction de l’ID matériel. Si une VM a été importée sans conserver les ID matériels/numéros de série des disques, exécutez pvscan --cache et vgchange -ay pour forcer LVM à rescanner tous les périphériques de bloc. Voir l’article KB : Les VM de la famille RHEL 9 ne parviennent pas à démarrer après un clonage ou une restauration d’instantané pour obtenir des informations supplémentaires.
Une fois démarré en mode de secours, connectez-vous en tant que root et montez le système de fichiers racine.
Trouver la partition racine:
Si vous ne savez pas quelle partition contient le système de fichiers racine, listez toutes les partitions disponibles :
Pour les systèmes utilisant LVM, listez tous les volumes logiques :
Monter la partition racine:
Montez la partition racine ou le volume logique dans
/mnt:Remplacez
<device_name>avec votre partition racine (par ex.,sda2,mapper/vg0-root).Vérifier le point de montage:
Vérifiez que vous avez monté le bon système de fichiers en listant son contenu :
Vous devriez voir des répertoires tels que
/root,/boot,/home,/etcet/var.Montez en liaison les systèmes de fichiers virtuels:
Utilisez la boucle for suivante pour lier les systèmes de fichiers virtuels nécessaires :
Sinon, montez-les individuellement :
Pour les systèmes EFI/UEFI, montez également la partition EFI :
Remplacez /dev/sdX1 par votre partition EFI réelle (vérifiez avec lsblk ou fdisk -l).
Effectuez un chroot dans le système de fichiers monté:
Montez les autres systèmes de fichiers:
Après être entré dans le chroot, montez les partitions supplémentaires définies dans fstab :
4. Régénérer l’initramfs
Après être entré dans le chroot du système, régénérez l’initramfs avec les pilotes virtio nécessaires.
RHEL / CentOS / Fedora / SUSE (avec dracut)
Exécutez la commande suivante pour régénérer l’initramfs :
Cela ajoute les pilotes pour virtio_blk (périphérique de bloc), virtio_net (périphérique réseau), et virtio_pci (bus PCI) à l’initramfs.
Debian / Ubuntu (avec update-initramfs)
Si dracut n’est pas disponible (ce qui est courant sur Debian 10 et Ubuntu), utilisez update-initramfs à la place :
Ajoutez les modules virtio à la configuration de l’initramfs :
Régénérez l’initramfs :
5. Redémarrer et vérifier
Quittez l’environnement chroot:
Redémarrez la VM:
Vérifier le démarrage et la connectivité réseau:
Confirmez que la VM démarre correctement et que la connectivité réseau fonctionne via la
virtiocarte réseau (NIC).
Dépannage
Problèmes courants
La VM ne démarre pas:
Solution: Vérifiez à nouveau l’ordre de démarrage dans les paramètres de la VM. Le disque du système d’exploitation doit être défini comme ID 0.
Pas de connectivité réseau:
Solution: Assurez-vous que les NIC sont réglées sur
virtioet que l’initramfs a été régénéré avec les pilotes réseau appropriés.
Ressources supplémentaires
Retour
Mis à jour
Ce contenu vous a-t-il été utile ?