RÉPONSE MODIFIÉE :
J’ai réfléchi à votre problème, et je pense que rsync ou la sauvegarde/restauration avec dd pourrait être votre meilleure option. Si vous utilisez des disques durs virtuels à expansion dynamique, alors rsync est probablement votre meilleur choix, et si vous utilisez des disques définis statiquement, alors dd est probablement votre meilleur choix.
Option 1 :
D’abord, vous devrez créer un partage samba ou cfs, ou attacher un disque physique par un autre moyen pour sauvegarder les données. Une fois que vous avez une destination de sauvegarde attachée, vous devrez exécuter la commande rsync ou dd pour sauvegarder le disque.
Exemple rsync (en utilisant Arch) :
https://wiki.archlinux.org/index.php/full_system_backup_with_rsync
Exemple dd :
http://www.thegeekstuff.com/2010/10/dd-command-examples/
Je suis presque sûr que vous pouvez rediriger rsync vers gzip si vous souhaitez créer un fichier portable.
Ensuite, vous devez installer CentOS dans une nouvelle machine Hyper-V. Puis vous devez passer par la tâche de restauration de l’image de sauvegarde (qui différera selon la commande que vous avez utilisée pour la créer).
Option 2 :
Alternativement, vous pourriez d’abord créer la nouvelle VM CentOS, puis monter l’autre fichier VHD exporté sur la même machine virtuelle sous Hyper-V. Puisque vous aurez les deux disques montés sur la même machine, vous pourriez effectuer le processus de migration à ce moment-là. Une fois que vous avez monté le disque de sauvegarde et migré votre chargeur de démarrage dessus, vous pouvez démonter le disque de la VM de remplacement. Vous pourriez ensuite réutiliser le même disque pour migrer vos autres machines (rincer et répéter pour chaque VM que vous devez migrer). Si vous avez beaucoup de machines, vous pourriez tenter de scripter ce processus, ou vous pourriez trouver un script de sauvegarde déjà existant.
Option 3 :
Créez le nouveau fichier VHD/VHDX avec Hyper-V, puis attachez-le et montez-le sur l’invité XenServer que vous souhaitez dupliquer, et effectuez la sauvegarde directement de cette manière.
Je sais qu’il y a beaucoup d’étapes à franchir, mais voici trois options solides qui fonctionneront probablement sans trop de complications. Je suis plutôt débutant avec Linux, mais j’ai déplacé des images de disques assez facilement avec dd auparavant, et je ne vois pas pourquoi cela ne fonctionnerait pas bien ici.
RÉPONSE ORIGINALE :
Si vous utilisez LVM, alors les disques durs ne devraient pas causer le problème et les liens vers les disques devraient être intacts après la conversion, mais je ne suis pas un expert. J’ai une bonne expérience de Linux sous Hyper-V, mais pas de la conversion de machines XenServer vers Hyper-V. Cela dit, l’erreur que vous observez me suggère qu’il pourrait s’agir d’un problème avec le noyau Linux. Il serait utile de savoir quelle distribution Linux vous utilisez.
XenServer a deux types de VM :
Les VM HVM - elles sont équivalentes aux VM Hyper-V et ne nécessitent aucune modification. Ces VM peuvent être converties en machines Hyper-V par les moyens conventionnels (copier le VHD ou utiliser System Center 2012 Virtual Machine Manager (VMM) comme recommandé par Microsoft).
Les VM PV - ce sont des VM « para-virtualisées » qui n’ont pas de noyau de démarrage complet. Elles sont liées au système d’exploitation de la VM et partagent une partie du chargeur de démarrage pour amorcer la machine. Vous devez remplacer le noyau PV (kernel-xen) dans la VM par le noyau pae (kernel-pae).
Je ne sais pas quelle distribution Linux vous utilisez, et cela peut avoir un impact sur la solution réelle, mais, en supposant que les VM sont des VM PV, le lien suivant contient des instructions pour installer le noyau PV sur la machine Linux, donc vous voulez faire l’inverse de ces instructions, en adaptant pour votre distribution Linux. Ensuite, le processus d’export devrait fonctionner :
http://itproctology.blogspot.ca/2009/06/pv-enabling-hvm-from-vmware-on.html
Cette réponse suppose que vous utilisez le noyau PV sur vos VM XenServer, et suppose que c’est le problème causant l’échec de démarrage. Elle suppose également que vous avez déjà essayé d’utiliser System Center 2012 Virtual Machine Manager (VMM) pour convertir les VM (conformément aux meilleures pratiques Microsoft, étapes indiquées au lien suivant) :
https://technet.microsoft.com/en-ca/library/gg610672.aspx
Notes finales :
-
J’essaierais de désactiver le démarrage sécurisé pour voir si cela fait une différence.
-
Assurez-vous de suivre les meilleures pratiques Microsoft pour les VM Linux (selon la distribution que vous utilisez). Celles-ci se trouvent aux liens suivants, et vous pourriez essayer d’appliquer ces changements à la VM avant de procéder à l’export (assurez-vous de sauvegarder votre machine virtuelle d’abord) :
Meilleures pratiques universelles pour les VM Linux sous Hyper-V :
https://technet.microsoft.com/en-ca/library/dn720239.aspx
Meilleures pratiques spécifiques aux distributions pour les VM Linux sous Hyper-V :
https://technet.microsoft.com/en-ca/library/dn531030.aspx
Enfin, voici à quoi ressemblent mes paramètres de noyau Linux (Ubuntu/Debian) pour mes machines virtuelles (dans /etc/default/grub, assurez-vous d’exécuter sudo update-grub ensuite) :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1366x768 elevator=noop numa=off"
L’option video=hyperv_fb ne fonctionnera qu’une fois les outils d’intégration Hyper-V installés sur la VM (spécifique à la distribution).