W środowisku, w którym używane są różne wersje hypervisora, często konieczna jest konwersja plików maszyny wirtualnej z jednego formatu na inny. W tym artykule przyjrzymy się, jak przekonwertować plik VMDK maszyny wirtualnej VMware do formatu Hyper-V (VHDX).
Czym są pliki dysków wirtualnych VMDK i VHD/VHDX?
Format VMDK (skrót od Virtual Machine Disk) służy do przechowywania obrazów wirtualnych dysków twardych w środowisku VMware ESXi/Workstation/Player/Fusion. Dysk wirtualny VMware składa się z jednego lub więcej (rzadkich) plików z rozszerzeniem *.vmdk.
Hiperwizor Microsoft Hyper-V korzysta z własnego formatu wirtualnego dysku twardego (VHD). Od Windows Server 2012 Hyper-V wprowadzono nowy, ulepszony format VHD o nazwie VHDX (Virtual Hard Disk v2). VHDX obsługują większe rozmiary plików, zmianę rozmiaru dysków itp. Format VHDX jest obecnie najczęściej używanym formatem plików w Hyper-V.
Ogólnie rzecz biorąc, pliki dysków wirtualnych z różnych hypervisorów nie są ze sobą bezpośrednio kompatybilne. Aby uruchomić maszynę wirtualną utworzoną w środowisku VMware na hoście Hyper-V, należy dokonać konwersji pliku dysku wirtualnego z formatu VMDK do VHDX.
Nie ma wbudowanych narzędzi do konwersji plików z VMDK na VHDX ani w Hyper-V, ani w VMware. Dlatego do konwersji plików obrazów wirtualnych należy używać narzędzi do migracji V2V (takich jak System Center Virtual Machine Manager, VMM) lub narzędzi innych firm.
Zanim zaczniesz:
- Jeśli źródłowa maszyna wirtualna jest przechowywana w formacie OVF w magazynie danych VMware, najpierw wyeksportuj szablon OVF za pomocą klienta vSphere. Następnie możesz pobrać plik *.OVF i wyodrębnić z niego plik obrazu dysku *.VMDK za pomocą 7-Zip,
- Przed kontynuowaniem zaleca się usunięcie narzędzi VMWare z maszyny wirtualnej,
- Wyłącz maszynę wirtualną przed konwersją,
- Upewnij się, że masz wystarczająco dużo wolnego miejsca na dysku twardym, aby zapisać nowy plik VHDX.
Konwertuj VMDK na VHDX za pomocą konwertera StartWind V2V
Do konwersji pomiędzy różnymi typami dysków wirtualnych można użyć bezpłatnego narzędzia graficznego StarWind V2V Converter innej firmy. Odwiedź oficjalną stronę internetową, aby pobrać narzędzie (aby otrzymać link do pobrania, wymagana jest bezpłatna rejestracja). Uruchom plik startwind.exe, aby zainstalować narzędzie na swoim komputerze.
StartWind Converter pozwala na zdalne połączenie się z VMware ESXi i wykonanie konwersji online maszyny wirtualnej oraz natychmiastowy import jej na serwer Hyper-V.
Wybierz opcję Zdalny serwer VMware ESXi lub vCenter (Remote VMware ESXi Server or vCenter).
Można także przekonwertować lokalny plik VMDK (na przykład plik maszyny wirtualnej VMware Workstation/Player) do formatu VHDX. W tym celu wybierz opcję Plik lokalny (Local file) > określ źródłowy plik (source file) VMDK i wybierz docelowy format obrazu (destination image) VHD/VHDX (wirtualny dysk twardy Microsoft).
Określ ścieżkę pliku docelowego.
Teraz możesz podłączyć powstały dysk VHDX do maszyny wirtualnej Hyper-V.
Jeśli musisz regularnie konwertować między formatami VMDK i VHDX, lepiej zrobić to za pomocą narzędzi wiersza poleceń.
Jak przekonwertować dysk VMDK na dysk VHDX za pomocą programu PowerShell?
Za pomocą modułu MVMC PowerShell można konwertować dyski wirtualne VMware (vmdk) do formatu Hyper-V (vhdx). Pobierz i zainstaluj moduł Microsoft Virtual Machine Converter na swoim komputerze.
Zaimportuj moduł MVMC do sesji PowerShell z podwyższonym poziomem uprawnień:
1 |
Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1' |
Aby przekonwertować plik VMDK do formatu VHDX, uruchom poniższe polecenie w PowerShell:
1 |
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\VMDK\server01.vmdk" -VhdType DynamicHardDisk -VhdFormat vhdx -destination C:\VHD |
Plik server01.vhdx pojawi się w katalogu docelowym. Można go użyć do utworzenia nowej maszyny wirtualnej Hyper-V lub dodania jej do istniejącej maszyny wirtualnej
Konwersja 30 GB dysku VMware VMDK na VHDX zajęła około godziny.
Konwertowanie plików obrazów VMDK za pomocą Qemu-img
Możesz użyć narzędzia qemu-img do konwersji obrazów dysków wirtualnych pomiędzy różnymi formatami. Narzędzie jest dostępne zarówno dla platform Linux ($ sudo apt install qemu-utils), jak i Windows (https://cloudbase.it/qemu-img-windows/).
Możesz wyświetlić listę formatów obrazów dysków wirtualnych obsługiwanych przez qemu-img:
1 |
$ qemu-img -h | grep "Supported formats" |
blkdebug blklogwrites blkverify bochs cloop compress copy-before-write copy-on-read dmg file ftp ftps gluster host_cdrom host_device http https iscsi iser luks nbd null-aio null-co nvme parallels preallocate qcow qcow2 qed quorum raw rbd replication ssh throttle vdi vhdx vmdk vpc vvfat
Użyj następującego polecenia, aby przekonwertować obraz dysku z VMDK na VHDX w systemie Linux:
1 |
$ qemu-img convert -O vhdx /data/sourceimg.vmdk /data/hypervdisk.vhdx |
Polecenie konwersji pliku VMDK w systemie Windows wygląda następująco:
1 |
qemu-img.exe convert source.vmdk -O vhdx -o subformat=dynamic hypervdisk.vhdx |
Aby uzyskać informacje o obrazie dysku:
1 |
qemu-img.exe info hyperv.vhdx |
Podłącz istniejący dysk VHDX do maszyny wirtualnej Hyper-V
- Otwórz konsolę Menedżera funkcji Hyper-V.
- Wybierz opcję Nowy > Maszyna wirtualna.
- Określ nazwę i lokalizację plików maszyny wirtualnej.
- Wybierz generację maszyny wirtualnej (zalecana jest generacja 2).
- Określ rozmiar pamięci RAM dla maszyny wirtualnej.
- Wybierz opcję Użyj istniejącego wirtualnego dysku twardego i zlokalizuj plik VHDX otrzymany w poprzednich krokach.
- Na koniec uruchom maszynę wirtualną.
Podsumowanie
Konwersja maszyn wirtualnych, jest wygodnym sposobemna przenoszenie działających systemó pomiędzy różnymi wirtualizacjami. Pomimo czasu, który jest potrzebny na konwersję ten sposób będzie i tak łatwiejszy niż stawianie całej maszyny od nowa wraz z konfiguracją usług.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).
Czy próbowałeś może konwersji w drugą stronę, tzn z HyperV 2012R2 do VMware 8.0? bo szukam sprawdzonego rozwiązania.
Niestety nie.