
Jak przenieść maszyny wirtualne z Hyper-V do Proxmox – prosty przewodnik krok po kroku
Migracja maszyn wirtualnych pomiędzy różnymi środowiskami wirtualizacji może wydawać się skomplikowana. Na szczęście dzięki przygotowanemu skryptowi hv2pve
cały proces przenoszenia maszyn z Hyper-V do Proxmoxa staje się dużo prostszy. W tym wpisie pokażę Ci, jak przygotować środowisko i krok po kroku przeprowadzić migrację.
1. Wymagania wstępne – zanim rozpoczniesz
Na początek ściągnij pliki z naszego repozytorium https://github.com/blackrack/hv2pve. Musisz dostosować plik konfiguracyjny env.json
, w którym definiujesz wszystkie potrzebne parametry. Oto przykładowe ustawienia, które musisz zmienić:
"HYPERV_IP": "192.168.100.129",
"HYPERV_USER": "administrator",
"HYPERV_PASS": "TwojeHaslo",
"HYPER_VM_LIST": [
"UUID_maszyny_1",
"UUID_maszyny_2"
],
"HYPERV_AUTO_SHAREDISK": true,
"HYPERV_SHAREDISK_MAPPING": [
{
"C:/VMDisks": "VMDisks",
"PROXMOX_STORAGE": "data"
},
{
"E:/VMDisksSSD": "VMDisksSSD",
"PROXMOX_STORAGE": "space"
}
],
"PROXMOX_IP": "192.168.100.252",
"PROXMOX_USER": "root",
"PROXMOX_PASS": "TwojeHaslo",
"PROXMOX_MOUNTPATH": "/root/tmp",
"PROXMOX_IMPORTPATH": "/root/import",
"PROXMOX_STORAGE": "data",
"PROXMOX_SWITCH_DEFAULT": "vmbr0",
"PROXMOX_SWITCH_MAPPING": {
"UUID_switcha": "vmbr1"
},
"PROXMOX_NETWORK_TYPE": "e1000",
"PROXMOX_START_AFTER": true,
"PROXMOX_IMPORT_ONCE": false
💡 Uwaga: UUID maszyn i switchy z Hyper-V możesz podejrzeć w menedżerze Hyper-V lub skryptem.
2. Przygotowanie systemów do migracji
W katalogu prep_script
znajdziesz trzy pomocnicze skrypty, które należy wykonać:
prep_hyper-v.ps
– uruchamiasz na maszynie z Hyper-V, przygotowuje środowisko.debian.sh
– uruchamiasz na maszynach wirtualnych z systemem Debian lub pochodnym.rocky.sh
– uruchamiasz na maszynach z rodziny RHEL (np. Rocky Linux).
Dodatkowo:
➡️ W maszynach z systemem Windows, w Hyper-V Manager, dodaj w zakładce „Notes” wpis os:windows
.
3. Przygotowanie środowiska na maszynie z Proxmox
- Utwórz wirtualne środowisko Pythona:
python3 -m venv ./venv
- Aktywuj środowisko:
source ./venv/bin/activate
- Zainstaluj wymagane biblioteki:
pip install -r req.txt
- Uzupełnij plik
env.json
zgodnie z wcześniejszym opisem. - Wykonaj weryfikację przed migracją:
make dryrun
4. Uruchomienie migracji
Jeśli wszystko gotowe, wystarczy uruchomić migrację:
- Migracja standardowa:
make run
- Tryb debugowania (gdy chcesz prześledzić cały proces krok po kroku):
make debug
Skąd wziąć potrzebne dane do env.json
?
1. UUID maszyn wirtualnych (HYPER_VM_LIST)
UUID każdej maszyny znajdziesz w PowerShellu na hoście Hyper-V. Wpisz:
Get-VM | Select-Object Name, Id
Zobaczysz listę maszyn i ich identyfikatorów. Przykład:
Name | Id |
---|---|
winSerwer | 8de199b6-d858-45d6-81ef-55eb7a3dbf6f |
debianHost | 62ac9e25-800c-4546-a97e-7f6141bf9ea4 |
Skopiuj te identyfikatory do sekcji HYPER_VM_LIST
.
2. UUID przełączników Hyper-V (PROXMOX_SWITCH_MAPPING)
Aby sprawdzić identyfikatory switchy, użyj:
Get-VMSwitch | Select-Object Name, Id
Przykład:
Name | Id |
---|---|
ExternalNIC | f3f8527d-2d64-4636-a1b4-bf84d2816fbd |
W PROXMOX_SWITCH_MAPPING
możesz przypisać te switche do odpowiednich bridge’ów w Proxmoxie, np. vmbr1
, vmbr2
.
3. Jak sprawdzić dostępne bridge w Proxmoxie?
Zaloguj się do Proxmoxa i w konsoli sprawdź dostępne mostki sieciowe:
cat /etc/network/interfaces
Szukaj wpisów typu:
auto vmbr0
iface vmbr0 inet static
...
To właśnie te nazwy (vmbr0
, vmbr1
itd.) wykorzystujesz w konfiguracji.
4. Jak działa mapowanie dysków (HYPERV_SHAREDISK_MAPPING
)?
Jeśli masz kilka fizycznych lub logicznych lokalizacji dysków na Hyper-V (np. C:\VMDisks i E:\VMDisksSSD), możesz przypisać każdy do konkretnego storage w Proxmoxie (np. data
, space
).
To pozwala np. migrować dyski SSD na szybki storage w Proxmoxie.
Przykład:
{
"C:/VMDisks": "VMDisks",
"PROXMOX_STORAGE": "data"
}
Znaczy to: dyski z C:\VMDisks mają trafić do storage data
w Proxmoxie.
5. Co to jest PROXMOX_IMPORTPATH
i PROXMOX_MOUNTPATH
?
PROXMOX_MOUNTPATH
: lokalizacja tymczasowa, gdzie Proxmox zamontuje udział sieciowy z Hyper-V.PROXMOX_IMPORTPATH
: katalog, gdzie trafiają przekonwertowane obrazy.qcow2
przed finalnym zaimportowaniem.
Przydatne wskazówki
- Przed właściwym uruchomieniem zawsze zrób
make dryrun
. Dzięki temu sprawdzisz, czy wszystko dobrze skonfigurowane. - Jeśli coś pójdzie nie tak, użyj
make debug
— zobaczysz szczegółowe logi. - Maszyny Windows wymagają specjalnego oznaczenia: dodaj w polu „Notes” wartość
os:windows
, aby skrypt poprawnie rozpoznał typ systemu.
Podsumowanie
Migracja maszyn z Hyper-V do Proxmoxa nie musi być trudna. Dzięki automatyzacji i dobrze przygotowanemu skryptowi hv2pve
możesz przeprowadzić cały proces sprawnie i bez zbędnego stresu. Jeśli zadbasz o poprawną konfigurację i przygotowanie środowisk, wszystko powinno pójść gładko!
Masz pytania lub chcesz podzielić się swoimi doświadczeniami z migracją? Skontaktuj się z nami!