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.
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.
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.
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ę.
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.
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:
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
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.
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
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.
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.
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.
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.
Aby dowiedzieć się więcej, zobacz: