Question Migrer d'une machine virtuelle vers un système physique


Aka: Comment convertir un fichier .vdi ou .vmdk en une installation réelle sur un disque physique?

Est-il possible / possible de migrer une installation de machine virtuelle d'Ubuntu sur une machine physique? Si possible, à quel point cela serait-il difficile à accomplir et quelles mesures devrais-je prendre pour préparer la migration?

J'aimerais faire des tests sur une machine virtuelle et, si cela fonctionne, migrer ce système vers un matériel physique au lieu de tout réinstaller. Est-ce possible?


115
2018-03-29 09:42


origine


En relation: Est-il possible de convertir des machines virtuelles en environnements physiques?chez SU - kenorb


Réponses:


Oui c'est possible. Ce n'est même pas cette dur, cela prend juste un peu de temps, un LiveCD Ubuntu, un sticky-back-plastic et un disque USB externe (si vous n'avez pas plus d'un disque interne).

Etape préliminaire: Convertir le disque en quelque chose d'utile

VMWare et VirtualBox (entre autres) utilisent des formats de disque qui ne se prêtent pas bien à l’écriture directe sur disque. Toi pouvez Mais personnellement, je pense qu'il est plus pratique de l'écrire d'abord sur une image standard intermédiaire. Vous pouvez le faire depuis votre système actuel sans avoir à démarrer sur un LiveCD.

  • Chargez un terminal et tirez 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 internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX
    
  • Bouge toi /media/wherever-the-image-is/disk.img quelque part que vous n'êtes pas sur le point d'écrire. Si vous prévoyez d'écrire sur le disque sur lequel il se trouve, vous devrez le coller sur un disque interne distinct ou, pire encore, 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 de faire une écriture sérieuse, 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 vous nuke votre système. Supposez que les choses vont mal et soyez prêt. CloneZilla peut vous aider à effectuer des sauvegardes de disque entier si vous avez un endroit pour stocker ces données.

Ecrire l'image sur un disque qui lui est propre

Vous voudrez faire quelque chose comme ça. Cela suppose que vous allez écraser un disque entier. Si vous voulez faire une installation parallèle à Windows, ne suivez pas ces instructions! Passez à après les puces.

  • Démarrez dans un CD Ubuntu Live et cliquez sur Try Ubuntu.

  • Montez-vous à l'endroit où votre image vmdk est stockée (par exemple, le disque USB externe comme /media/dave). Faire ne pas Montez l'endroit où vous voulez écrire.

  • Ensuite, nous allons au travail:

    sudo dd if=/media/dave/disk.img of=/dev/sdX
    

    Vous voulez remplacer sdX avec le chemin correct vers votre disque de destination. le sudo Le mot de passe est vide, appuyez simplement sur Retour.

  • Vous pouvez ensuite ouvrir gparted ou quelque chose d'autre et vous devriez voir votre partition Ubuntu sur le disque. Vous devriez être capable de l'étendre.

Ecrire l'image sur un disque avec un autre système d'exploitation

C'est peut-être une façon tout à fait plus sûre de faire les choses. L'idée est très similaire à part vous faire une installation correcte d'Ubuntu, puis juste synchroniser les fichiers à partir de disk.img.

  • Votre LiveCD cette fois-ci devra être la même version d'Ubuntu que votre installation virtuelle. Démarrez le Live CD, puis cliquez à nouveau sur Installer.

  • Suivez le programme d'installation, repartitionnez les choses comme bon vous semble. Environ 10 minutes plus tard, vous serez installé et vous demanderez de redémarrer. Ne pas redémarrer Peu importe si vous faites accidentellement, assurez-vous simplement de revenir dans le LiveCD pour les prochaines instructions.

  • Montez la partition de votre nouvelle installation et votre disque externe où vous avez stocké la disk.img de plus tôt (il suffit de double-cliquer dessus dans nautilus).

  • Montez votre ISO disque.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 de recevoir l'erreur suivante

    "La signature NTFS est manquante.  Échec du montage de '/ dev / loop0': argument non valide  Le périphérique / dev / loop0 ne semble pas avoir un NTFS valide. " 

    Un fichier .img contient parfois un enregistrement de démarrage principal et une table de partition avant la partition que vous souhaitez éventuellement monter. Par conséquent, vous devez trouver le décalage de la partition requise. Pour cela, on peut utiliser le séparé outil. 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
    
  • De là, vous pouvez choisir des fichiers ou simplement copier tout ce que vous avez sur votre nouvelle installation Ubuntu en utilisant quelque chose comme:

    sudo rsync /media/oldinstall/ /media/my-new-install/
    
  • Redémarrez et vous devrait être accueilli avec votre ancienne installation VMWare, mais sur du métal nu. Si vous rencontrez des problèmes désagréables, vous pouvez le résoudre en revenir à Live CD, chrooter et réparer les choses.


91
2018-03-29 10:44



Connaissez-vous un outil qui le fait automatiquement? - the_drow
Pour les configurations sur Windows / VirtualBox, le VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX commande fonctionnera toujours. Il suffit de cd pour Program Files\Oracle\VirtualBox avant d'exécuter la première commande. - Aust
@Je doute que /dev/sdX est la cible valide dans Windows. AFAIK ce sera \\Device\Harddisk0 ou quelque chose comme ça. - Danatela
VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX ne fonctionne pas Sous Linux, il donne l'erreur: VBoxManage: error: Cannot create destination file "/dev/sdX": VERR_ALREADY_EXISTS. Il faut utiliser le VBoxManage commande pour l'envoyer d'abord à une image. Utilisez ensuite DD pour placer l'image sur le disque physique. - L. D. James


Peut-être que ce n'est pas exactement ce que vous demandez, mais cela peut accomplir ce que vous voulez faire.

Comme tous vos paramètres sont stockés dans votre répertoire personnel, vous pouvez simplement en faire une copie de sauvegarde sur une autre partition sur 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 vraiment 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 backend.

Caractéristiques:

  • Prise en charge des emplacements de sauvegarde locale, distante ou cloud, tels que les fichiers Amazon S3 ou Rackspace Cloud

  • Chiffre et compresse en toute sécurité votre Les données

  • Sauvegarde incrémentale, vous laissant restaurer à partir d'une sauvegarde particulière

  • Planifie des sauvegardes régulières

  • S'intègre bien dans votre GNOME bureau

enter image description here

Vous aurez fini en moins de deux heures!

bonne chance!


8
2018-03-29 10:32



Cela semble facile Peut-on confirmer que cela fonctionne vraiment comme ça? - Mateng


Essayer UDPCast

L'idée est de diffuser l'ensemble de votre vmdk depuis sa machine virtuelle vers une machine physique, où elle est écrite sur le disque dur physique.

La procédure est décrite ci-dessous.

Étant donné que vous avez un fichier vmdk, vous pouvez avoir une station de travail VMWare à votre disposition, même une machine virtuelle à laquelle ce vmdk est attaché. Exécutez votre machine virtuelle avec ce vmdk particulier attaché, mais au lieu d'utiliser un démarrage ordinaire, utilisez PartedMagic liveCD pour démarrer.

Lorsque liveCD est lancé, naviguez jusqu'au menu principal et trouvez le UDPCast Disk Cloning. Ses dialogues sont explicites (voir la capture d'écran) UDPCast Disk Cloning start screen

Après avoir sélectionné cette machine virtuelle pour être le sender, vous devez sélectionner le lecteur que vous souhaitez diffuser (en utilisant la notation Unix, comme / dev / sda).

Après avoir lancé le sender, vous devez commencer receiver ainsi que. É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 convient de noter que vous devez prendre toutes les dispositions nécessaires pour avoir une connectivité réseau entre votre machine virtuelle et votre matériel physique. Vous devez prendre les précautions nécessaires si votre vmdk contient des données privées, car son contenu serait effectivement diffusé 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 faut également noter que votre image est mise en page un par un sur votre disque dur cible et que vous devez effectuer des opérations appropriées avec gparted ou similaire pour utiliser une plus grande capacité de votre nouveau disque dur.


4
2018-02-12 23:24



J'aimerais noter que cette méthode est très simple et relativement facile à réaliser. À savoir, la seule étape de préparation que vous devez effectuer consiste à préparer votre LiveCD avec UDPCast dessus ou tout autre LiveCD, ce qui est suffisant pour télécharger et exécuter UDPCast. Si vous avez une image HD virtuelle, vous l'avez certainement utilisée dans une machine virtuelle, qui est déjà configurée et prête, d'autre part vous avez préparé votre système physique et il est également prêt pour la tâche. - PF4Public
Il y a plus: UDPCast peut être exécuté directement à partir de PXE. udpcast.linux.lu/bootloader.html#pxe - PF4Public


Si vous avez installé VirtualBox, vous pouvez convertir Fichier VDI (image du disque VirtualBox) au format IMG en utilisant VBoxManage commande, puis copier dans le disque physique, par ex.

VBoxManage clonehd --format RAW file.vdi file.img

Ensuite, vous pouvez utiliser dd commande pour copier le fichier dans la partition physique:

dd if=./file.img of=/dev/<partition_here>

Remarque: Utilisez sudo si nécessaire. Soyez prudent lorsque vous spécifiez le bon périphérique dans / dev.


3
2018-06-03 15:22





Si le nouveau disque physique est connecté à la machine sur laquelle se trouve le disque virtuel VM, vous pouvez convertir VDI en physique sans conversion intermédiaire, ce qui économisera probablement beaucoup de temps et d'espace disque. Cela suppose que votre disque physique est identique ou supérieur à la taille maximale du disque virtuel. Dans mon cas, le but était de convertir une VDI en un zvol ZFS, 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 vers votre périphérique bloc:

VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX

Ensuite (avec l'arrêt de la VM!), Vous pouvez cloner le VDI sur le VMDK:

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

Ça va prendre du temps ...  Lorsque c'est fait, vous pouvez supprimer le fichier VMDK car il a été utilisé uniquement comme pointeur pour VirtualBox pour trouver 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 devrez utiliser un mécanisme de redimensionnement des partitions pour remplir le disque complet. Gparted ou quelque chose peut-être. Vous devriez être en mesure de pointer cela sur le périphérique physique / dev / sdX tout en étant toujours connecté à la machine virtuelle afin de ne pas avoir à démarrer le CD sur l'hôte physique.

Une fois le redimensionnement terminé, insérez le lecteur dans votre machine physique, croisez les doigts et allumez-le.

Si vous souhaitez continuer à utiliser le lecteur physique avec VirtualBox, conservez le VMDK et utilisez VBoxManage storageattach pour le connecter à la VM.


0
2018-05-15 13:23



Il semble que cela fonctionne, mais les données sont corrompues et le système d'exploitation ne démarre pas correctement. - Sarge Borsch