Jak wybrać interfejs parawirtualizacji w VirtualBox?

89

Biorąc pod uwagę system hosta Windows 8 (Intel Core i5) i hosta Fedory Linux, chciałbym określić optymalne ustawienie interfejsu parawirtualnego.

Opcje są

  • Żaden
  • Domyślna
  • Dziedzictwo
  • minimalny
  • Hyper-V
  • KVM

Ta strona sugeruje, że wybór opiera się tylko na systemie gościa:

Największą zmianą w VirtualBox 5.0 jest wprowadzenie obsługi parawirtualizacji, zapewniającej wyższą wydajność i dokładność utrzymywania czasu obsługiwanych systemów operacyjnych gości (Hyper-V w Windows i KVM w Linux).

Czy to jest poprawne?

Początkujący
źródło

Odpowiedzi:

98

Instrukcja VirtualBox , w części zatytułowanej dostawców parawirtualizacją wyjaśnia bardzo wyraźnie, gdy każdy powinien być stosowany (podkreślenie dodane):

  • Minimalna: informuje o obecności zwirtualizowanego środowiska. Dodatkowo zgłasza częstotliwość TSC i APIC do systemu operacyjnego gościa. Ten dostawca jest obowiązkowy do obsługi dowolnych gości systemu Mac OS X.

  • KVM: Przedstawia interfejs hypervisora ​​Linux KVM, który jest rozpoznawany przez jądra Linuksa od wersji 2.6.25. Implementacja VirtualBox obsługuje obecnie parawirtualizowane zegary i blokady SMP. Ten dostawca jest zalecany dla gości Linux.

  • Hyper-V: Przedstawia interfejs hiperwizora Microsoft Hyper-V, który jest rozpoznawany przez Windows 7 i nowsze systemy operacyjne. Implementacja VirtualBox obsługuje obecnie zegary parawirtualizowane, raportowanie częstotliwości APIC, debugowanie gości, raportowanie awarii gości i łagodne kontrole timera. Ten dostawca jest zalecany dla gości Windows.

Inne opcje w menu rozwijanym wykonują następujące czynności, jak wyjaśniono w vboxmanagedokumentacji :

  • Brak : nonejawne określenie powoduje wyłączenie wyświetlania interfejsu parawirtualizacji.

  • Domyślnie : opcja defaultwybiera odpowiedni interfejs w zależności od typu systemu-gościa podczas uruchamiania maszyny wirtualnej. Jest to domyślna opcja wybrana podczas tworzenia nowych maszyn wirtualnych.

  • Legacy : The legacyopcja jest wybrana dla maszyn wirtualnych, które zostały utworzone w starszych wersjach VirtualBox i wybrać interfejs parawirtualizacją podczas uruchamiania maszyny wirtualnej z VirtualBox 5.0 i nowszych.

ciężki
źródło
6
Podczas testowania trybu KVM na moim gościu Ubuntu (używając OSX jako hosta) pojawiło się kilka problemów związanych z czasem, w tym zegar działający około dwa razy wolniej. (Ustawiłbym czas za pomocą ntp i za 10 minut zegar byłby opóźniony o około 5 minut). System działał właściwie wolniej, np. Wywołanie „snu 5” zajęłoby znacznie więcej niż 5 sekund. Obecnie wracam do trybu „Dziedzictwo”
JBernardo
@JBernardo Czy przetestowałeś tryb domyślny ?
Léo Léopold Hertz 준영
@ LéoLéopoldHertz 준영 Czy tryb domyślny nie byłby taki sam jak KVM , który już wypróbowali?
endolith
@JBernardo Zwykle nie powinien używać ntp w maszynie wirtualnej, ponieważ jest on synchronizowany z hostem przez narzędzia gościa. Może to przeszkadzać.
Bachsau,
9

Bądźmy bardziej precyzyjni, ponieważ miałem migrowane maszyny wirtualne 4.3, a te są „starsze”, również byłem zainteresowany tym, którego ustawienia użyć, jeśli skopiuję maszynę wirtualną z systemu Linux na system Windows lub odwrotnie:

--paravirtprovider none | default | legacy | minimal | hyperv | kvm: To ustawienie określa, który interfejs parawirtualizacji ma być dostarczony do systemu operacyjnego gościa.

  • Określenie żadnego nie powoduje jawnego ujawnienia interfejsu parawirtualizacji.
  • Opcja domyślnie wybierze odpowiedni interfejs w zależności od typu systemu-gościa podczas uruchamiania maszyny wirtualnej. Jest to domyślna opcja wybrana podczas tworzenia nowych maszyn wirtualnych.
  • Opcja starszego typu jest wybrana dla maszyn wirtualnych, które zostały utworzone ze starszymi wersjami VirtualBox i wybiorą interfejs parawirtualizacji podczas uruchamiania maszyny wirtualnej z VirtualBox 5.0 i nowszymi.
  • Minimalny dostawca jest obowiązkowe dla osób, Mac OS X ,
  • kvm - zalecany dla gości Linuksa
  • i hyperv - zalecane dla gości Windows

Opcje te zostały szczegółowo wyjaśnione w punkcie 10.4, „ Dostawcy parawirtualizacji ”.

Z ręcznego rozdziału 8 .

Jeśli więc zaktualizowałeś VirtualBox do wersji 5 w Linuksie, po prostu wybierz kvm lub default , uruchom VM i sprawdź, czy działa poprawnie. Jeśli tak, po prostu zostaw nowe ustawienie.

Jeśli migrujesz / przenosisz maszyny wirtualne z systemu Linux do systemu Windows, zalecam domyślną opcję, która automatycznie wybiera najlepszy interfejs wirtualizacji.

Arunas Bartisius
źródło
0

Tylko od centów, na podstawie własnych testów.

Testowałem z gościem Windows 10, działającym na hoście Windows 10 i na hoście Linux (lub przynajmniej próbowałem).

Nie wspominając, że wszystkie dyski wirtualne, których używam, są niezmienne (aby zapewnić identyczne testy).

Na hoście z systemem Windows 10 gość działa normalnie (może trochę wolniej), ale uruchamia się, a pulpit jest wyświetlany ... parawirtualizacja jest „domyślna”.

Jeśli spróbuję tej samej maszyny wirtualnej na hoście Linux z „parawirtualizacją” „domyślną”, gość Windows 10 nie uruchamia się, uruchamia się, dopóki kropki nie poruszają się w kółko, a następnie po pewnym czasie zawiesza się… nie ma możliwości zalogowania się, ani pulpitu. .. pamiętaj, że wszystkie dyski są niezmienne.

Ale jak tylko ustawię parawirtualizację na „Heredada” (jest w języku hiszpańskim), uruchamia się i dociera do pulpitu, ale czasami (pamiętaj, że wszystkie dyski są niewymowne) uruchamia się ponownie, a innym razem mogę go używać (bardzo, bardzo wolno) .. ... więc musi być gdzieś wyścig rasowy, grzesząc niewzruszonymi dyskami, nie zawsze robi to samo.

Ach, nawiasem mówiąc, gość Windows nie ma dostępu do Internetu, aby mieć pewność, że żadne połączenie internetowe nie sprawi, że będzie inaczej w przypadku zimnych butów.

Zapamiętaj:

  • Wszystkie dyski są niezmienne
  • Wszystkie są przywracane przy każdym zimnym rozruchu
  • Gość Windows nie zawsze działa
  • Przy parawirtualizacji „domyślnej” nie uruchamia się nawet na hoście Linux, ale dobrze się uruchamia na hoście Windows.
  • Dzięki parawirtualizacji na „Heredada” uruchamia się na hoście Linux (ale nie zawsze jest stabilna, abyś mógł z niej korzystać)

Próbowałem także włączyć / wyłączyć 2D i 3D (także PAE / NX), ponieważ chcę, aby ten sam gość (wirtualne dyski twarde kopiowane z jednego hosta na drugi) był stabilny na dwóch różnych hostach; chcę też móc kopiować wirtualne dyski twarde z jednego hosta na inny host po dokonaniu jakiejkolwiek aktualizacji (przed wykonaniem zimnego rozruchu, połącz dysk twardy z jego rodzicem, aby wprowadzić zmiany na stałe i nie zgubić się, inaczej używając CloneVDI); nie używam migawek, tylko dyski niewymienne.

Właśnie to widziałem, muszę wykonać więcej testów z innymi wartościami parawirtualizacji, na wypadek, gdyby ktoś działał lepiej na hoście Linux. Nie używam MAC ani OS / 2, tylko host Windows i host Linux (oba hosty są na innym sprzęcie fizycznym).

WERSJA: Gość systemu Windows 10 to HOME 64Bits, a wersja to 1809.17763.379

Mam nadzieję, że to pomoże innym, przetestuj i przetestuj i ponownie przetestuj (lepiej na dyskach niewymiennych) dowolną kombinację wartości, aż znajdziesz jedną kombinację, która działa, wydaje się, że jest to jedyny sposób na uruchomienie gościa na różnego rodzaju hostach (Windows / Linux)! !!

Laura
źródło