Plan prezentacji: Co to jest wirtualizacja? Przegląd rozwiązań wirtualizacji, plusy i minusy każdego z nich Przegląd gotowych bibliotek które posłużą mi do stworzenia systemu. Interfejs oparty o WWW
Co to jest wirtualizacja?
Zalety wirtualizacji: Możliwość uruchomienia kilku systemów operacyjnych na jednym fizycznych komputerze. Możliwa separacja usług sieciowych, zwiększone bezpieczeństwo serwera. Możliwość testowania systemów operacyjnych
Wady wirtualizacji: Aby wykorzystać pełne możliwości, potrzebny jest hardware który ją wspiera. Intel VT-x lub AMD-V Ograniczenie akceleracji grafiki 3D w systemach goszczonych Systemy goszczone są zależne od gospodarza.
Wybrane rozwiązania na rynku
Virtualbox
Zalety VirtualBoxa Popularność Działa na Windowsie, Linuksie I BSD. Wydajna pełna wirtualizacja, posiada dodatki gościa ułatwiające interakcje z maszyną wirtualną Eksperymentalne wsparcie dla akceleracji grafiki 3D USB proxy Rozwijany przez duża firmę, Oracle Pełna wirtualizacja
Wady VirtualBoxa Nastawienie na używanie przez graficzny interfejs, co może być kłopotliwe przy wykorzystaniu w środowiskach serwerowych Aby wykorzystać pełnie możliwości VirtualBoxa należy zainstalować zamknięte dodatki. Nie można modyfikować większości parametrów podczas działania maszyny
Qemu
Zalety Qemu Otwarty Możliwość wykorzystania wirtualizacji sprzętowej Wykorzystuje KVM który jest zawarty w Linuksie. Wygodne zarządzanie z wiersza poleceń Migawki
Wady Qemu Mało wydajna emulacja systemów z rodziny Windows Do pełnej wirtualizacji wymaga KVM, w przeciwym razie jest to tylko parawirtualizacja. Nie można modyfikować większości parametrów podczas działania maszyny
Zalety OpenVZ Mały narzut wirtualizacji, duża wydajność Wygodne zarządzanie dla administratora. Pozwala na zmianę w locie ilości dostępnej pamięci operacyjnej dla systemu goszczonego Działa dobrze bez sprzętowej wirtualizacji
Wady OpenVZ Działa tylko z systemami opartymi o jądro Linux Wymaga stosowania zmodyfikowanych wersji jądra, brak możliwości modyfikacji go przez system goszczony.
Microsoft Virtual PC
Zalety MS VirtualPC Pełna wirtualizacja wykorzystująca przyspieszenie sprzętowe. Dobra współpraca z systemami z rodziny Windows
Wady MS Virtual PC Nie działa bez sprzętowej wirtualizacji Działa tylko na systemach z rodziny Windows co wyklucza stosowanie go w moim projekcie.
Biblioteki libvirt
Libvirt
Posiada bindingi do Pythona Pozwala na zarządzanie m.in. openvz, qemu, virtualboksem
Interfejs
Oparty o WWW Będzie pisany w języku Python z wykorzystaniem framework'a Django
Możliwości Użytkownik posiadający konto, będzie mógł się zalogować I zarządzać przypisaną do niego wirtualną maszyną oraz zmieniać jej niektóre parametry na których modyfikacje zezwala administrator. Rangi użytkowników: administrator, użytkownik. Zmiana nośnika instalacji, np. obrazu z systemem operacyjnym (opcjonalnie) Włączanie/wyłączanie grup maszyn o określonych porach (vixie-cron)
Tworzenie nowych maszyn wirtualnych. Usuwanie maszyn wirtualnych z systemu. Migracja oraz klonowanie maszyn wirtualnych. Logowanie zdarzeń (rsyslog)
Dziękuję za uwagę!