Eksportowanie i importowanie w Hyper-V: co, dlaczego i jak
Jedną z wielu zalet wirtualizacji jest przenośność, co oznacza, że można z łatwością przenosić wybrane maszyny wirtualne (VM) z jednej lokalizacji do drugiej bez przestojów lub zakłóceń w działaniu usług. Przenośność w środowisku Hyper-V zapewnia funkcja eksportu i importu Hyper-V, która umożliwia łatwe kopiowanie i przenoszenie maszyn wirtualnych Hyper-V do lokalizacji docelowej, a następnie przywrócenie ich do stanu z momentu eksportu.
Jak więc działa funkcja eksportu i importu Hyper-V? Podczas eksportowania maszyny wirtualnej Hyper-V można utworzyć kopię plików konfiguracyjnych maszyny wirtualnej, plików VHD oraz migawek maszyny wirtualnej. Następnie należy określić, czy kopia maszyny wirtualnej ma znajdować się na hoście Hyper-V, czy też eksportowana maszyna wirtualna ma zostać przeniesiona między hostami Hyper-V. Wreszcie, zarchiwizowana maszyna wirtualna może zostać wykorzystana w przyszłości w przypadku awarii sprzętu lub utraty danych w celu przywrócenia danych maszyny wirtualnej.
Dzisiejszy wpis na blogu ma na celu ustalenie, czy funkcja eksportu i importu Hyper-V można uznać za skuteczną alternatywę dla tworzenia kopii zapasowych maszyn wirtualnych oraz jak wypada ona w porównaniu z kompleksowymi rozwiązaniami do ochrony danych.
Czym jest eksport Hyper-V?
Eksport Hyper-V to proces eksportowania wybranej maszyny wirtualnej, w tym plików wirtualnego dysku twardego, plików konfiguracyjnych maszyny wirtualnej oraz migawek Hyper-V, do pojedynczego pliku. Operację tę można wykonać zarówno wtedy, gdy maszyna wirtualna jest w trybie online, jak i offline. We wcześniejszych wersjach systemu Windows (sprzed Windows Server 2012) maszyny wirtualne Hyper-V można było eksportować wyłącznie wtedy, gdy były wyłączone. Eksport Hyper-V można wykonać wyłącznie na żądanie.
Ponadto wcześniej nie można było eksportować maszyny wirtualnej Hyper-V bezpośrednio do udziału sieciowego. We wcześniejszych wersjach systemu Windows maszyna wirtualna musiała być najpierw wyeksportowana do lokalnej przestrzeni dyskowej, a następnie skopiowana przez sieć do lokalizacji docelowej, w której przechowywane były pliki archiwalne. Wraz z wydaniem systemu Windows Server 2012 problem ten został wyeliminowany.
Eksport Hyper-V może służyć do archiwizacji maszyny wirtualnej, która nie jest już potrzebna, lub jako doraźna kopia zapasowa, która pozwala na przechwycenie danych maszyny wirtualnej w określonym momencie. Ponadto eksport Hyper-V może być wykorzystywany do celów testowych. Na przykład można utworzyć kopię maszyny wirtualnej produkcyjnej i wyeksportować ją do środowiska nieprodukcyjnego w celu przeprowadzenia testów i rozwiązywania problemów.
Proces eksportowania maszyn wirtualnych Hyper-V jest często porównywany do funkcji „ tworzenie migawek Hyper-V ” (migawki Hyper-V), a także do tworzenia kopii zapasowych. Eksportowanie maszyn wirtualnych nie jest tak szybkie jak tworzenie migawek, ale w przeciwieństwie do migawek Hyper-V pozwala na utworzenie pełnej kopii istniejącej maszyny wirtualnej i przesłanie jej do przechowywania w innej lokalizacji. Jednocześnie eksport Hyper-V nie może być traktowany jako pełna kopia zapasowa maszyny wirtualnej. Nie wykorzystuje on technik kompresji, deduplikacji i szyfrowania, które są powszechnie stosowane w rozwiązaniach do ochrony danych i pozwalają zmniejszyć zapotrzebowanie na miejsce na dysku oraz efektywniej wykorzystać dostępną przestrzeń dyskową.
Czym jest import Hyper-V?
Import Hyper-V pozwala przywrócić wybrane maszyny wirtualne, które zostały wcześniej wyeksportowane z zestawu plików konfiguracyjnych. Maszyny wirtualne Hyper-V można importować na host Hyper-V źródłowy lub nowy. Wcześniej import Hyper-V musiał być poprzedzony eksportem Hyper-V. Jednak począwszy od systemu Windows Server 2012 R2 można teraz importować maszyny wirtualne Hyper-V bez konieczności ich wcześniejszego eksportowania. Podczas importu Hyper-V maszyna wirtualna zostaje zarejestrowana na hoście Hyper-V.
Import Hyper-V może być jednym z następujących typów:
Register in-place.W tym przypadku pliki źródłowe nie są w żaden sposób zmieniane ani przenoszone. Ponadto unikalny identyfikator maszyny wirtualnej pozostaje taki sam, co oznacza, że maszyna wirtualna jest już zarejestrowana na hoście Hyper-V. Jeśli spróbujesz zaimportować maszynę wirtualną bez uprzedniego usunięcia maszyny źródłowej o tym identyfikatorze, operacja zakończy się niepowodzeniem.

Z tego typu importu można skorzystać, jeśli chcesz uruchomić maszynę wirtualną z lokalizacji źródłowej lub jeśli maszyna uległa awarii i konieczne jest ponowne zarejestrowanie jej na hoście Hyper-V. Po zakończeniu operacji importu pliki eksportu stają się plikami stanu uruchomionego systemu i nie można ich usunąć.
- W tym przypadku pliki eksportu są kopiowane do lokalizacji docelowej, a unikalny identyfikator maszyny wirtualnej pozostaje taki sam jak w momencie eksportu Hyper-V. Dlatego lepiej jest usunąć oryginalną maszynę wirtualną przed rozpoczęciem operacji importu, aby nie doszło do konfliktu identyfikatorów. W przeciwnym razie wystąpi ten sam błąd, o którym mowa powyżej.
Po zakończeniu operacji importu Hyper-V eksportowane pliki pozostaną nienaruszone i można je usunąć lub zaimportować ponownie.
- Podczas odzyskiwania zarchiwizowanej maszyny wirtualnej Hyper-V należy wybrać typ importu „Kopiuj”. W tym przypadku pliki maszyny wirtualnej są kopiowane do lokalizacji docelowej, a maszynie wirtualnej przypisywany jest nowy unikalny identyfikator, co oznacza, że można wielokrotnie importować wstępnie skonfigurowaną maszynę wirtualną do tego samego hosta Hyper-V.
Jak eksportować maszyny wirtualne Hyper-V
Maszyny wirtualne Hyper-V można eksportować za pomocą Menedżera Hyper-V oraz uruchamianie poleceń PowerShell. Opiszę te metody szczegółowo i przeprowadzę Cię przez każdy etap eksportowania maszyn wirtualnych Hyper-V.
Korzystanie z Menedżera Hyper-V
Aby eksportować maszyny wirtualne Hyper-V, należy uruchomić kreator eksportu maszyn wirtualnych:
1. Otwórz Menedżera Hyper-V.
2. Kliknij prawym przyciskiem myszy maszynę wirtualną z listy. Jak widać, wybrałem uruchomioną maszynę wirtualną.

3. Wybierz Export , aby otworzyć kreator eksportu maszyny wirtualnej.
4. Kliknij Browse , aby określić lokalizację, do której ma zostać wyeksportowana maszyna wirtualna.

5. Monitoruj postęp operacji eksportu Hyper-V w kolumnie Status.

6. Po zakończeniu operacji otwórz folder, aby sprawdzić, czy wszystko zostało pomyślnie wyeksportowane.

Jak widać na powyższym zrzucie ekranu, wybrana maszyna wirtualna, w tym jej wirtualne dyski twarde, pliki konfiguracyjne i migawki, została pomyślnie wyeksportowana do nowej lokalizacji.
Korzystanie z PowerShell
Kolejną metodą jest uruchomienie poleceń cmdlet programu PowerShell, które mogą pomóc w automatyzacji procesu eksportowania maszyn wirtualnych Hyper-V. Po utworzeniu działającego skryptu PowerShell można zaplanować jego automatyczne uruchamianie za pomocą Harmonogramu zadań. W ten sposób można regularnie wykonać kopię zapasową uruchomionych maszyn wirtualnych bez powodowania przestojów systemu lub zakłóceń w działaniu usług.
Aby wyeksportować maszyny wirtualne Hyper-V za pomocą PowerShell, należy uruchomić następujący cmdlet:
Export-VM -Name DemoVM -Path 'C:Virtual Hard DisksExported VMs'
Należy pamiętać o uruchomieniu PowerShell jako administrator, aby cmdlety działały zgodnie z wymaganiami.

Po sprawdzeniu folderu docelowego można stwierdzić, że maszyna wirtualna Hyper-V i powiązane pliki zostały pomyślnie wyeksportowane.

Poniższy cmdlet służy do eksportowania wszystkich dostępnych maszyn wirtualnych do katalogu głównego dysku C (C:).
Get-VM | Export-VM -Path C:
Jak importować maszyny wirtualne Hyper-V
Jak wspomniano powyżej, można importować nawet maszyny wirtualne Hyper-V, które nie zostały wcześniej wyeksportowane. W tym celu można również użyć Menedżera Hyper-V lub poleceń PowerShell.
Korzystanie z Menedżera Hyper-V
Aby zaimportować maszynę wirtualną Hyper-V, należy wykonać następujące kroki:
1. Otwórz Menedżera Hyper-V.
2. W sekcji Działania wybierz Import Virtual Machine , aby otworzyć kreatora importowania maszyny wirtualnej.

3. W sekcji Przed rozpoczęciem przeczytaj, co potrafi ten kreator, i kliknij Next.

4. W sekcji Wybierz folder wybierz folder zawierający maszynę wirtualną, którą chcesz zaimportować.

5. W sekcji Wybierz maszynę wirtualną wybierz maszynę wirtualną do zaimportowania.

6. W sekcji Wybierz typ importu, w zależności od konkretnych potrzeb, musisz dokonać wyboru spośród trzech typów importu: Register the virtual machine in-place, Restore the virtual machine, oraz Copy the virtual machine. W tym przypadku pokażę, jak skopiować maszynę wirtualną i przypisać jej nowy, unikalny identyfikator.

7. W sekcji Wybierz miejsce docelowe możesz określić foldery, w których mają być przechowywane pliki maszyny wirtualnej. Dostępne są dwie opcje: import plików maszyny wirtualnej Hyper-V do domyślnych folderów magazynowych lub zapisanie maszyny wirtualnej w innej lokalizacji poprzez ręczny wybór folderów.

8. W sekcji Wybierz foldery magazynowe kliknij Browse , aby wybrać folder, w którym będą przechowywane wirtualne dyski twarde dla tej maszyny wirtualnej.

9. W sekcji Podsumowanie można przejrzeć wybory dokonane w tym kreatorze. Kliknij Finish , jeśli chcesz zamknąć kreatora i zaimportować maszynę wirtualną Hyper-V.

10. Pliki są kopiowane do lokalizacji docelowej.

Po zakończeniu operacji zaimportowaną maszynę wirtualną można znaleźć na wybranym hoście Hyper-V za pomocą Menedżera Hyper-V.

Korzystanie z PowerShell
Jak wiadomo, w środowisku Hyper-V istnieją trzy typy importu, a za pomocą polecenia cmdlet Import-VM można wykonać różne typy importu Hyper-V. Aby przeprowadzić rejestrację na miejscu wybranej maszyny wirtualnej, należy najpierw usunąć maszynę źródłową o tym samym identyfikatorze. W tym celu należy uruchomić następujący polecenie cmdlet:
Get-VM DemoVM | Remove-VM
Następnie można uruchomić polecenie cmdlet Import-VM, aby zapewnić rejestrację maszyny wirtualnej na miejscu z wykorzystaniem istniejącego unikalnego identyfikatora.
Import-VM –Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx'

Kolejną opcją jest przywrócenie maszyny wirtualnej. W tym przypadku pliki eksportowane zostaną skopiowane i przeniesione do nowej lokalizacji, a istniejący identyfikator zostanie wykorzystany. Ten typ importu również wymaga usunięcia maszyny wirtualnej źródłowej przed rozpoczęciem operacji przywracania.
Import-VM -Path 'C:Virtual Hard DisksExported VMsHyper-V Server 2012Virtual Machines6E62C696-E3A1-41C3-A975-0E1CC9E67A31.vmcx' -Copy -VhdDestinationPath 'C:Program FilesImported VMsVHD Files' -VirtualMachinePath 'C:Program FilesImported VMsVM Files'
Operacja importu powinna zakończyć się w ciągu kilku sekund.

Aby to polecenie cmdlet działało, musisz jasno określić pełną ścieżkę do lokalizacji, w której aktualnie przechowywany jest źródłowy plik .vcmx, oraz pełną ścieżkę do miejsca, do którego pliki .vcmx i .vhdx powinny zostać skopiowane.
Na koniec można skopiować maszynę wirtualną za pomocą następującego polecenia cmdlet PowerShell. W tym przypadku nie trzeba usuwać źródłowej maszyny wirtualnej, ponieważ dla zaimportowanej maszyny wirtualnej zostanie utworzony nowy unikalny identyfikator. Dzięki temu podejściu można wielokrotnie importować tę maszynę wirtualną na ten sam host.
Import-VM -Path 'C:Virtual Hard DisksExported VMsDemoVMVirtual Machines9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx' -Copy -GenerateNewId

Podsumowanie
Aby wyeksportować lub zaimportować maszyny wirtualne Hyper-V, można użyć Menedżera Hyper-V lub uruchomić skrypty PowerShell. Każde z tych podejść ma swoje zalety i przypadki użycia, a wybór między nimi należy dokonać w oparciu o indywidualne potrzeby.
Funkcja eksportu i importu Hyper-V może służyć jako alternatywa dla wykonania kopii zapasowej, tzn. można utworzyć kopię uruchomionych maszyn wirtualnych i przywrócić je w przypadku uszkodzenia lub awarii. Jednak proces eksportowania i importowania maszyn wirtualnych Hyper-V wymaga od użytkownika wielu ręcznych czynności i można go zautomatyzować jedynie za pomocą skryptów PowerShell. W związku z tym, w porównaniu z pełnoprawnymi rozwiązaniami do tworzenia kopii zapasowych, funkcja eksportu i importu Hyper-V ma raczej ograniczoną funkcjonalność, co pozwala chronić jedynie niewielkie środowiska Hyper-V, a ponadto wymaga od użytkownika poświęcenia dużej ilości czasu i wysiłku.
Jeśli chcesz, aby proces ochrony maszyn wirtualnych Hyper-V był łatwy, szybki i bezpieczny, powinieneś rozważyć zainstalowanie zaawansowanego rozwiązania do ochrony danych. NAKIVO Backup & Replication to niezawodne i wydajne rozwiązanie, które pomoże Ci chronić wiele środowisk za ułamek ceny.