Narzędzia z graficznym interfejsem, jak Hyper-V Manager czy System Center Virtual Machine Manager (SCVMM) ułatwiają i przyspieszają zarządzanie Hyper-V. Jednak wiele czynności można wykonać szybciej, korzystając ze skryptów uruchamianych w trybie tekstowym. Często też tryb tekstowy przydaje się do interakcji z działającym skryptem.
Żeby zarządzeć Hyper-V w trybie tekstowym, potrzebny jest Powershell. Można go zainstalować zarówno na serwerze z Hyper-V, jak również na lokalnym komputerze (wtedy komendy PowerShella będą wykonywane zdalnie). Poniżej wyjaśniamy, jak zainstalować Powershell na serwerze.
W tym celu w Windows Server 2008 przejdź do Server Manager/Features. Następnie kliknij Add Features, zaznacz pozycję Windows PowerShell i kliknij Next. Na zakończenie kliknij Install. Jeśli instalacji zakończy się powodzeniem, zobaczysz komunikat Installation Succeeded. Kliknij Close.
Teraz po przejściu do Start/All Programs zobaczysz wpis Windows Powershell. Rozwiń go, a następnie kliknij Windows Powershell, żeby uruchomić konsolę. W tym momencie na ekranie pojawi się charakterystyczne ciemnoniebieskie okno Windows PowerShell.
Zanim jednak zaczniesz z niego korzystać, warto jeszcze pobrać Hyper-V Powershell Library, zbiór dodatkowych komend bardzo pomocnych w zarządzaniu Hyper-V. Po wejściu na stronę projektu kliknij przycisk Download Now, aby pobrać plik Hyperv.zip. Archiwum zawiera dwa pliki, które trzeba wypakować na dysk. Po tej czynności uruchom konsolę PowerShell i przejdź do katalogu, do którego została rozpakowana zawartość archiwum.
Jeśli nie chcesz korzystać ze sprawdzania cyfrowych podpisów skryptów, możesz tymczasowo wyłączyć zabezpieczenia PowerShella komendą Set-ExecutionPolicy unrestricted. Następnie, aby załadować bibliotekę Hyper-V PowerShell Library, użyj komendy c:\temp\hyperv.ps1.
Koniecznie zapamiętaj pełną ścieżkę dostępu do pliku Hyper-V PS1 file. Jest to bardzo ważne, ponieważ biblioteka będzie przechowywana właśnie w tym miejscu pamięci na czas trwania sesji PowerShell.
Wyłączenie zabezpieczeń ma jedną wadę – przy każdej próbie wczytania biblioteki będzie pojawiać się alert zabezpieczeń i trzeba wciskać klawisz [R], żeby potwierdzić chęć jej załadowania do pamięci. W efekcie pojawi się komunikat “VM Functions Loaded” oraz lista dostępnych komend, których można używać do zarządzania Hyper-V w PowerShellu.
Zarządzanie Hyper-V z wykorzystaniem PowerShell Library
Hyper-V PowerShell Library User Guide to dokumentacja opisująca, jak korzystać z prawie setki komend zebranych w tej bibliotece. Trzeba dodać, że większość komend ma jeszcze wiele parametrów. Dlatego biblioteka jest tak potężnym narzędziem do zarządzania Hyper-V, a nie jedynie zbiorem prostych poleceń. Wyjaśnienie, jak korzystać ze wszystkich komend, mocno wybiega poza ten artykuł (dokumentacja biblioteki liczy ponad 40 stron). Skupimy się jedynie na najczęściej używanych komendach. Pamiętaj, że największy potencjał poleceń tekstowych tkwi w możliwości tworzenie skryptów, które umożliwiają automatyzację zarządzania.
Do najczęściej używanych komend Hyper-V PowerShell Library należą:
- Get-VMsummary – wyświetla zbiorcze informacje o wszystkich wirtualnych maszynach na danym serwerze Hyper-V.
- Start-VM, Stop-VM, Suspend-VM, and Shutdown-VM – przeznaczenie tych poleceń jest oczywiste. Wszystko, co musisz zrobić, to podać nazwę wirtualnej maszyny (VMElementName).
- New-VM – jest to najszybsza metoda utworzenia nowej maszyny wirtualnej. Po wpisaniu tej komendy zostanie utworzona maszyna wirtualna, którą następnie należy skonfigurować.
- Get-VMmemory – wyświetla informacje o wykorzystaniu pamięci RAM przez poszczególne maszyny wirtualne na danym serwerze Hyper-V.
- Get-VMsnapshot – ta komenda pokazuje informacje o wszystkich migawkach utworzonych w środowisku Hyper-V. Poza tym w przypadku migawek można używać także innych poleceń: Update-VMsnapshot, New-VMsnapshot, Apply-VMsnapshot, Get-VMsnapshotTree oraz Choose-VMsnapshot.
Hyper-V R2 i sieciowy interfejs zarządzania (Management NIC)
Podczas instalacji roli Hyper-V R2, rezerwuje ona na serwerze jeden fizyczny interfejs sieciowy, służący do zarządzania partycją nadrzędną. Jeśli serwer ma tylko jeden interfejs sieciowy, nie będzie możliwe wybranie interfejsu do stworzenia zewnętrznej sieci wirtualnej podczas instalacji roli Hyper-V R2. To zaleta i przejaw wymuszania dobrych praktyk.
Hyper-V R2 zawiera także nowe, domyślne ustawienia dotyczące tworzenia External Virtual Network. Domyślnie zewnętrzna sieć wirtualna nie jest dostępna dla partycji nadrzędnej i nie jest z nią współdzielona. Jeśli chcesz umożliwić partycji nadrzędnej dostęp do współdzielonego interfejsu sieciowego, musisz zaznaczyć specjalną opcję, dostępną w oknie konfiguracji fizycznych interfejsów.
Jeśli serwer ma tylko jeden interfejs sieciowy, możesz stworzyć zewnętrzną sieć wirtualną i zaznaczyć tę opcję. Umożliwi to maszynom wirtualnym i partycji nadrzędnej korzystanie z jednego interfejsu sieciowego. Jednak zwróć uwagę, że jest to niezgodne z dobrymi praktykami korzystania z Hyper-V. Zamiast tego zaleca się dodanie drugiego adaptera sieciowego.
Jeśli uruchamiasz Hyper-V R2 na notebooku, innym rozwiązaniem jest użycie karty Ethernet podłączanej do złącza ExpressCard lub USB, dzięki czemu komputer będzie dysponował dodatkowym interfejsem sieciowym. Musisz wybrać kartę, do której są 64-bitowe sterowniki (Hyper-V nie działa w systemach 32-bitowych). Niestety, Hyper-V nie obsługuje interfejsów Wi-Fi.