Migrazione da una macchina virtuale (VM) a un sistema fisico

115

Aka: Come posso convertire un .vdi o .vmdk in una vera installazione su un disco fisico?

È possibile / fattibile migrare un'installazione di macchina virtuale di Ubuntu su una macchina fisica? Se possibile, quanto sarebbe difficile da realizzare e quali misure dovrei prendere per prepararmi alla migrazione.

Mi piacerebbe fare dei test su una VM e, se funziona, migrare quel sistema all'hardware fisico invece di reinstallare tutto. È possibile?

    
posta dting 29.03.2011 - 11:42
fonte

5 risposte

90

Sì, è possibile. Non è nemmeno così difficile, ci vuole solo un po 'di tempo, un LiveCD di Ubuntu, una plastica appiccicosa e un disco USB esterno (se non si dispone di più di un disco interno).

Passaggio preliminare: converti il ​​disco in qualcosa di utile

Sia VMWare che VirtualBox (tra gli altri) usano formati di disco che non si prestano bene a essere scritti direttamente su disco. puoi ma personalmente ritengo che sia più comodo scriverlo prima a un intermediario, un'immagine standard. Puoi farlo dal tuo sistema attuale senza dover avviare un LiveCD.

  • Carica un terminale e attiva:

    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
    
  • Sposta /media/wherever-the-image-is/disk.img da qualche parte su cui non stai scrivendo. Se stai pianificando di scriverlo sul disco in cui si trova attualmente, ti consigliamo di inserirlo su un disco interno separato o, peggio-arriva-a-peggio di un disco esterno.

  • Le seguenti istruzioni presuppongono che tu l'abbia spostato su /media/dave/disk.img ( dave è un disco USB esterno)

  • Prima di scrivere seriamente, assicurati di avere backup . È una cosa da cliché, ma è un errore di battitura e c'è una possibilità molto reale che tu inforni il tuo sistema. Supponiamo che le cose andranno male e si preparino. CloneZilla può aiutarti a prendere interi backup del disco se hai qualche posto dove archiviare i dati.

Scrivi l'immagine su un disco proprio

Avrai voglia di fare qualcosa di simile. Ciò presuppone che sovrascrivi un intero disco. Se vuoi eseguire un'installazione di Windows a fianco, non seguire queste istruzioni! Vai a dopo i proiettili.

  • Avvia da un Live CD di Ubuntu e fai clic su Prova Ubuntu.

  • Monta il luogo in cui viene archiviata l'immagine vmdk (ad esempio il disco USB esterno come /media/dave ). Fai non montare la posizione in cui desideri scrivere.

  • Poi andiamo al lavoro:

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

    Si desidera sostituire sdX con il percorso corretto sul disco di destinazione. La password sudo è vuota, basta premere Invio.

  • Puoi quindi aprire gparted o qualcos'altro e dovresti vedere la tua partizione Ubuntu seduta sul disco. Dovresti essere in grado di espanderlo.

Scrivi l'immagine su un disco accanto a un altro sistema operativo

Questo è forse un modo del tutto più sicuro di fare le cose. L'idea è molto simile a parte l'installazione corretta di Ubuntu e quindi solo la sincronizzazione dei file da disk.img .

  • Il tuo LiveCD questa volta dovrà essere la stessa versione di Ubuntu della tua installazione virtuale. Avvia il Live CD e, di nuovo, fai clic su Installa.

  • Segui l'installer attraverso, ripartiziona le cose come meglio credi. Circa 10 minuti dopo, sarai installato e ti chiederà di riavviare. Non riavviare. Non importa se accidentalmente lo fai, assicurati di essere di nuovo nel LiveCD per le prossime istruzioni.

  • Monta la tua nuova partizione di installazione e il tuo disco esterno in cui hai salvato disk.img da prima (semplicemente fai doppio clic su di loro in nautilus).

  • Monta il tuo disk.img ISO in un terminale:

    sudo mkdir /media/oldinstall
    sudo mount -o loop /media/dave/disk.img /media/oldinstall
    

    -Nota - Dopo aver creato il file .img desiderato, a volte quando provi a montarlo come un dispositivo a loop potresti ricevere il seguente errore

    "Manca la firma NTFS.  Impossibile montare '/ dev / loop0': argomento non valido  Il dispositivo '/ dev / loop0' non sembra avere un NTFS valido. "

    Un file .img a volte contiene un record di avvio principale e una tabella di partizione prima della partizione effettiva che potresti voler montare. Quindi è necessario scoprire l'offset della partizione richiesta. A questo scopo, puoi utilizzare lo strumento parted . Per un esempio, guarda la risposta di sisco311 in questo link link

    Quindi, se hai determinato che l'offset è 'xxx', puoi montare la partizione usando

    sudo mount -o loop,offset=xxx /media/dave/disk.img /media/oldinstall
    
  • Da lì puoi selezionare i file o semplicemente copiare tutto sopra la tua nuova installazione di Ubuntu usando qualcosa come:

    sudo rsync /media/oldinstall/ /media/my-new-install/
    
  • Riavvia e tu dovresti essere salutato con la tua vecchia installazione di VMWare, ma su bare metal. Se riscontri problemi di grub, puoi risolvere il problema con tornare al Live CD, fare il chroot e aggiustare le cose .

risposta data Oli 29.03.2011 - 12:44
fonte
8

Forse non è esattamente quello che stai chiedendo, ma potrebbe portare a compimento quello che vuoi fare.

Poiché tutte le tue impostazioni sono memorizzate nella tua directory home, puoi semplicemente fare una copia di backup di essa su un'altra partizione su un disco reale. Dopo aver installato una nuova Ubuntu su un disco reale, basta eseguire nuovamente il programma di backup per ripristinare la directory home con tutte le impostazioni intatte.

Puoi utilizzare un programma di backup davvero accurato chiamato Déjà Dup .

Informazioni dal centro del software ubuntu:

Déjà Dup è un semplice strumento di backup. Nasconde la complessità del backup del modo giusto (crittografato, off-site e regolare) e utilizza la duplicità come back-end.

Caratteristiche:

  • Supporto per posizioni di backup locali, remote o cloud, come Amazon S3 o Rackspace Cloud Files

  • Crittografa e comprime in modo sicuro il tuo Dati

  • Esegui backup incrementali, permettendoti di farlo ripristinare da qualsiasi backup particolare

  • Programma i backup regolari

  • Si integra perfettamente con GNOME Desktop

Sarai fatto in meno di due ore!

buona fortuna!

    
risposta data danizmax 29.03.2011 - 12:32
fonte
4

Prova UDPCast

L'idea è di far scorrere l'intero tuo vmdk dalla sua macchina virtuale alla macchina fisica, dove è scritto sull'hdd fisico.

La procedura è descritta di seguito.

Dato che hai un file vmdk, potresti avere una VMWare Workstation a tua disposizione, persino una Virtual Machine completa a cui è collegato questo vmdk. Esegui la tua macchina virtuale con questo particolare vmdk allegato, ma invece di un normale avvio usa PartedMagic liveCD per l'avvio.

Quando viene avviato il liveCD, accedi al menu principale e trova UDPCast Disk Cloning . Le sue finestre di dialogo sono auto-esplicative (vedi lo screenshot)

Dopo aver selezionato questa macchina virtuale come sender , dovresti selezionare quale unità vuoi trasmettere (usando la notazione Unix, come / dev / sda).

Dopo aver avviato sender , devi avviare anche receiver . Dato che hai un hdd fisico, presumo, hai anche un PC completo con questo hdd collegato. La stessa cosa qui: devi avviare liveCD con UDPCast Disk Cloning selezionando receiver questa volta e l'hdd fisico appropriato.

Vale la pena notare che dovresti fare tutti gli accordi necessari per avere la connettività di rete tra la tua Macchina Virtuale e l'hardware fisico. Dovresti prendere le necessarie precauzioni se il tuo vmdk contiene dati privati, poiché i suoi contenuti sarebbero effettivamente in streaming sulla tua rete. Un'altra cosa è che il tuo hdd di destinazione non dovrebbe avere meno capacità di archiviazione, rispetto alla capacità del tuo vmdk. È ovvio, ma vale anche la pena notare che la tua immagine è disposta uno-a-uno sul tuo hdd di destinazione ed è necessario eseguire operazioni appropriate con gparted o simili per sfruttare la maggiore capacità del tuo nuovo hdd.

    
risposta data PF4Public 13.02.2016 - 00:24
fonte
3

Se hai installato VirtualBox, puoi convertire il file VDI (immagine dell'unità VirtualBox) nel formato IMG usando comando VBoxManage , quindi copia nel disco fisico, ad esempio

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

Quindi puoi usare il comando dd per copiare il file nella partizione fisica:

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

Nota: usa sudo se necessario. Fai attenzione quando specifichi il dispositivo giusto in / dev.

    
risposta data kenorb 03.06.2017 - 17:22
fonte
0

Se il nuovo disco fisico è collegato alla macchina, il disco virtuale VM è attivo, è possibile convertire VDI in fisico senza una conversione intermedia, probabilmente risparmiando un sacco di tempo e amp; spazio sul disco. Questo presuppone che il tuo disco fisico sia uguale o più grande della dimensione massima del disco virtuale. Nel mio caso, l'obiettivo era convertire un VDI in uno Zvol ZFS, ma l'approccio dovrebbe essere lo stesso con qualsiasi dispositivo a blocchi.

Per prima cosa crea un file VMDK che punta al tuo dispositivo a blocchi:

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

Quindi (con l'arresto della VM!) è possibile clonare VDI su VMDK:

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

Ci vorrà un po 'di tempo ... Una volta terminato, puoi eliminare il file VMDK poiché è stato usato solo come puntatore per VirtualBox per trovare il dispositivo fisico.

Nel mio caso, il nuovo zvol aveva esattamente le stesse dimensioni del disco virtuale. Dato che il disco fisico è probabilmente diverso, è necessario utilizzare un meccanismo di ridimensionamento delle partizioni per riempire l'intero disco. Gparted o qualcosa forse. Dovresti essere in grado di puntarlo sul dispositivo fisico / dev / sdX mentre sei ancora collegato alla macchina virtuale in modo da non dover ricorrere al CD di avvio dell'host fisico.

Una volta eseguito il ridimensionamento, inserisci l'unità nella tua macchina fisica, incrocia le dita e accendi.

Se si desidera continuare a utilizzare l'unità fisica con VirtualBox, mantenere il VMDK in giro e utilizzare VBoxManage storageattach per collegarlo alla VM.

    
risposta data pendor 15.05.2018 - 15:23
fonte

Leggi altre domande sui tag