Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Matrioszka, czyli Hyper-V pracujący pod kontrolą VMware Workstation

Dzisiejszy wpis będzie dość hermetyczny, ale może kogoś zainteresuje - dotyczy on konfigurowania domowych "labów" i jednego z problemów z którym można się spotkać. Nie będę tu opowiadać, jak ważnym dla administratorów jest zagadnienie wirtualizacji - wszystko jest teraz do obrzydzenia "chmurą" i już nawet firmowa serwerownia to "private cloud" - sorry, taki mamy klimat... Z ostatnich tego typu smaczków językowych z jakim się spotkałem jest ten wymyślony przez CISCO w postaci "fog computing". Prawie tak dobre, jak ich akronimy technologii, które powstają od akronimów innych technologii... czapki z głów.

Zdaję sobie sprawę, że większość z czytelników doskonale zna wirtualizację i wpisy z tym związane to dla nich nuda i prościzna - po około 15 latach doświadczenia z ESX i Workstation (VMware), oraz po kilku latach pracy z Hyper-V (Microsoft) i liźnięcie AIX (IBM) jeszcze sporo mnie potrafi zaskoczyć.
Wiedzę zdobywa się najlepiej praktykując - nie każdy ma takie możliwości, aby oddelegować dedykowany komputer na serwer wirtualizacji, szczególnie gdy czasem ich trzeba posiadać kilka sztuk - np. w celu przećwiczenia konfiguracji klastrów:

W domu głównie korzystam z VMware Workstation. Używam tego hypervizora z kilku powodów:

  • uruchamia się na zwykłym OS (Windows/Linux) i nie trzeba dedykować dodatkowego komputera,
  • przeogromne doświadczenie VMware w tym temacie,
  • elastyczna konfiguracja hypervizora i maszyn wirtualnych,
  • świetne opcje związane z migawkami, pracą z szablonami,
  • opcje, których ciężko uświadczyć w desktopowym Hyper-V, albo np. VirtualBox,
  • jest to po prostu dopracowany produkt i przy całym szacunku dla np. VirtualBox nie przejdzie tam np. "nested virtualization" (flaga VMX nie zostanie "przepuszczona do gościa), która jest tematem tego wpisu.
  • W przypadku Microsoft i Hyper-V jest jeszcze ciekawiej - firma stara się wmówić, że jest inaczej, ale na dzień dzisiejszy raczej się nie da zmusić Redmontowego hypervizora do instalacji w nim np. drugiego Hyper-V:

    Instalacja Hyper-V w VMware Workstaton

    Podczas tworzenia nowej maszyny wirtualnej może już dać do myślenia wyraźne zaznaczenie w opcjach, że nie ma docelowo wsparcia dla Hyper-V, co jednak w teorii nie przeszkadza zainstalować zamiast tego Windows 2012 i dodać rolę hypervizora:

    Ten wpis nie jest poświęcony zarówno optymalizacji i konfiguracji VMWare, jak i Windows 2012, więc szczegóły samej instalacji ograniczę do minimum:

  • Wybór miejsca składowania danych VM
  • vHDD 120GB
  • (nie ma się co martwić o wielkość samego pliku, nie będzie zajmował więcej, niż 12-15GB):

    Co do samego "sprzętu" maszyny wirtualnej:

  • x2 vCPU (można dać więcej, ale w tym przypadku nie ma uzasadnionej potrzeby,
  • pamięc ustawiona na 6GB (też nie zajmie fizycznie 6GB hosta),
  • CD-ROM: podmapowany obraz system opearcyjnego (instalacja z ISO),
  • Można też usunąć zbędne składniki: wsparcie dla karty dźwiękowej i drukarki.

  • Instalacja Windows 2012R2 z GUI:
  • Po 4-5 minutach (tyle trwa instalacja Windows 2012 na dysku SSD) instalacja VMware tools:
  • Po instalacji aktualizacji (Windows Update) przyszedł czas na dodanie roli Hyper-V:

    No i tu właśnie zaczyna się cały problem: system operacyjny dostał sygnał od hypervisora, że działa w środowisku wirtualnym. Jest to to dla zwirtualizowanego OS dość przydatna wiedza, ponieważ pozwala na inne zachowanie i optymalizację działania / licencjonowania w środowisku wirtualnym:

    Systeminfo (CMD -> systeminfo) w dwóch miejscach podaje tą informację:

    Nas bardziej interesuje ta na samym końcu wyniku polecenia:

    A hypervisor has been detected. Features for Hyper-V will not be displayed."

    Trzeba więc spróbować "wmówić" wirtualnej maszynie, że jednak można zrobić "Matrioszkę". Najpierw przekazanie do gościa (systemu zwirtualizowanego), że jest zainstalowany na "fizycznej" maszynie i że to "wcale nie są vCPU". Tego nie wyklika się z GUI, trzeba dodać komendę do pliku konfiguracji. Szukamy pliku o rozszerzeniu .VMX - informację o jego położeniu można uzyskać w kilku miejscach panelu VMWare, np. po najechaniu na samą maszynę:

    Plik zawiera szczegółowe informacje dotyczące konfiguracji. Na końcu wystarczy dopisać dodatkową zmienną:

    code=hypervisor.cpuid.v0 = "FALSE"

    Dodatkowo należy dodać opcję: "Virtualize Intel VT-x/EPT or AMD-V/RVI" :

    vhv.enable = "TRUE"

    Odpowiada ona zaznaczeniu w GUI przy opcjach związanych z vCPU:

    Po ponowym uruchomieniu wirtualnej maszyny z Windows 2012 i wydaniu polecenia systeminfo zaczyna to już wyglądać trochę lepiej:

    Ponowna próba instalacji roli Hyper-V powinna nie sprawiać już problememów:

    Po restarcie systemu pozostaje nam tylko testowa instalacja maszyny wirtualnej, której hypervizorem jest zwirtualizowany Hyper-V pracujący pod kontrolą WMware Workstation uruchomionego na Windows 7 :-)

    Podsumowanie

    Niektórzy może uznają taką konfigurację za herezje i sztukę dla sztuki, jednak jak wspomniałem na początku może mieć to większy sens. Idąc tym schematem można zamiast Hyper-V zainstalować np. VMware vSphere 6.0, Xen, czy inne środowisko wymagające w teorii środowiska maszyny fizycznej.
    W sytuacji, gdy temat wirtualizacji - np. optymalizacji VMware Workstation, organizacja labu, praca z szablonami i klonami może ułatwić życie ("linked-clone"), oraz jak np. zbudować działający klaster składający się z Hyper-V, kontrolera domeny i FreeNAS robiącego za CSVFS (iSCSI) jest dla Was ciekawy dajcie znać w komentarzach, chętnie o tym napiszę:

    Wycinek z jednego z moich labów (mając przygotowany wcześniej szablok W2012 do zrobienia w godzinę:

     

    windows porady serwery

    Komentarze

    0 nowych
    FaUst   11 #1 05.10.2015 08:52

    vSphere w wersji 5 dział bez problemu na Workstation, nie trzeba było go oszukiwać ;)

    Jac0b   6 #2 05.10.2015 12:32

    Ciekawy wpis, dawaj dalej... :)

    marudam   5 #3 05.10.2015 18:48

    qemu kvm virtualbox to to samo co te Hyper-V?

    troche śmiesznie sie nazywa te oprogramowanie do wirtualizacji ... coś jakby turbolinux albo megawindows.

    Właściwie do uruchamiania samych maszyn wirtualnych wystarczy samo vm player a vmware workstation to jest cały kombajn do pracy na wirtualkach.Niewiem czemu to tak śmiesznie nazwali Hyper-V.

    Autor edytował komentarz.
    sgj   10 #4 05.10.2015 21:04

    @marudam:

    No bardzo "smiesznie".... Hyper od hypervisor...

    marudam   5 #5 05.10.2015 21:33

    @sgj: Dobre Dobre :DDDD

    bachus   19 #6 05.10.2015 21:54

    @marudam: też mam zawsze problem, czy wszystko przekładać na nasz piękny język ojczysty, ale w żargonie technicznym nie powinno się tego robić - a to jest blog od geeka kierowany do geeka. Jestem wielkim przeciwnikiem zmieniania na siłę "routingu" w "transowanie" i podobnych. Stosowane hipernadzorca i hiperwizor brzmią dla mnie dość komicznie.
    Co do nazwy - jak wspomniano od "hypervizor".

    Thor1990   5 #7 06.10.2015 08:15

    @bachus mam pytanie do Ciebie w srawie Hyper-V (mamy zainstalowany na serwerze Hyper-V Server 2012. Jedną z maszyn wirtualnych jest Win XP. Da się coś zrobić aby działał on przyzwoicie? W chwili obecnej działa jakby był uruchomiony na jakimś PIII czy coś ;)

    Czy uruchomienie opcji "Uruchom starszy system operacyjny, na przykład Windows NT" pomoże czy trzeba coś jeszcze robić?

    eimi REDAKCJA  16 #8 06.10.2015 08:52

    @bachus: ja tak w kwestii językowej: angielskie "hypervisor" jest bezbożną sklejką grecko-łacińską. Ty piszesz po polsku "hypervizor", co jest dość bezsensowne, bo ani nie jest angielskim słowem, ani poprawnie zbudowaną sklejką grecko-łacińską. Mamy grecki prefiks "hiper-" i mamy rdzeń "wizor", funkcjonujący w takich słowach jak "telewizor" czy "rewizor". Hiperwizor jest więc dobrze skonstruowanym polskim słowem z łaciny i greki, które może gorszyć oczywiście filologów klasycznych, ale ich wszystko gorszy, więc nie ma się czym przejmować.

    Natomiast oczywiście "hipernadzorca" to jakaś głupota kompletna.

      #9 06.10.2015 13:15

    Daję znać więc pisz.

    kleksiq   4 #10 06.10.2015 14:31

    A czemu się czepiasz do Hyper-V na Windows 8 to nie wiem, pełnoprawny hypervisor, jedyne czego mu brakuje to możliwości zarządzania z nowego panelu microsoft. Trzeba być "fizycznie" przy maszynie, ewentualnie skonfigurować sobie na maszynach dostępy RDP. Ale już dużo lepszym rozwiązaniem jest wrzucenie sobie na jakiś stary komputer "Hyper-V Free", czyli darmowego Hyper-V do użytku zarówno domowego jak i profesjonalnego. Nie odbiegającego od 2012r2 znacząco. Mającego mały narzut pamięci oraz dysku ( można instalować na kartach SD w Serwerach ).

    PS. Od kiedy jest limit znaków w komentarzach ?

    Autor edytował komentarz.
    bachus   19 #11 06.10.2015 16:18

    @Thor1990: nie sądzę, że jest to do przeskoczenia w Hyper-V. Jest to ściśle związane z archaicznym XP i tym jak się odwołuje do procesora i kontrolera przerwań. W XP IRQL []działa na zasadzie priorytetów generowanych przez system i przez to tak potrafi to ogłupić "hipernadzorcę". Ja nie znam rozwiązania, może jest jakiś magiczny 'hack', ale ja o tym nie słyszałem.

    @kleksiq: Hyper-V na początku swojego istnienia trochę mnie śmieszył i wydawał mi się tylko próbą wyrwania kawałka rynku VMware ESX, ale kolejne wersje pokazały jak dobry sztab programistów i stojąca za tym duża kasa potrafi dało tak dopracowany produkt. Agresywna promocja (bijąca w niektórych przypadkach na głowę cena produktu w stosunku do np. VMware vSphere, oraz licencjonowanie na maszyny wirtualne) w 2-3 lata spowodowała, że tzw. "chmura prywatna" stała się standardem w nawet małych firmach. Z racji tego, że wyjątkowo nie trawię produktów z "SBS" w nazwie (a szczególnie od 2012 i "Essentials", gdzie już nie ma serwera Exchange), to jest chyba naturalne, że przy licencji na 2012 Standard warto pomyśleć o Hyper-V + dwie maszyny wirtualne. Ułatwia to niesamowicie skalowalność, możliwość przeniesienia, backup i zarządzanie.

      #12 07.10.2015 19:56

    Podobno KVM (nested ?) umożliwia "matrioszkę". Aż z ciekawości sprawdzę coś w tym rodzaju: Debian KVM >> ms W2k12 H-V Free Edition >> ms W10 pro (wydanie z dnia 29 lipiec 2k15r.).

    bachus   19 #13 07.10.2015 23:35

    @Matrioszka Tr_O)Lo (niezalogowany): nie testowałem, ciężko mi powiedzieć. Daj znać, jak przetestujesz...

    roobal   14 #14 08.10.2015 00:01

    @marudam: Te hypervisory różnią się od siebie. VirtualBox jest typem drugim, co znaczy, że wymaga OS do działania. Hyper-V cyz Xen działają bezpośrednio na sprzęcie. To są hypervisory typu pierwszego.

    Autor edytował komentarz.
    pocolog   11 #15 10.10.2015 08:48

    Przeczytałem, a raczej oglądnąłem bo więcej zrzutów ekranu niż tekstu. Taka galeria z podpisami. Mam nadzieję że następnym razem będzie coś więcej poza opisem w którym oknie ustawić rozmiar dysku, a gdzie przydzielić ilość RAM ;)

    Autor edytował komentarz.
    bachus   19 #16 10.10.2015 09:53

    @pocolog: dobrze, zrobię to specjalnie dla Ciebie ;-) Ten wpis nie miał być poematem i przemyśleniami o "bólu istnienia i dokąd zmierzamy", ale łopatologicznym poradnikiem.

    cruzolo   2 #17 12.10.2015 09:37

    "jak np. zbudować działający klaster składający się z Hyper-V, kontrolera domeny i FreeNAS robiącego za CSVFS (iSCSI) jest dla Was ciekawy dajcie znać w komentarzach, chętnie o tym napiszę" - dla mnie x2, poproszę :)

      #18 12.10.2015 10:36

    Identyczną konfigurację wykorzystałem jakiś czas temu do uruchomienia emulatora Windows Phone w maszynie wirtualnej z Windowsem na Linuksowym hoście. Rzeczywiście w takim przypadku tylko VMWare, VBox nie daje rady. Więc nie jest to tylko sztuka dla sztuki. Wpis bardzo ciekawy.

    bachus   19 #19 12.10.2015 10:38

    @cruzolo: to chętnie napiszę, tylko muszę się do tego przyłożyć żeby @pocolog mi nie wypominał, że mu tylko obrazki pokazuję ;-)

    pocolog   11 #20 12.10.2015 10:47

    @bachus: No juz sie nie dasaj. Napisalem to w dobrych intencjach bo wiem ze stac Cie na wiecej :)

    bachus   19 #21 12.10.2015 11:09

    @pocolog: nie dąsam się - pozytywnie wjechałeś mi na ambicje ;-)

      #22 17.10.2015 23:11

    Nested Virtualization nadchodzi w kolejnej wersji Hyper-V :)

    bachus   19 #23 04.11.2015 10:44

    @DP (niezalogowany): nie wiedziałem o tym, dzięki za informację!