Product SiteDocumentation Site

5.3. Virtualization

Wirtualizacja w Fedorze 11 zawiera duże zmiany i nowe funkcje, które nadal obsługują Xen, KVM i wiele innych platform maszyn wirtualnych.

5.3.1. Ulepszone uwierzytelnianie VNC dla zarządzania maszynami wirtualnymi

Fedora 11 dostarcza możliwość używania protokołu SASL do uwierzytelniania połączeń VNC do maszyn wirtualnych KVM i QEMU. SASL jest systemem obsługującym wtyczki, umożliwiającym skonfigurowanie różnych mechanizmów uwierzytelniania bez zmieniania kodu aplikacji. Użycie SASL w połączeniu z istniejącą obsługą szyfrowania TLS umożliwia klientom takim jak vinagre, virt-viewer i virt-manager bezpieczne łączenie się ze zdalnymi konsolami maszyn wirtualnych na serwerach Fedory. W środowiskach, w których wdrożono Kerberosa umożliwia także bezpieczne pojedyncze logowanie się na serwer VNC. Ta nowa możliwość uwierzytelniania zastępuje tradycyjny schemat hasła VNC, który nie jest wystarczająco bezpieczny.
Aby dowiedzieć się więcej, zobacz stronę wiki Uwierzytelnianie wirtualizacji VNC

5.3.2. Ulepszona konsola graficzna dla maszyn wirtualnych

Poprzednio konsole gości wirtualnych Fedory były ograniczone do rozdzielczości ekranu 800x600, z wskaźnikiem myszy PS2 działającym, w trybie relatywnej koordynacji. Uniemożliwiało to podążanie wskaźnika lokalnego klienta przez wskaźnik gościa w skali jeden do jednego.
Fedora 11 dostarcza dokładniejsze pozycjonowanie wskaźnika myszy i wyższą rozdzielczość ekranu dla konsol maszyn wirtualnych. Goście Fedory 11 domyślnie posiadają rozdzielczość co najmniej 1024x768, i są dostarczane z tabletem USB w trybie absolutnej koordynacji. W efekcie wskaźnik myszy podąża za wskaźnikiem lokalnego klienta w skali jeden do jednego.
Aby dowiedzieć się więcej, zobacz stronę wiki Ulepszona konsola graficzna dla gości wirtualnych

5.3.3. Przydzielanie urządzeń PCI w KVM

Fedora 11 rozszerza swoje możliwości wirtualizacji przez obsługę przydzielania urządzeń PCI w KVM. Użytkownicy KVM mogą teraz dawać maszynom wirtualnym wyłączny dostęp do fizycznych urządzeń PCI, używając narzędzi wirtualizacji Fedory, w tym aplikacji Menedżer maszyn wirtualnych.

Notatka

Wymagania sprzętowe: obsługa platformy sprzętowej VT-d Intela lub IOMMU firmy AMD jest wymagana, aby ta funkcja była dostępna.
Aby dowiedzieć się więcej, zobacz stronę wiki Przydzielania urządzeń PCI w KVM.

5.3.4. Połączenie KVM i QEMU

QEMU dostarcza emulator procesora i systemu, który umożliwia użytkownikom uruchamianie maszyn wirtualnych gości takiej samej architektury, co komputer hosta lub znacznie różnych architektur. KVM dostarcza obsługę uruchamiania gości tej samej architektury co host na poziomie jądra.
QEMU przejmuje przewagę KVM polegającą na uruchamianiu gości bezpośrednio na sprzęcie, bez wymagania żadnego tłumaczenia przez hosta, umożliwiając znacznie wyższą wydajność.
Fedora 11 zawiera połączone pakiety RPM qemu i kvm. Pakiet kvm został zastąpiony przez pngqemu-kvm. Połączenie tych dwóch kodów źródłowych jest kontynuowane przez te projekty, ale opiekunowie pakietów Fedory zdecydowali połączyć te pakiety już teraz, aby zmniejszyć nakłady na zarządzani i dostarczyć lepszą obsługę.
Aby dowiedzieć się więcej, zobacz stronę wiki Połączenie KVM i QEMU

5.3.5. Obowiązkowa kontrola dostępu sVirt

Fedora 11 integruje Obowiązkową kontrolę dostępu SELinuksa z wirtualizacją. Maszyny wirtualne mogą być teraz o wiele bardziej efektywnie oddzielane od hosta i innych maszyn, dając zwiększoną pewność, że dziury bezpieczeństwa nie mogą zostać wykorzystane przez złośliwych gości.
Aby dowiedzieć się więcej, zobacz stronę wiki Obowiązkowej kontroli dostępu sVirt.

5.3.6. Manipulowanie maszynami wirtualnymi w trybie offline

libguestfs jest nową biblioteką do uzyskiwania dostępu i modyfikowania obrazów dysków gości. Używając jądra Linux i kodu QEMU, libguestfs może uzyskać dostęp do każdego typu systemu plików gościa, do którego mogą Linux i QEMU.
Następujące narzędzia są dostarczane przez libguestfs:
  • guestfish - dostarcza interaktywną powłokę do modyfikowania systemów plików maszyn wirtualnych i wykonywania poleceń w kontekście gościa.
  • virt-inspector - wyświetla wersję systemu operacyjnego, jądro, sterowniki, punkty montowania, aplikacji itp. w maszynie wirtualnej.
  • Dowiązania do języków programowania OCaml, Perl, Python, Ruby i Java.
Aby dowiedzieć się więcej, zobacz:

5.3.7. Inne ulepszenia

Fedora zawiera także następujące ulepszenia wirtualizacji:
5.3.7.1. Zaktualizowano QEMU do wersji 0.10.0
QEMU jest ogólnym emulatorem komputerów i narzędziem wirtualizacji open source.
Kiedy jest używane jako emulator komputera, QEMU może uruchamiać systemy operacyjne i programy utworzone dla jednego komputera (np. płyty ARM) na innym komputerze (np. na PC). Używając dynamicznego tłumaczenia, osiąga bardzo dobrą wydajność.
Kiedy jest używane jako wirtualizator, QEMU osiąga niemal natywną wydajność, dzięki wykonywaniu kodu gościa bezpośrednio na procesorze hosta. Sterownik hosta nazywany akceleratorem QEMU (znany także jako KQEMU) jest w takim przypadku wymagany. Tryb wirtualizatora wymaga, aby komputery hosta i gościa używały procesorów zgodnych z x86.
Nowe funkcje i ulepszenia od wersji 0.9.1:
  • Obsługa TCG - nie wymaga już GCC 3.x
  • Obsługa akceleracji Maszyny wirtualnej jądra
  • Emulacja przestrzeni użytkownika BSD
  • Emulacja Bluetooth i obsługa przejściówki hosta
  • Obsługa opisu rejestru XML GDB
  • Emulacja Intel e1000
  • Emulacja HPET
  • Obsługa parawirtualnych urządzeń VirtIO
  • Emulacja Marvell 88w8618/MusicPal
  • Emulacja tabletów z serii N Nokii/procesora OMAP2
  • Obsługa podłączania PCI w czasie pracy
  • Migracja w czasie pracy i nowe formaty zapisu/przywracania
  • Obsługa ekranu curses
  • Narzędzie qemu-nbd do montowania obsługiwanych formatów blokowych
  • Obsługa Altivec w emulacji PPC i nowego oprogramowania wbudowanego (OpenBIOS)
  • Wiele klientów VNC jest teraz obsługiwanych
  • Szyfrowanie TLS jest teraz obsługiwane w VNC
  • Wiele, wiele więcej poprawek błędów i nowych funkcji
Aby dowiedzieć się więcej, zobacz: http://www.nongnu.org/qemu/about.html
5.3.7.2. Zaktualizowano KVM do wersji 84
KVM (Maszyna wirtualna oparta na jądrze) jest rozwiązaniem pełnej wirtualizacji dla Linuksa na sprzęcie x86.
Używając KVM, można uruchamiać wiele maszyn wirtualnych z niezmodyfikowanymi obrazami Linuksa lub Windows. Każda maszyna wirtualna posiada prywatny wirtualizowany sprzęt: kartę sieciową, dysk, adapter graficzny itp.
Nowe funkcje i ulepszenia od wersji 74: http://www.linux-kvm.org/page/ChangeLog
5.3.7.3. Zaktualizowano libvirt do wersji 0.6.1
Pakiet libvirt dostarcza API i narzędzia do współpracy z możliwościami wirtualizacji w ostatnich wersjach Linuksa (i innych systemów operacyjnych). Oprogramowanie libvirt zostało zaprojektowane, aby być wspólnym mianownikiem wszystkich technologii wirtualizacji. Obecnie posiada obsługę:
  • Nadzorcy Xen na hostach Linux i Solaris.
  • Emulatora QEMU
  • Nadzorcy KVM Linuksa
  • Systemu kontenera LXC Linuksa
  • Systemu kontenera OpenVZ Linuksa
  • Pamięci masowych na dyskach IDE/SCSI/USB, FibreChannel, LVM, iSCSI i NFS
Nowe funkcje i ulepszenia od wersji 0.4.6:
  • nowe API do odłączania, ponownego podłączania i przywracania urządzeń węzła
  • obsługa obowiązkowej kontroli dostępu sVirt
  • ochrona wątków API i obsługa zdarzeń
  • umożliwia domenom QEMU przeżycie ponownego uruchomienia demona
  • rozszerzone możliwości dziennika
  • obsługuje woluminy pamięci masowej kopiowanych podczas zapisywania
  • obsługa opcji kontroli pamięci podręcznych pamięci masowej dla QEMU/KVM
  • infrastruktura sterowników i blokowanie
  • Infrastruktura testowania sterowników
  • równoległość demona i powiązanej konfiguracji
  • wyczyszczenie pomocy virsh
  • dzienniki demona logrotate
  • więcej testów regresji
  • grafika SDL w QEMU
  • dodano flagę --version do demona
  • wyczyszczenie zużycia pamięci
  • plik PID QEMU i stany XML dla ponownego uruchomienia demona
  • aktualizacje gnulib
  • przejściówka PCI dla KVM
  • ogólne wewnętrzne API wątków
  • opcja i kod configure Xena specyficzne dla RHEL-5
  • zapisywanie stanu domeny jako łańcucha w pliku stanu
  • dodanie blokowania do wszystkich punktów wpisów API
  • nowe referencyjne API liczenia
  • adres IP dla mostków Xen
  • format sterownika dla typów plików dysków
  • ulepszona wydajność tun/tap w QEMU/KVM
  • włączenie dyskietek w pełnej wirtualizacji Xen
  • obsługa ustawień haseł VNC dla QEMU/KVM
  • zgłaszanie wersji sterownika QEMU
A także dziesiątki wyczyszczonych funkcji, ulepszeń dokumentacji, przenośności i poprawek błędów. Aby dowiedzieć się więcej, zobacz: http://www.libvirt.org/news.html
5.3.7.4. Zaktualizowano virt-manager do wersji 0.7.0
Pakiet virt-manager dostarcza implementację GUI funkcjonalności virtinst i libvirt.
Nowe funkcje i ulepszenia od wersji 0.6.0:
  • Zaprojektowany na nowo kreator "Nowa maszyna wirtualna"
  • Opcja usuwania pamięci masowej podczas usuwania maszyny wirtualnej.
  • Przeglądarka plików dla pul i woluminów pamięci masowych libvirt do używania podczas podłączania pamięci masowych do nowych i istniejących gości.
  • Przydzielanie urządzeń fizycznych (PCI, USB) istniejącym maszynom wirtualnym.
  • Zgłaszanie statystyk dysku i sieci maszyny wirtualnej
  • Obsługa migracji maszyn wirtualnych
  • Obsługa dodawania urządzeń dźwiękowych do istniejących maszyn wirtualnych
  • Wyliczanie urządzeń hosta podłączonych do istniejącej maszyny wirtualnej
  • Umożliwienie określenia modelu urządzenia podczas dodawania urządzenia sieciowego do istniejącej maszyny wirtualnej
  • Połączenie widoku konsoli szeregowej z oknem szczegółów maszyny wirtualnej
  • Umożliwienie łączenia się z wieloma konsolami szeregowymi maszyn wirtualnych
  • Poprawki błędów i wiele pomniejszych ulepszeń.
Aby dowiedzieć się więcej, odwiedź: http://virt-manager.et.redhat.com/
5.3.7.5. Zaktualizowano virtinst do wersji 0.400.3
Pakiet python-virtinst zawiera narzędzia do instalowania i manipulowania wieloma formatami obrazów gości maszyn wirtualnych.
Nowe funkcje i ulepszenia od wersji 0.400.0:
  • Nowa opcja virt-clone, --original-xml, umożliwiająca klonowanie gościa z pliku XML, zamiast wymagać istniejącego, podanego gościa.
  • Nowa opcja virt-install, --import, umożliwiająca utworzenie gościa z istniejącego obrazu dysku, pomijając wszystkie fazy instalacji systemu operacyjnego.
  • Nowa opcja virt-install, --host-device, do łączenia fizycznego urządzenia hosta z gościem.
  • Umożliwienie podania wartości cache przez opcje virt-install--disk
  • Nowa opcja virt-install: --nonetworks
  • Dodanie virt-image do obsługi formatu vmx w virt-convert, zastępując virt-pack
  • Dodanie obsługi sum kontrolnych dysków do virt-image
  • Ulepszona instalacja z adresu URL: parawirtualizacja Debiana przez Xena, jądro i plik boot.iso Ubuntu, jądro Mandrivy i parawirtualizacja Solarisa przez Xena
  • Rozszerzony zestaw testowy
  • Liczne poprawki błędów, wyczyszczone funkcje i ulepszenia
Aby dowiedzieć się więcej, odwiedź: http://virt-manager.org/
5.3.7.6. Zaktualizowano Xena do wersji 3.3.1
Fedora 11 obsługuje uruchamianie jako gość domU, ale nie będzie działała jako host dom0, dopóki jego obsługa nie zostanie dołączona do domyślnego jądra. Obsługa dom0 pv_ops jest planowana na Xena 3.4.
Zmiany od wersji 3.3.0:
Xen 3.3.1 jest wydaniem poprawkowym z serii 3.3.
Aby dowiedzieć się więcej, zobacz:

5.3.8. Obsługa jądra Xena

Pakiet kernel w Fedorze 11 obsługuje uruchamianie jako gość domU, ale nie będzie działała jako dom0, dopóki jego obsługa nie zostanie dołączona do domyślnego jądra. Trwa praca, i jest duża nadzieja, że ta obsługa zostanie dołączona do pakietu kernel 2.6.30 w Fedorze 12.
Najnowsze wydanie Fedory z obsługą dom0 to Fedora 8.
Uruchamianie gościa Xena domU na hoście Fedory 11 wymaga opartego na KVM xennera. Xenner uruchamia razem jądro gościa i mały emulator Xena jako gościa KVM.

WAŻNE

KVM wymaga sprzętowych funkcji wirtualizacji w systemie hosta. Systemy bez nich nie obsługują gości Xena w tym momencie.