Linux -- u mnie działa! Wirtualizacja - czyli jak z jednego komputera zrobić 100 Stanisław Kulczycki grung@kce.one.pl
Agenda Co to jest wirtualizacja? Zastosowanie Metody wirtualizacji Popularne maszyny wirtualne Live show Przyszłość? Podsumowanie
Co to jest wirtualizacja? Wirtualizacja jest szerokim pojęciem odnoszącym się do abstrakcji zasobów w różnych aspektach komputeryzacji.
Co to jest wirtualizacja? Różne definicje Wirtualizacja komputera wirtualizacja procesora wirtualizacja urządzeń peryferyjnych (Mysz,USB) wirtualizacja innych urządzeń PCI (LAN, Audio) Wirtualna maszyna (JAVA) Wirtualizacja zasobów skupianie, rozszczepianie i łączenie zasobów
Co to jest wirtualizacja?
Co to jest wirtualizacja?
Zastosowanie Konsolidacja serwerów Izolacja usług Udostępnianie zasobów Środowiska testowe Zwiększone wykorzystanie mocy obliczeniowej
Zastosowanie Praca biurowa Uruchamianie starszego oprogramowania Łatwe wykonywanie kopii zapasowych Programowanie uruchamianie kilku różnych systemów jednocześnie symulacje systemu docelowego testowanie oprogramowania
Metody wirtualizacji Emulacja sprzętu Pełna wirtualizacja (Full virtualization) Parawirtualizacja Wirtualizacja na poziomie systemu
Metody wirtualizacji Emulacja sprzętu Bardzo wolna Umożliwia emulowanie innych procesorów Uruchamianie wielu systemów w jednym Uruchamianie systemów operacyjnych bez ingerencji w ich kod System operacyjny System operacyjny Sprzęt wirtualny (np x86) System operacyjny Sprzęt wirtualny (np PPC) Sprzęt fizyczny
Metody wirtualizacji Pełna wirtualizacja (Full virtualization) Stosunkowo szybka Wykorzystuje instrukcje aktualnego procesora Hypervisor Uruchamianie systemów operacyjnych bez ingerencji w ich kod, ale tylko takich,które działają pod dana architektura System operacyjny System operacyjny System operacyjny Hypervisor (VMM) Sprzęt fizyczny zarządca
Metody wirtualizacji Parawirtualizacja Bardzo szybka Wykorzystuje instrukcje aktualnego procesora, praca natywna Hypervisor Wymaga ingerencji w jądro systemu operacyjnego System operacyjny System operacyjny System operacyjny zarządca Jądro systemu Jądro systemu Jądro systemu Hypervisor (VMM) Sprzęt fizyczny
Metody wirtualizacji Wirtualizacja na poziomie systemu Bardzo szybka natywna Tworzy izolowane środowiska Nie pozwala na uruchomienie różnych systemów operacyjnych Wirtualne środowisko Wirtualne środowisko Wirtualne środowisko System operacyjny Sprzęt fizyczny
Wsparcie ze strony sprzętu Intel Wsparcie dla x86 (VT-x) Core II Duo, Niektóre D9xx Wsparcie dla Itanium (VT-i) AMD Wsparcie dla x86 (Pacifica AMD-V) Athlon64(AM2), Athlon64 X2(AM2)
Dostępne oprogramowanie Komercyjne VMware {server,player,workstation,esx,...} XenEnterprise OpenSource QEMU, KVM Xen Source VirtualBox OpenVZ, i inne
Produkty VMware Wersje darmowe oraz płatne Działa pod Linux, MacOS(x86), Windows Wsparcie dla urządzeń USB, COM, LPT Bardzo duży wybór oprogramowania serwery, desktop Obsługa snapshotów oraz hibernacji Beta program - możliwość testowania najnowszego niestabilnego oprogramowania
VMware server Darmowe oprogramowanie do zastosowań serwerowych Możliwość uruchamiania kilku maszyn jednocześnie Działa w tle Zdalny dostęp do maszyn wirtualnych (VMware Console) Rozbudowane opcje konfiguracji sieci Interfejs GUI oraz CommandLine
VMware player Darmowe oprogramowanie do zastosowań typu desktop Możliwość uruchomienia jednej maszyny wirtualnej Bardzo prosty interfejs użytkownika Brak możliwości konfigurowania maszyn wirtualnych
VMware player
Xen Parawirtualizator Program typu OpenSource Wsparcie dla rozszerzeń sprzętowych (AMD,Intel) Wymaga instalacji specjalnie zmodyfikowanego jądra Dużo dostępnych narzędzi do obsługi Live Migration Brak wsparcia dla ACPI! Wspiera Scheduling
QEMU Projekt typu OpenSource Stosunkowo szybki (z zainstalowanym modułem kqemu) Prosty interfejs command-line Tryb user-mode Może działać bez uprawnień roota i bez instalacji (np. na dysku flash) Emuluje różnego typu procesory x86, PowerPC, ARM, MIPS...
KVM Modyfikacja QEMU, moduł jądra włączony do serii 2.6.20 Wspiera rozszerzenia sprzętowe Uruchamia maszyny wirtualne bez modyfikacji jądra - wolniejsze od kqemu
InnoTek - VirtualBox Program typu OpenSource(GPL) Bazuje na QEMU Dostępne źródła oraz wersja binarna Produkt nowy lecz bardzo zaawansowany Zapewnia pełna wirtualizację sprzętu podobnie jak VMware
Przyszłość Wirtualizacja kart graficznych 3D (Fusion?) Bardziej rozbudowana obsługa Audio Rynek multimediów Zwiększenie wydajności Lepsza synchronizacja zegara systemowego
Podsumowanie Wirtualizacja zwiększa wykorzystanie sprzętu Uwalnia od niepotrzebnych restartów komputera Sprawdza się w wielu zastosowaniach Ułatwia migrację do innych systemów operacyjnych
Dziękuję za uwagę