Wirtualizacja: gość w gościu?

9

Czy ma sens uruchamianie maszyny wirtualnej z gościem „głównym”,
a w tym głównym gościu działa wielu innych gości?

Czy ktoś to przetestował? Czy to w ogóle możliwe?
Czy są lepsze sposoby na osiągnięcie moich celów? (Czytaj dalej.)
(Poszukałem hasła „gość w gościu” i nic nie znalazłem)

Co chcę zrobić : chciałbym skonfigurować i przetestować różne sieci wirtualne z serwerami baz danych i aplikacji oraz przetestować różne zapory ogniowe, serwery DNS, konfiguracje serwerów baz danych itp.

Mógłbym to zrobić, uruchamiając gości bezpośrednio na moim hoście, ale wtedy może być konieczne zmodyfikowanie konfiguracji sieci na moim hoście (np. Konfiguracja dnsmasq ?), W zależności od konfiguracji sieci, którą zamierzam przetestować. Musiałbym również rozpocząć każdego gościa indywidualnie. Podczas gdy wszyscy goście działają w ramach gościa głównego, mogę skonfigurować sieć na tym gościu głównym, a ja muszę tylko uruchomić i zatrzymać tego gościa głównego, a także zrobić jego migawki, aby domyślnie uruchomić i zatrzymać i wykonać migawkę wszystkich gości w nim uruchomionych. .

(Miałbym wielu głównych gości, prawdopodobnie tylko jednego biegnącego naraz).

Używam Ubuntu 11.4 i KVM z obsługą wirtualizacji sprzętowej (AMD-V).
Czy uważasz, że goście zaproszeni mogliby skorzystać z wirtualizacji?

Aktualizacja : powinienem był zgłosić się do „zagnieżdżonej wirtualizacji”, a nie „gości w gości”. Teraz znajduję wiele linków :-) Np. Ten przykład faktycznej migracji działającej maszyny wirtualnej z maszyny hosta do zagnieżdżonego hosta maszyny wirtualnej: VMotion z fizycznego ESX 4 do wirtualnego ESX 4
Ty, który odpowiedziałeś, dziękuję za wzmiankę o „zagnieżdżonej wirtualizacji”: - )

Aktualizacja : Informacje o wydajności dla procesorów AMD, od 2008 : [...] do chwili obecnej, gdy kvm wirtualizuje procesor, gość widzi procesor podobny do procesora hosta, ale nie posiadający rozszerzeń wirtualizacji. Oznacza to, że nie można uruchomić hiperwizora, który potrzebuje tych rozszerzeń wirtualizacji w ramach gościa (nadal można uruchamiać hiperwizory, które nie polegają na tych rozszerzeniach, takie jak VMware, ale mają niższą wydajność). Dzięki nowym poprawkom zwirtualizowane procesor zawiera rozszerzenia wirtualizacji; oznacza to, że gość może uruchomić hiperwizora, w tym kvm, i mieć własnych gości. (dzięki „wzzrd”)

Aktualizacja : Informacje o wydajności procesorów Intela z 2011 r . : „W obecnej wersji kvm w repozytoriach Ubuntu nie ma obsługi zagnieżdżonej wirtualizacji z intel vmx. Dzięki najnowszym łatom dla kvm jest to możliwe, ale wciąż jest w fazie rozwoju”

KajMagnus
źródło
3
Miej pod ręką spinning top.
nedm
Zagnieżdżona wirtualizacja jest możliwa, ale podwajasz swoją wydajność związaną z procesorem, marnujesz pamięć RAM, ponieważ w domyślnych konfiguracjach zarówno gospodarz, gość główny, jak i goście „gość” będą buforować te same dane wiele razy, a wydajność IO będzie katastrofalna dla danych, które nie były buforowane.
André Borie,

Odpowiedzi:

3
  1. Jest to możliwe, czytaj więcej tutaj - http://blog.jasonruiz.com/2011/01/24/kvm-nested-virtualization-support/

  2. Obecnym celem zagnieżdżonej virt jest testowanie, ale myślę, że miało to na celu przetestowanie hiperwizorów, a nie baz danych, dns itp.

Myślę, że w celu przetestowania takich usług wystarczy „normalna” wirtualizacja.

możesz mieć kilka różnych sieci wirtualnych, z różnymi usługami routingu dhcp / dns /.

Jan
źródło
7

To, co chcesz zrobić, jest możliwe, po prostu nie jest praktyczne z punktu widzenia wydajności.

użytkownik9517
źródło
2
Zwięzłe, do
rzeczy
6

ESXi może się zwirtualizować. Możesz więc uruchomić ESXi jako gość w ESXi (lub ESX, jeśli o to chodzi).wprowadź opis zdjęcia tutaj

Wskazówki dojazdu tutaj

JamesBarnett
źródło
3

Nie wiem o innych hiperwizorach, ale zdecydowanie jest to możliwe w przypadku ESX / i, jak omówiono tutaj . Ponadto, jak omówiono tutaj , zdecydowanie nie jest to możliwe w przypadku Hyper-V .

Jednak tam, gdzie jest to możliwe, jest całkowicie nieobsługiwany, a także całkiem bezużyteczny, chyba że do celów testowych. Osobiście zrobiłem to z ESX, aby przetestować klaster VMware, który wymagał co najmniej dwóch hostów ESX, maszyny Virtual Center i pewnej pamięci współdzielonej; W tym momencie nie miałem więcej niż jednego serwera ani żadnej „prawdziwej” pamięci, więc użyłem wirtualnych hostów ESX ze wspólnym dyskiem wirtualnym (tak jak zrobiłbym to w celu przetestowania klastra Microsoft). Działało i nie było też strasznie złe w wydajności. Ale nie mogę wymyślić żadnego powodu, aby na świecie używać tego rodzaju konfiguracji w środowisku produkcyjnym.

Massimo
źródło
1
To był ciekawy przykład. Używałbym zagnieżdżonych maszyn wirtualnych również do testowania, tak jak ty, a nie do produkcji.
KajMagnus
0

kvm w kvm nie będzie działać, chociaż goście wewnętrzni mogą działać na czystym qemu, w trybie emulacji.

Pozostawiłbym maszyny wirtualne na jednym hoście, bez nadmiernej komplikacji

dyasny
źródło
Nieprawdziwy. Jest to bardzo możliwe i istnieje od około 2008 roku. Link: linux-kvm.com/content/kvm-nested-virtualization-works
wzzrd
1
tak, z bardzo specyficznymi zestawami instrukcji procesora i nigdzie w pobliżu środowisk produkcyjnych lub poważnych testów. T / S chce testować konfiguracje i usługi sieciowe, a nie dodatkowe hiperwizory, więc po co komplikować to do tej pory? Zwłaszcza od standardowych narzędzi zarządzania. Masz rację, ponieważ kvm w kvm może działać, pod pewnymi warunkami, to był mój błąd, ale aby odpowiedzieć na pierwotne pytanie - to nie jest najlepszy pomysł pod żadnym hiperwizorem
dyasny
„to nie jest najlepszy pomysł pod każdym hypervisor”: teraz , że to prawda :) tutaj, mają upvote :)
wzzrd
LOL, nie to, że opinia jest tak ważna :)
dyasny
0

KVM prawdopodobnie nie jest najlepszą opcją dla twojego celu, powinieneś wypróbować Virtualbox.

Dzięki Virtualbox możesz stworzyć maszynę wirtualną wewnątrz maszyny wirtualnej, a narzędzia sieciowe są bardzo wygodne.

erickzetta
źródło
1
Śmieci. KVM wystarczy.
wzzrd
@wzzrd Nie powiedziałem, że KVM nie wystarczy. Powiedziałem, że Virtualbox może być lepszą opcją w tym przypadku, ponieważ jest to złożona konfiguracja.
erickzetta
Właściwie to lubię konfigurować maszyny wirtualne KVM za pomocą virsh:-)
KajMagnus
obsługa VMX, translacja adresów drugiego poziomu (SLAT), para-ops, zagnieżdżone strony, maszyny wewnątrz maszyn - była to funkcja wprowadzona już w głównej wersji 2.0 VirtualBox. virtualbox.org/wiki/Changelog-2.0
Bent Cardan
0

Sprawdziłeś XenServer? Nowa wersja beta nosi nazwę „XenServer Boston”. Przeczytaj o tym więcej tutaj:

http://blogs.citrix.com/2011/05/18/xenserver-boston-beta-program/

W informacjach o wersji zobaczysz następujące informacje:

Obsługa urządzeń wirtualnych. W XenCenter można tworzyć urządzenia wirtualne z wieloma maszynami wirtualnymi (vApps), z relacjami między maszynami wirtualnymi do użycia z sekwencją rozruchową podczas odzyskiwania witryny. vApps można łatwo importować i eksportować za pomocą standardu Open Virtualization Format (OVF)

Korzystając z tej funkcji w połączeniu z Virtual Lans, będziesz w stanie osiągnąć to, co chcesz. Nie jestem pewien, ale wierzę, że możesz jednocześnie utworzyć migawkę wszystkich maszyn wirtualnych w urządzeniu wirtualnym.

Daj mi znać, jeśli masz jakieś pytania dotyczące XenServer (używam go 2x dziennie)

portforwardpodcast
źródło
-1

Nie ma znaczenia, czy to możliwe, czy nie. To po prostu nie ma sensu. Absolutnie nic nie zyskujesz zagnieżdżając maszyny wirtualne, a jednocześnie dużo tracąc.

John Gardeniers
źródło
W rzeczywistości / niektórzy programiści KVM uważają, że ma to sens: na liście dyskusyjnej deweloperów KVM jest ten wątek z łatką do obsługi zagnieżdżonej wirtualizacji. Myślę, że programiści wydają się dość zadowoleni, jeśli nadal czytasz niektóre odpowiedzi.
KajMagnus
Deweloper niebędący KVM, który lubi zagnieżdżoną wirtualizację: „Innym zastosowaniem jest posiadanie wielu zwirtualizowanych sieci w jednym komputerze. Każda sieć miałaby inną konfigurację hostów. Czekałem na to”. ( Stąd .)
KajMagnus
@KajMagnus, tylko dlatego, że ludzie tego chcą, nie oznacza, że ​​ma to sens. Niektórzy ludzie po prostu nie widzą lasu na las.
John Gardeniers
Ma to sens przy testowaniu scenariuszy. Chcesz wdrożyć testowe wdrożenie hiperwizora, aby zobaczyć, jak zachowuje się konkretna funkcja w nowej wersji? Zakręć maszynę wirtualną. Masz rację, że nie ma to większego zastosowania do konkretnego użycia OP.
Chris Thorpe,
Ludzie IBM VM cały czas robili to podczas opracowywania nowych wersji VM. Jest na niej świetny artykuł (np. S. 28), jeśli jesteś zainteresowany.
rozszczepienie