Jak wiadomo Azure IaaS jest zbudowany na HyperV w dodatku chmura Microsoft’u wspiera tylko maszyny wirtualne pierwszej generacji wykorzystujące dyski VHD. Tak więc wszystkie pozostałe formaty takie jak VHDX (Hyper-V 2 gen.) czy VMDK (VMware) muszą być najpierw przekonwertowane do VHD. O ile konwersja VHDX do VHD nie powinna stwarzać większych problemów (można ją wykonać choćby z Hyper-V Manager lub Powershell) to konwertowanie VMDK może przysporzyć więcej problemów. Zazwyczaj trzeba użyć programów firm trzecich aby wykonać tą operację, choć istnieje program MVMC od Microsoft, który konwertuje dyski VMDK do formatu zgodnego z Hyper-V, ale działa on tylko z płatnymi wersjami VMware.
W związku z powyższym po wielu próbach z różnymi darmowymi aplikacjami konwertującymi w końcu trafiłem na jedną, która się sprawdziła od początku do końca: 5nine V2V Easy Converter. Dzięki temu programowi udało mi się w łatwy sposób przekonwertować ok. 10 dysków maszyn wirtualnych VMware na dyski VHD. Sama obsługa programu jest intuicyjna i sprowadza się do:
- Podłączenia do serwera hostującego maszyny VMware
- Wybrania maszyny do konwersji
- Wskazania docelowego serwera Hyper-V gdzie maszyna będzie uruchamiana. Tutaj mała uwaga w celu samej konwersji może to być nawet nasz laptop z włączonym Hyper-V. Maszyny nie będziemy uruchamiać więc jedyne zasoby jakie zostaną skonsumowane przez nową maszynę to miejsce na dysku.
- Ważne aby zaznaczyć że po konwersji nie chcemy aby maszyna została od razu włączona i najważniejsze – żeby program użył dysków VHD a nie VHDX.
Cały proces można zobaczyć pod tym linkiem. Wynikiem powyższych działań powinien być plik .vhd oraz plik .xml z konfiguracją maszyny. Jeśli napotykasz na błędy to sprawdź czy:
- na serwerze docelowym Hyper-V jest wystarczająca ilość wolnej pamięci RAM (możesz zmniejszyć wymaganą pamięć RAM dla maszyny wirtualnej w jednym z kroków kreatora konwersji)
- na serwerze docelowym jest wystarczająca ilość wolnej przestrzeni dyskowej
Nie pamiętam czy po konwersji maszyna od razu pojawia się w Hyper-V Manager czy jeszcze trzeba ją zaimportować – sprawdźcie sami 🙂
W następnym artykule opiszę jak uruchomić taką skonwertowaną maszynę w Azure oraz stanę przed decyzją sysprep czy nie-sysprep 🙂