Come convertire VHD in VMDK: una guida passo passo

VMware vSphere e Microsoft Hyper-V sono due delle piattaforme di virtualizzazione più diffuse. Ciascuna soluzione utilizza formati di file disco virtuali diversi per le VM. Ciò significa che è necessario convertire i file disco virtuali quando si spostano le VM tra VMware vSphere e Microsoft Hyper-V. Ad esempio, potrebbe essere necessario migrare le VM tra hypervisor per eseguire dei test. In altri casi, potrebbe essere necessario modificare il formato se è stato scelto quello sbagliato durante la creazione della VM.

Hyper-V utilizza VHD e VHDX per le VM, mentre VMware utilizza VMDK. Leggi questo post per scoprire come migrare le VM da Hyper-V a un ambiente VMware convertendo un file VHD in VMDK.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

Formati di disco virtuale

VHD si riferisce al formato di immagine disco introdotto come formato di disco virtuale delle VM per Connectix Virtual PC. Successivamente, Microsoft ha acquistato Virtual PC e ha continuato lo sviluppo di questo prodotto di virtualizzazione. Successivamente, Microsoft ha presentato Hyper-V come sostituto di Microsoft Virtual PC. Le funzioni principali del VHD sono:

  • La dimensione massima supportata dei file VHD è di 2 TB (2^32*512 byte), dove 32 bit è la quantità e 512 byte è la dimensione del settore.
  • Il formato VHD dei dischi virtuali è supportato anche da VirtualBox ed è ancora utilizzato nel cloud Microsoft Azure.
  • Le VM Hyper-V di prima generazione possono utilizzare solo dischi virtuali in formato VHD.

VHDX è la nuova versione del formato disco virtuale fornito da Microsoft, successore del formato VHD. Il formato VHDX ha un ampio campo di utilizzo: dischi virtuali delle VM di Hyper-V e volumi condivisi dei cluster Microsoft. VHDX è un formato file semiaperto e puoi scaricare le specifiche di questo formato da Microsoft e creare le tue applicazioni che funzionano con i file VHDX. Le funzioni principali di VHDX sono:

  • La capacità massima del disco è di 64 TB rispetto al limite di 2 TB per VHD.
  • Supporta settori da 4 KB
  • Offre una protezione migliore contro i guasti causati da interruzioni di corrente rispetto ai dischi VHD

Le VM di seconda generazione supportano l’uso di dischi virtuali sia VHDX che VHD. Tuttavia, le VM Azure possono utilizzare solo dischi virtuali in formato VHD. I dischi virtuali VHDX possono essere creati nella finestra Gestione disco in Windows 10 e Windows Server 2016. Le immagini VHDX possono anche essere montate (collegate) come unità disco, visualizzate in Esplora risorse (Risorse del computer) nelle ultime versioni di Windows grazie al driver VHDX integrato.

VMDK è un formato aperto di immagini disco virtuali utilizzato dagli hypervisor VMware, VirtualBox, QEMU ecc. e non supportato da Hyper-V. I file immagine VMDK possono essere considerati come contenitori per l’archiviazione dei dati in modo simile ai dischi rigidi fisici e hanno un’elevata compatibilità con diversi software di virtualizzazione. La dimensione massima del disco virtuale VMDK è stata aumentata da 2 TB a 62 TB. I dischi virtuali VMDK possono essere suddivisi nei seguenti tipi e varianti: monolitici, divisi, sparsi, piatti, nonché con provisioning sottile e spesso. I dischi Delta VMDK vengono creati quando si acquisiscono snapshot VM. I file VMDK possono essere mappati (montati) sul punto di montaggio specificato sul computer host se è installato VMware Workstation. Viene garantito un elevato livello di affidabilità. I settori nativi da 4 KB sono supportati per i dischi virtuali VMDK, utilizzati dalle versioni più recenti dei prodotti VMware con VMF S6.

Controllare il contenuto del VHD prima di convertire il VHD in VMDK

Questo è un passaggio facoltativo che consente di assicurarsi che il disco virtuale VHD o VHDX di origine sia integro e di visualizzare i file contenuti. Questo approccio evita di confondersi e perdere tempo convertendo il disco virtuale sbagliato. Se si desidera solo estrarre i file dalle immagini VHD, questa sezione è ciò che serve. I file VHD possono essere montati su una directory in Linux e possono essere mappati su una lettera di unità specificata in Windows.

Come aprire VHDX in Linux

In Linux VHD e VHDX, i file possono essere montati su una directory specificata (punto di montaggio) nella console utilizzando strumenti libguestfs. In questo modo, è possibile visualizzare il contenuto dei file VHD e VHDX in Linux prima di iniziare a convertire VHD in VMDK. Vediamo come visualizzare il contenuto delle immagini dei dischi virtuali VHD e VHDX in Linux.

Installare il pacchetto necessario:

sudo apt-get install libguestfs-tools

Creare la directory in cui si desidera montare le immagini VHD o VHDX, ad esempio /mnt/vhd/:

sudo mkdir /mnt/vhd/

Eseguire il comando per montare un’immagine disco VHD nella directory specificata. Ci troviamo nella directory in cui si trova il file VHD obbligatorio ed eseguiamo il comando come root:

guestmount --add test-disk.vhd --ro /mnt/vhd/ -m /dev/sda1

Dove:

-add – apre un disco virtuale.

--ro – un disco virtuale viene montato in modalità di sola lettura.

/mnt/vhd/ è il percorso del file VHD che si desidera montare.

-m /dev/sda1/ è il nome della partizione esistente sul disco virtuale VHD. Nel disco virtuale VHD utilizzato in questo esempio è presente una partizione NTFS.

È possibile visualizzare tutti i comandi disponibili eseguendo guestmount --help

Nota: Se si esegue il comando in un’altra directory, specificare il percorso completo del file VHD, ad esempio:
guestmount --add /media/user1/data/test-disk.vhd --ro /mnt/vhd/ -m /dev/sda1

Controllare il contenuto dell’immagine VHD montata:

ls -al /mnt/vhd/

Check the virtual disk content before you convert VHD to VMDK

Per smontare il disco virtuale, utilizzare il comando:

guestunmount /mnt/vhd/

Allo stesso modo, è possibile montare i file VHDX nella directory /mnt/vhd/ creata in precedenza e copiare il contenuto dal disco virtuale montato:

guestmount --add /media/user1/data/WinServer2016.vhdx --ro /mnt/vhd -m /dev/sda2

Dove: /dev/sda2 viene utilizzato perché /dev/sda1/ è la partizione di servizio creata di default dal programma di installazione di Windows.

È possibile visualizzare il contenuto della partizione di sistema Windows (disco C:) del disco virtuale VHDX nella console Linux (vedere la schermata sottostante).

How to convert VHD to VMDK – checking the VHDX content

Come aprire VHD in Windows

Aprire la Finestra GESTIONE computer (fare clic con il pulsante destro del mouse su Risorse del computer e selezionare Gestisci nel menu contestuale).

How to mount VHD in Windows – opening Computer Management

Nella finestra Gestione computer , selezionare Gestione disco, quindi fare clic su Azione > Collega VHD.

How to attach a VHD image in Windows

Nella finestra pop-up, definire il percorso del file VHD o VHDX. Selezionare l’opzione Read-only se non si desidera scrivere dati sul disco virtuale. Questa opzione protegge anche i dati memorizzati sul disco virtuale da danneggiamenti accidentali.

Attaching a VHD disk in Windows

Il disco è ora montato e visualizzato nella finestra Gestione disco e in Esplora risorse (in questo caso l’unità X: ).

Nota: Windows può determinare solo le partizioni con file system supportati: NTFS, FAT32, exFAT, ReFS. Se il disco virtuale contiene partizioni Linux con ext3, ext4 e altri file system, non sarà possibile visualizzare il contenuto dei file VHD o VHDX montati sul sistema Windows senza strumenti di terze parti.

Per smontare un disco virtuale VHD o VHDX da Windows, aprire Esplora risorse, fare clic con il pulsante destro del mouse sulla lettera assegnata al disco virtuale e, nel menu contestuale, fare clic su Espellere.

Eject the VHD disk in Windows when the disk is not in use

Ora, dopo aver controllato il contenuto del disco virtuale VHD (VHDX) e aver verificato che si tratti del disco desiderato, è possibile avviare la conversione da VHD a VMDK. Esistono due metodi molto convenienti per convertire VHD in VMDK: utilizzando qemu-img e utilizzando VBoxManage. Entrambe le soluzioni sono gratuite e vengono spiegate di seguito.

Come convertire VHD in VMDK con qemu-img

QEMU è una piattaforma open source di emulazione e virtualizzazione di macchine. Qemu-img è un’utilità del kit software QEMU che può essere utilizzata per convertire dischi virtuali da un formato all’altro. Qemu-img può essere utilizzato per convertire VHD in VMDK e l’utilizzo di questa utility è il Primo metodo per convertire i dischi virtuali Hyper-V in VMware che tratteremo in questo blog. Qemu-img Può essere eseguito sia su sistemi operativi Windows che Linux.

Utilizzo di qemu-img in Linux

In questo esempio viene utilizzato Ubuntu Linux per eseguire qemu-img.

Primo, installare qemu-img da un repository di software online:

sudo apt-get install qemu-utils

Vai alla directory in cui sono archiviate le immagini dei dischi virtuali (in questo esempio i file dei dischi virtuali VHD e VHDX sono archiviati in /media/user1/data/):

cd /media/user1/data/

Controllare il file VHDX

Ottenere i privilegi di root (con il comando sudo su ) e visualizzare le informazioni sull’immagine VHD:

qemu-img info test-disk.vhd

How to convert VHD to VMDK with qemu-img – checking the VHD info

Allo stesso modo, è possibile controllare le informazioni relative al disco virtuale VHDX:

qemu-img info /media/user1/data/WinServer2016.vhdx

Check the VHDX info before you convert VHDX to VMDK with qemu-img

Convertire VHD in VMDK in Linux

Per convertire VHD in VMDK con qemu-img in Linux, eseguire il comando come root:

qemu-img convert /media/user1/data/WinServer2016.vhdx -O vmdk /media/user1/data/WinServer2016qemu.vmdk -p

Dove:

-O – definisce il formato del file di output

-p – mostra la barra di avanzamento

Attendere che il processo di conversione termini.

Utilizzo di qemu-img in Windows

Scarica qemu-img da sito web ufficiale (sono disponibili per il download programmi di installazione a 32 bit e 64 bit). Nell’esempio attuale, viene utilizzato qemu-img-win-x64-2_3_0 . Estrarre i file dall’archivio scaricato, ad esempio, in C:Programsqemu-img. Quindi avviare la riga di comando di Windows (CMD) – Premere Windows+R per aprire la finestra “Run“. Digita “cmd” nella casella e premi Ctrl+Shift+Invio pereseguireilcomandocomeamministratore.

Vai alla directory qemu-img :

cd C:Programsqemu-img

I comandi di qemu-img in Linux e Windows sono identici.

Convertire VHD in VMDK in Windows

Eseguire CMD come amministratore e andare alla directory in cui è installato qemu-img .

Visualizza le informazioni sul disco virtuale:

qemu-img.exe info c:VirtualHyper-Vtest-disk.vhd

Convertire l’immagine del disco VHD nel formato VMDK:

qemu-img.exe convert -p c:VirtualHyper-Vtest-disk.vhd -O vmdk c:VirtualHyper-Vtest-disk.vmdk

Dove:

-p – mostra lo stato di avanzamento

-O – il file di output

Attendere che il processo di conversione termini.

How to convert VHD to VMDK – using qemu-img as VHD to VMDK converter

Come convertire VHD in VMDK con VBoxManage

VBoxManage è l’interfaccia a riga di comando (CLI) per la gestione dell’hypervisor VirtualBox e delle VM. VBoxManage è lo strumento multipiattaforma che viene installato quando si installa VirtualBox (come ricorderete, VirtualBox è una soluzione di virtualizzazione multipiattaforma). Una delle funzioni più interessanti è la sua capacità di convertire più formati di dischi virtuali. È possibile convertire VHD in VMDK con VBoxManage.

Se si utilizza Windows come sistema operativo host, eseguire CMD come amministratore e andare alla directory di installazione di VirtualBox per eseguire VBoxManage. Nell’esempio corrente, VirtualBox è installato nella directory predefinita.

cd C:Program FilesOracleVirtualBox

È possibile aggiungere il percorso di installazione di VirtualBox alla variabile di ambiente Path per evitare di dover accedere manualmente alla directory di installazione di VirtualBox ogni volta che si desidera eseguire VBoxManage.

Esegui il comando per convertire Hyper-V VHD in VMware VMDK come segue:

VBoxManage clonehd --format vmdk C:virtualHyper-VWinServer2016.vhdx С:virtualHyper-VWinServer2016vbox.vmdk

La sintassi è comprensibile: imposta il formato del disco virtuale di destinazione (vmdk) e definisci il file di origine vhdx file e destinazione vmdk nomi dei file.

Attendere che il processo di conversione termini.

How to convert VHD to VMDK – using VBoxManage as a VHD to VMDK converter

Se si utilizza Linux sul computer in cui è installato VirtualBox, utilizzare gli stessi comandi (tenendo presente la struttura delle partizioni e delle directory di Linux).

Creazione di una VM VMware utilizzando il disco virtuale convertito

La conversione da VHD a VMDK consente di convertire macchine virtuali Hyper-V in macchine virtuali VMware. È necessario importare il disco virtuale convertito nelle VM VMware create manualmente per completare la conversione della VM. Questo approccio può essere utilizzato per le VM in esecuzione su VMware Workstation e VMware ESXi. I dettagli rimanenti su come convertire Hyper-V in VMware sono spiegati in questa sezione.

VMware Workstation

Se desideri creare una VM utilizzando un disco virtuale convertito dal formato VHD (VHDX) al formato VMDK in VMware Workstation, basta creare una nuova VM (o aprire una VM esistente se desideri aggiungere un disco virtuale convertito come disco virtuale aggiuntivo) e selezionare che desideri utilizzare un disco virtuale esistente.

Ad esempio, creiamo una nuova VM in VMware Workstation. Premere File > Nuova VM.

Per una spiegazione dettagliata su come creare una nuova VM VMware Workstation, consultare il post sul blog relativo a VMware Home Lab. In questa sezione del post sul blog di oggi, l’attenzione è rivolta ai passaggi necessari per importare un disco virtuale VHD convertito nella VM VMware Workstation. Pertanto, è necessario prestare particolare attenzione ai seguenti passaggi:

Selezionare “Installerò un sistema operativo in un secondo momento”, e scegliere la versione del sistema operativo guest (sistema operativo) che era installato sulla VM Hyper-V di origine di cui è stato convertito il disco virtuale (Windows Server 2016 in questo caso). Se si utilizza una versione precedente di VMware Workstation, selezionare Windows 10 come versione del sistema operativo guest.

How to import VHD to VMware after conversion

Il nome della VM è Win2016converted nel nostro esempio. I file della nuova VM sono memorizzati in C:VirtualWin2016converted.

Selezionare “Utilizzare un disco virtuale esistente” nella fase Selezionare un disco .

How to import VHD to VMware after conversion to the VMDK format

Specificare un percorso per il file VMDK esistente o sfogliare il file. In questo caso, il percorso del file VMDK è:

C:VirtualHyper-VWinServer2016qemu2.vmdk

How to import VHD to VMware Workstation after converting to VMDK

Se viene visualizzata una finestra di dialogo che suggerisce di convertire un disco virtuale esistente in un formato più recente, la scelta spetta all’utente. È consigliabile convertire un disco virtuale in un formato più recente se non si intende utilizzare tale disco virtuale per VM di versioni VM precedenti (che dispongono di hardware virtuale meno recente).

Selezionare BIOS come tipo di firmware nelle opzioni VM se la VM Hyper-V di origine è stata configurata per utilizzare il BIOS. In caso contrario, la VM VMware a cui è stato collegato un disco virtuale convertito dal formato Hyper-V al formato VMware non si avvierà. Dopo aver creato una VM, è possibile verificare queste impostazioni andando su VM > Impostazioni, selezionando la scheda Opzioni > Avanzate.

Selecting BIOS in the options of the destination VMware VM

Ora la tua VM dovrebbe avviarsi correttamente. Dopo che il sistema operativo guest è stato avviato, installare VMware Tools.

How to convert Hyper-V to VMware – the conversion has completed successfully

VMware ESXi

È anche possibile convertire VHD in VMDK e importare un disco virtuale convertito in una VM VMware in esecuzione su un Host VMware ESXi. Tuttavia, il formato del disco virtuale VMware per VMware Workstation e VMware ESXi è una questione diversa. Un disco virtuale in formato VMware Workstation ha un descrittore di disco integrato nel singolo file VMDK. Un disco virtuale in formato ESXi è costituito da due file separati: un file di dati (.vmdk) e un file descrittore del disco (-flat.vmdk). Per poter utilizzare un disco virtuale convertito dal formato Hyper-V con qemu-img o VBoxManage per una VM in esecuzione su ESXi, è necessario convertire tale disco virtuale dal formato di stazione di lavoro al formato ESXi. In caso contrario, verrà visualizzato il seguente errore: “Tipo di disco non supportato o non valido 2“.

How to convert VHD to VMDK for ESXi – VMDK must be converted to the ESXi format

Scopriamo come utilizzare un disco virtuale convertito dal formato VHD per una VM in esecuzione su ESXi.

Conversione di VMDK nel formato ESXi

Caricare il file VMDK convertito nell’archivio dati collegato a un host ESXi. Utilizza un client SCP, l’interfaccia web di VMware Host Client o VMware vSphere Client per caricare il disco virtuale convertito vmdk nel archivio dati ESXi.

Nel nostro esempio, il file WinServer2016qemu.vmdk viene caricato nell’archivio dati SSD1 allegato all’host ESXi con indirizzo IP 10.10.10.74.

How to import VHD to VMware ESXi – uploading the VMDK file after conversion

Assicurarsi che l’accesso SSH sia abilitato sull’host ESXi (Gestisci > Servizi > TSM-SSH).

SSH access is enabled on an ESXi host

Connettersi all’host ESXi tramite SSH utilizzando un client SSH (ad esempio PuTTY) come root.

Passare alla directory in cui è archiviato il file del disco virtuale VMDK convertito dal formato VHD Hyper-V (in questo esempio, il file vmdk è archiviato in /vmfs/volumes/SSD1/converted/):

cd /vmfs/volumes/SSD1/converted/

Utilizzare vmkfstools per convertire un disco virtuale in formato di stazione di lavoro in un disco virtuale in formato ESXi. Nel nostro esempio, un disco virtuale thin provisioned in formato ESXi è il tipo di disco virtuale di destinazione.

vmkfstools -i WinServer2016qemu.vmdk WinServer2016thin.vmdk -d thin

How to convert VHD to VMDK – post conversion of the VMDK file to the ESXi format

Come si può vedere dallo screenshot, la conversione post-VMDK dal formato di stazione di lavoro al formato ESXi con vmkfstools è stata completata con successo e sono stati creati due nuovi file:

WinServer2016thin-flat.vmdk

WinServer2016thin.vmdk

How to convert VHD to VMDK – the virtual disk is converted to VMDK of the ESXi format

Importazione di un disco VMDK in una VM su ESXi

Aprire VMware Host Client (è preferibile utilizzare VMware vSphere Client se c’è l’implementazione di vCenter, ma è possibile utilizzare VMware Host Client in quasi tutti i casi d’uso, compreso uno scenario con ESXi Free Edition se si è deciso di convertire Hyper-V in VM VMware). Nell’interfaccia web di VMware Host Client, selezionare VM e premere Create/Register VM.

Creating a new VM to import VHD to VMware after converting a virtual disk

Si apre la procedura guidata per la creazione di una nuova VM.

1. Selezionare il tipo di creazione. Fare clic su Creare una nuova VM. Fare clic su Avanti in ogni fase per continuare.

Creating a new VM on an ESXi host

2. Selezionare un nome e un sistema operativo guest. Selezionare la versione della VM, la famiglia del sistema operativo guest e la versione del sistema operativo guest. In questo esempio, il nome della VM è Win2016converted. La VM è compatibile con ESXi 6.5 o versioni successive, Windows è la famiglia del sistema operativo guest e la versione del sistema operativo guest è Microsoft Windows 2016 (64 bit).

How to convert Hyper-V to VMware – creating a new VM to import a converted virtual disk

3. Selezionare lo storage. Selezionare l’archivio dati in cui archiviare i file della VM. Il nome dell’archivio dati utilizzato in questo esempio è SSD2.

Selecting a datastore to store VM files

4. Personalizza le impostazioni. Questo passaggio è il più importante nel nostro caso. Elimina il disco virtuale creato per impostazione predefinita con la nuova VM. Quindi, fare clic su Aggiungere un disco rigido > Disco rigido esistente.

Importing a virtual disk converted from VHD to VMDK to a VM on ESXi

Nel browser dell’archivio dati, selezionare il disco virtuale convertito da VHD a VMDK e quindi convertito da VMDK dal formato VMware Estazione di lavoro al formato VMware ESXi (thin provisioned). Come ricorderai, il disco virtuale convertito è composto da due file (.vmdk e -flat.vmdk), ma nell’archivio dati viene visualizzato solo un file vmdk . Non preoccuparti: si tratta di una funzione di VMware Host Client. Entrambi i file copiati nell’archivio dati ESXi sono presenti. È possibile verificarli nella console ESXi o collegandosi tramite SSH. Nell’esempio corrente, è possibile vedere che la dimensione attuale del disco virtuale è 9,11 GB, ma la dimensione massima provisionata di questo disco è 30 GB.

Selecting a converted virtual disk on a datastore

Dopo aver aggiunto il disco virtuale VMDK convertito, è possibile vedere il campo inattivo in cui viene visualizzata la dimensione di 9 GB (la dimensione attuale) del disco virtuale da 30 GB. Non è necessario prestare attenzione al fatto che il tipo di disco virtuale sia visualizzato in modo errato nella schermata sottostante; il disco virtuale viene importato come disco thin, come previsto.

How to convert VHD to VMDK – a converted virtual disk is attached to a VM on ESXi

5. Pronto per il completamento. In questa fase è possibile verificare le impostazioni. Se tutto è corretto, premere termina per creare una nuova VM.

Checking the new VM configuration summary

Ora è possibile accendere la VM (fare clic con il pulsante destro del mouse sul nome della VM e nel menu contestuale selezionare Power > Power On).

Convert Hyper-V to VMware – starting a VM that uses a converted virtual disk

La VM con il disco virtuale convertito si è avviata correttamente e la rete funziona correttamente. Ora è possibile installare VMware Tools sul sistema operativo guest.

How to convert Hyper-V to VMware – a VM that uses a converted disk is operating properly on ESXi

Conclusione

Se desideri convertire Hyper-V in VMware a livello di VM, puoi convertire VHD in VMDK e quindi collegare un disco virtuale VMDK convertito a una nuova VM VMware. Qemu-img può essere utilizzato come convertitore da VHD a VMDK e VBoxManage può essere utilizzato come alternativa. Entrambe le soluzioni sono gratuite e multipiattaforma, consentendo di convertire Hyper-V VHD in VMware VMDK su diversi sistemi operativi. Tenere presente che se si desidera utilizzare un disco virtuale convertito con qemu-img o VBoxManage per le VM ESXi, è necessario convertire il disco virtuale VMDK dal formato di stazione di lavoro al formato ESXi con vmkfstools nella riga di comando ESXi.

Se si desidera utilizzare strumenti semi-automatici o completamente automatici per convertire l’intera VM Hyper-V in VM VMware, è possibile utilizzare gratuitamente VMware vCenter Converter Standalone.

Indipendentemente dall’hypervisor utilizzato, la protezione dei dati è importante. NAKIVO Backup & Replication offre una funzione di ripristino multipiattaforma che consente di convertire i dischi VHD dai backup delle VM in dischi VMDK e di ripristinare le VM Hyper-V sugli hypervisor VMware.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Le persone leggono anche