Natywne wsparcie wirtualizacji w OpenBSD

Mike Larkin ogłosił wstępnie na twitterze, a później oficjalnie na liście mailingowej tech@, zapowiedź natywnego wsparcia dla wirtualizacji w systemie OpenBSD.

Praca nad vmm(4) rozpoczęła się w tajemnicy kilka miesięcy temu. Sam pomysł narodził się w głowie Mike’a kilka lat wcześniej, po czym nabrał rozpędu w trakcie hackathonu w Brisbane w tym roku. Fundacja OpenBSD zaoferowała finansowanie dalszej pracy.

Projekt znajduje się na etapie, w którym inni deweloperzy są w stanie pomóc przy kluczowych elementach nowego podsystemu. Obecnie vmm(4) jest w stanie uruchomić jądro systemu i zażądać głównego systemu plików. Nie jest to może zbyt wiele, ale jak wspomina Mike, dojście do tego etapu wymagało przygotowania całego rusztowania umożliwiającego takie akcje. Pozwala ono również dodatkowym osobom na pomoc przy tworzeniu interfejsów virtio(4) do emulacji dysków i interfejsów sieciowych.

Dlaczego OpenBSD zdecydowało o utworzeniu wirtualizacji od podstaw zamiast dostosować gotowe rozwiązania? Zdaniem Mike’a, nie miało to sensu. Projekt implementuje funkcjonalności, dla innych dostawców mało istotne: wsparcie dla i386, shadow paging, zagnieżdżona wirtualizacja, wsparcie dla starszych peryferiów etc.

Mike zamieścił ponadto krótkie FAQ dotyczące projektu:

Q: Jakie systemy mogę uruchomić?

Każdy system, który wspiera virtio. Możliwe, że w przyszłości powstanie API pozwalające qemu na podpięcie (np. udostępniając ten sam interfejs co KVM), w celu wsparcia starszych systemów lub tych wymagających wsparcia BIOS/UEFI.

Q: Kiedy będzie gotowe?

Jest szansa, że na koniec Października – ale bez obietnic. Dużo zależy od ilości osób chętnych do pomocy przy tworzeniu zaplecza virtio.

Q: Jakie procesor będzie wymagany?

Dowolny procesor AMD lub Intela, który wspiera sprzętową wirtualizację (SVM dla AMD i VMX dla Intela). Procesory bez wsparcia RVI lub EPT będą używać shadow pagingu.

Q: Jaki system będzie wymagany?

Bazowe narzędzia (vmd(8) i vmmctl(8)) oraz głóœny vmm (vmm(4)) będzie zawarty z bazowym systemem OpenBSD dla platform i386 i amd64. To powinno wystarczyć do uruchamiania systemów gościnnie, bez żadnego dodatkowego oprogramowania.

Q: Fuj! i386?

Tak. i386 pomaga wyłapywać błędy. Autor zachęca do przeglądu tuzina jego ostatnich zmian dla platformy i386.

I najważniejsze

Q: Jak mogę pomóc

Autor nie miałby czasu pracować z vmm bez finansowego wsparcia Fundacji OpenBSD. Dotacje, jakie zostały dotychczas wpłacone na rzecz fundacji, umożliwiły powstanie opisywanych zmian. Jeżeli chcecie zobaczyć natywne wsparcie dla wirtualizacji w OpenBSD (oraz masę innych ciekawych projektów), gorąco zachęcamy do dotacji na rzecz Fundacji.

Kod nie wylądował jeszcze w drzewie systemu OpenBSD. Nic dziwnego – sam patch ma rozmiar ponad 20 tysięcy linii kodu.

Zapewne kilka osób przypomni sobie nastawienie Theo do wirtualizacji z 2007 roku. Pamiętać jednak wypada o tym, że opinie się zmieniają, często w oficjalny, skromny sposób.

Skomentuj

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *