Est-il possible/réalisable de migrer une installation de machine virtuelle d'Ubuntu sur une machine physique? Si possible, dans quelle mesure cela serait-il difficile et quelles mesures devrais-je prendre pour préparer la migration?.
J'aimerais effectuer des tests sur une VM et, le cas échéant, migrer ce système sur du matériel physique au lieu de tout réinstaller. Est-ce possible?
Oui c'est possible. Ce n'est même pas si difficile, cela prend juste un peu de temps, un LiveCD Ubuntu, du plastique collant, et un disque USB externe (si vous n'avez pas plus d'un disque interne). disques).
VMWare et VirtualBox (entre autres) utilisent des formats de disque qui ne se prêtent pas bien à une écriture directe sur disque. Vous pouvez , mais j'estime personnellement qu'il est plus pratique de l'écrire d'abord sur une image intermédiaire. Vous pouvez le faire depuis votre système actuel sans avoir à démarrer sur un LiveCD.
Charger un terminal et tirer dans:
cd /media/wherever-the-image-is/
# for VMWare
Sudo apt-get install qemu-kvm
qemu-img convert your-vmware-disk.vmdk -O raw disk.img
# For VirtualBox
VBoxManage clonehd your-virtualbox-disk.vdi disk.img --format RAW
Déplacez /media/wherever-the-image-is/disk.img
quelque part où vous n’êtes pas sur le point d’écrire. Si vous envisagez de l'écrire sur le disque sur lequel il se trouve, vous devrez le coller sur un disque interne séparé ou, pire, sur un disque externe.
Les instructions suivantes supposent que vous l'avez déplacé vers /media/dave/disk.img
(dave
est un disque USB externe).
Avant d’écrire sérieusement , assurez-vous d’avoir des sauvegardes . C'est un cliché à dire mais une faute de frappe et il y a une possibilité très réelle que votre système fonctionne. Supposons que les choses vont mal tourner et soyez prêt. CloneZilla peut vous aider à faire des sauvegardes de disques entiers si vous avez un endroit où stocker ces données.
Vous voudrez faire quelque chose comme ça. Cela suppose que vous allez écraser tout un disque. Si vous souhaitez effectuer une installation côte à côte de Windows, ne suivez pas ces instructions! Passer à après les balles.
Démarrez dans un Live CD Ubuntu et cliquez sur Try Ubuntu.
Montez l'emplacement où votre image vmdk est stockée (par exemple, le disque USB externe en tant que /media/dave
). Ne pas montez l'endroit où vous souhaitez écrire.
Ensuite nous allons au travail:
Sudo dd if=/media/dave/disk.img of=/dev/sdX
Vous souhaitez remplacer sdX
par le chemin correct vers votre disque de destination. Le mot de passe Sudo
est vide. Appuyez simplement sur Entrée.
Vous pouvez ensuite ouvrir gparted
ou quelque chose d'autre et vous devriez voir votre partition Ubuntu sur le disque. Vous devriez pouvoir l'élargir.
C'est peut-être une façon tout à fait plus sûre de faire les choses. L'idée est très similaire sauf que vous effectuez une installation correcte d'Ubuntu, puis synchronisez simplement les fichiers à partir de disk.img
.
Votre LiveCD devra cette fois-ci être la même version d'Ubuntu que votre installation virtuelle. Démarrez dans le Live CD et cliquez à nouveau sur Installer.
Suivez l'installateur jusqu'à ce que vous répartissiez les tâches à votre guise. Environ 10 minutes plus tard, vous serez installé et il vous demandera de redémarrer. Ne redémarre pas. Peu importe si vous le faites accidentellement, assurez-vous de revenir dans le LiveCD pour les instructions suivantes.
Montez la partition de votre nouvelle installation et votre disque externe sur lequel vous avez précédemment enregistré le disk.img
(double-cliquez dessus dans Nautilus).
Montez votre ISO disk.img dans un terminal:
Sudo mkdir /media/oldinstall
Sudo mount -o loop /media/dave/disk.img /media/oldinstall
-Note - Après avoir créé le fichier .img souhaité, parfois, lorsque vous essayez de le monter en tant que périphérique en boucle, vous risquez d'obtenir l'erreur suivante
"La signature NTFS est manquante. Échec de montage de '/ dev/loop0': argument incorrect. Le périphérique '/ dev/loop0' ne semble pas posséder de NTFS valide."
Un fichier .img contient parfois un enregistrement de démarrage principal et une table de partition avant la partition que vous souhaitez peut-être monter. Par conséquent, vous devez connaître le décalage de la partition requise. Pour cela, on peut utiliser l'outil parted . Pour un exemple, regardez la réponse de sisco311 dans ce lien http://ubuntuforums.org/archive/index.php/t-1576011.html
Donc, si vous avez déterminé que votre offset est 'xxx', vous pouvez monter votre partition en utilisant
Sudo mount -o loop,offset=xxx /media/dave/disk.img /media/oldinstall
À partir de là, vous pouvez sélectionner des fichiers ou simplement copier tout ce qui se trouve en plus de votre nouvelle installation Ubuntu en utilisant quelque chose comme:
Sudo rsync /media/oldinstall/ /media/my-new-install/
Redémarrez et vous devriez être accueilli avec votre ancienne installation VMWare, mais sur du métal nu. Si vous rencontrez des problèmes désagréables avec grub, vous pouvez y remédier en retournant au Live CD, en chrootant et en corrigeant les choses .
Peut-être que ce n'est pas exactement ce que vous demandez, mais cela peut accomplir ce que vous voulez faire.
Tous vos paramètres étant stockés dans votre répertoire de base, vous pouvez simplement en faire une copie de sauvegarde sur une autre partition d'un disque réel. Après avoir installé une nouvelle Ubuntu sur un disque réel, exécutez à nouveau le programme de sauvegarde pour restaurer votre répertoire personnel avec tous les paramètres intacts.
Vous pouvez utiliser un programme de sauvegarde très soigné appelé Déjà Dup.
Informations du centre logiciel Ubuntu:
Déjà Dup est un outil de sauvegarde simple. Il cache la complexité de la sauvegarde de la bonne manière (cryptée, hors site et régulière) et utilise la duplicité comme base.
Fonctionnalités:
Prise en charge d'emplacements de sauvegarde locaux, distants ou sur le cloud, tels qu'Amazon S3 ou les fichiers Rackspace Cloud
Crypte et compresse vos données en toute sécurité
Sauvegarde incrémentielle, vous permettant de restaurer à partir d'une sauvegarde particulière
Planifie des sauvegardes régulières
S'intègre bien dans votre bureau GNOME
Vous aurez terminé en moins de deux heures!
bonne chance!
Essayez DPCast
L'idée est de diffuser l'intégralité de votre vmdk de sa machine virtuelle sur une machine physique, où il est écrit sur le disque dur physique.
La procédure est décrite ci-dessous.
Puisque vous avez un fichier vmdk, vous pouvez avoir un poste de travail VMWare à votre disposition, même une machine virtuelle complète, à laquelle ce vmdk est attaché. Exécutez votre machine virtuelle avec ce vmdk particulier connecté, mais au lieu du démarrage ordinaire, utilisez PartedMagic liveCD pour démarrer.
Lorsque liveCD est démarré, accédez au menu principal et recherchez le UDPCast Disk Cloning
. Ses dialogues sont explicites (voir la capture d'écran)
Après avoir sélectionné cette machine virtuelle comme étant sender
name__, vous devez sélectionner le lecteur que vous souhaitez diffuser (en utilisant la notation Unix, comme/dev/sda).
Une fois que vous avez lancé sender
name__, vous devez également démarrer receiver
name__. Étant donné que vous avez un disque dur physique, je suppose, vous avez également un PC complet avec ce disque dur attaché. Même chose ici: vous devez démarrer liveCD avec UDPCast Disk Cloning
en sélectionnant receiver
cette fois, ainsi que le disque dur physique approprié.
Il est à noter que vous devez prendre toutes les dispositions nécessaires pour établir une connectivité réseau entre votre machine virtuelle et le matériel physique. Vous devez prendre les précautions nécessaires si votre vmdk contient des données privées, car leur contenu serait effectivement diffusé en continu sur votre réseau. Une autre chose est que votre disque dur cible ne devrait pas avoir moins de capacité de stockage que la capacité de votre vmdk. Il est évident, mais il convient également de noter que votre image est affichée individuellement sur votre disque dur cible et que vous devez effectuer des opérations appropriées avec gparted ou similaire pour utiliser davantage la capacité de votre nouveau disque dur.
Si VirtualBox est installé, vous pouvez convertir fichier VDI (image de lecteur VirtualBox) au format IMG à l’aide de la commande VBoxManage
, puis copier sur le disque physique, par exemple.
VBoxManage clonehd --format RAW file.vdi file.img
Ensuite, vous pouvez utiliser la commande dd
pour copier le fichier dans la partition physique:
dd if=./file.img of=/dev/<partition_here>
Remarque: utilisez Sudo si nécessaire. Faites attention lorsque vous spécifiez le bon périphérique dans/dev.
Si le disque virtuel VM est connecté au nouveau disque physique connecté à la machine, vous pouvez convertir VDI en disque physique sans conversion intermédiaire, ce qui vous permettra probablement de gagner beaucoup de temps et d'espace disque. Cela suppose que votre disque physique est égal ou supérieur à la taille maximale du disque virtuel. Dans mon cas, l'objectif était de convertir un VDI en ZFS zvol, mais l'approche devrait être la même avec n'importe quel périphérique en mode bloc.
Commencez par créer un fichier VMDK pointant sur votre périphérique bloc:
VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX
Ensuite (avec le VM shutdown!), Vous pouvez cloner le VDI sur le VMDK:
VBoxManage clonemedium --existing virtual.vdi physical.vmdk
Cela prendra un peu de temps ... Une fois terminé, vous pouvez supprimer le fichier VMDK puisqu'il n'était utilisé que comme pointeur pour que VirtualBox trouve le périphérique physique.
Dans mon cas, le nouveau zvol avait exactement la même taille que le disque virtuel. Étant donné que votre disque physique est probablement différent, vous devez utiliser un mécanisme de redimensionnement de partition pour remplir le disque en entier. Gparted ou quelque chose peut-être. Vous devriez pouvoir pointer cela sur le périphérique physique/dev/sdX tout en restant connecté à la machine VM afin que vous n'ayez pas à recourir à l'initialisation du CD de l'hôte physique.
Une fois le redimensionnement terminé, insérez le lecteur dans votre machine physique, croisez les doigts et allumez votre ordinateur.
Si vous souhaitez continuer à utiliser le lecteur physique avec VirtualBox, conservez le VMDK et utilisez VBoxManage storageattach
pour le connecter à la machine virtuelle.