Rozwiązania
Red Hat i wirtualizacja
32
kwiecień 2010
linux@software.com.pl
Red Hat
i wirtualizacja
Firma Red Hat w swoim systemie operacyjnym ofi cjalnie wspiera dwa mechanizmy wirtualizacji:
Xen oraz KVM
Bohdan Sydor
F
irma Red Hat, publikując w marcu 2007 roku
system Red Hat Enterprise Linux 5 udostępni-
ła mechanizm wirtualizacji Xen. Zasada dzia-
łania była dokładnie taka sama, jak w konku-
rencyjnym produkcie Novell SUSE Linux Enterprise Se-
rver 10, czyli kupując subskrypcję na używanie dystrybu-
cji, mamy możliwość bez dodatkowych opłat używać me-
chanizmu wirtualizacji dla architektur x86 oraz x86_64.
Warto przy okazji pamiętać, że technologia Xen pierwot-
nie opracowana na Uniwersytecie w Cambridge wymaga
załadowania odpowiedniego hypervisora, który to z ko-
lei uruchamia specjalnie zmodyfi kowane jądro Linuksa.
Xen obsługuje dwa tryby wirtualizacji: para wirtualizację
oraz pełną wirtualizację. Ta ostatnia wymaga specjalnego
wsparcia sprzętowego dla pełnej wirtualizacji w proceso-
rze, które jest dostarczane w technologiach zarówno Inte-
la (Intel-VT), jak i AMD (AMD-V). Ani sam hypervisor
Xen, ani modyfi kacje jądra Linux do pracy w tej technolo-
gii nie są dostępne w głównej gałęzi jądra Linux. Funkcjo-
nalność wirtualizacji Xen jest dostarczana przez develope-
rów konkretnych dystrybucji, najczęściej poprzez osobne
pakiety z tak przygotowanym jądrem Linux. Technologia
Xen jest dostępna wyłącznie w RHEL5 i nie będzie dalej
rozwijana przez fi rmę RedHat.
Firma Red Hat w ramach projektu ET (EmergingTech-
nology, et.redhat.com) rozwija libvirt – API do wirtualizacji
pozwalającego na lokalne i bezpieczne zdalne zarządzanie
maszynami wirtualnymi, pulami pamięci masowych i wirtu-
alnymi sieciami. Przy użyciu tej biblioteki można w prosty
sposób wysokopoziomowo zarządzać systemami z wirtuali-
zacją poprzez dostępne narzędzia zarówno tekstowe (virsh),
jak i grafi czne (virt-manager). We wrześniu 2008 roku Red
Hat ogłosił przejęcie fi rmy Qumra net.Przejęcie obejmowa-
ło rozwiązanie wirtualizacyjne, włączając KVM (Kernel-ba-
sed Virtual Machine) oraz SolidICE – infrastrukturę wirtu-
alnych desktopów, co razem daje kompletną platformę wir-
tualizacyjną dla klientów korporacyjnych.Tym samym Red
Hat, rozszerzając swoje portfolio dotyczące usług wirtuali-
zacyjnych, wzbogacił się o ofertę, która pozwala na zwięk-
szenie niezawodności i zredukowanie kosztów infrastruktu-
ry IT, poprzez udostępnienie następujących rozwiązań:
•
RHEL – wiodący otwarty system operacyjny z wbu-
dowaną wirtualizacją,
32-36-redhat.indd 32
2010-02-26, 17:49:55
Rozwiązania
Red Hat i wirtualizacja
33
www.lpmagazine.org
• wbudowany hypevisor wspierający syste-
my RHEL i MSWindows,
• spójna platforma zarządzająca zarówno dla
maszyn fi zycznych, jak i wirtualnych.
KVM jest technologią pełnej wirtualizacji do-
stępną w jądrze Linux dla architektury x86
i x86_64 zawierającej rozszerzenia wirtualiza-
cyjne (IntelVT lub AMD-V). Składa się z mo-
dułów do jądra:
kvm.ko, które dostarcza podstawową infra-
strukturę wirtualizacyjną, a także moduł spe-
cyfi
czny dla procesora, kvm-intel.ko lub
kvm-amd.ko. KVM wymaga także zmodyfi -
kowanego QEMU w przestrzeni użytkownika.
Przy użyciu KVM można uruchamiać maszy-
ny wirtualne z niezmodyfi kowanym jądrem
Linux lub Windows. Każda maszyna wirtual-
na posiada własny wirtualny sprzęt:
• kartę sieciową, dysk, kartę grafi czną itp.
Pierwotnie KVM powstał jako łata na ją-
dro składająca się z 500 linii kodu i jest
obecny w głównej linii jądra Linux od
wersji 2.6.20.W RHEL KVM jest obecny
od wersji 5.4 (wrzesień 2009) i stał się do-
myślną technologią wirtualizacji dla tego
systemu.
Główną różnicą pomiędzy Xen i KVM jest ar-
chitektura: Xen jest zewnętrznym hyperviso-
rem; przejmuje on kontrolę nad maszynami
i dzieli zasoby pomiędzy gości. Z drugiej stro-
ny KVM jest częścią jądra Linux i wykorzystu-
je standardowy scheduler i zarządzanie pamię-
cią. Oznacza to, że KVM jest o wiele mniejszy
i prostszy w użyciu, a także bardziej elastyczny.
Z drugiej strony KVM działa wyłącznie w try-
bie pełnej wirtualizacji, gdzie Xen może praco-
wać zarówno w pełnej, jak i para wirtualizacji,
jednakże KVM wspiera para wirtualne sterow-
niki dla urządzeń blokowych i sieciowych, któ-
re poprawiają operacje I/O do osiągów zbliżo-
nych do tych, które występują na fi zycznym
sprzęcie. Red Hat dostarcza sterowników Vir-
tIO dla systemów RHEL od wersji 4.8 i 5.3 oraz
dla systemów MS Windows.
W listopadzie 2009 roku Red Hat ofi cjal-
nie wydał nowy produkt noszący nazwę Red
Hat Enterprise Virtualization (RHEV) for Se-
rvers.W chwili pisania niniejszego artykułu
wersja dla desktopów znajduje się w fazie be-
ta. Podstawowe elementy składowe RHEV to
jądro Linux z KVM, libvirt oraz Red Hat En-
terprise Virtualization Manager – oprogramo-
wanie zarządzające systemem wirtualizacyj-
nym, odpowiedzialne za wysoką dostępność,
migrację maszyn wirtualnych, zarządzanie-
przestrzenią dyskową, a także dynamiczne za-
rządzanie zasobami sprzętowymi. Zarządzanie
odbywa się przez przeglądarkę WWW. Wy-
magania sprzętowe, które muszą być spełnio-
ne, aby wdrożyć produkt, to 64-bitowe ma-
szyny ze wsparciem pełnej wirtualizacji In-
tel VT lub AMD-V, a także macierz dyskowa
udostępniająca przestrzeń dyskową protokoła-
mi FC, iSCSI lub NFS. Pikanterii dodaje fakt,
że RHEV Manager działa wyłącznie pod syste-
mem MS Windows Server2003 z .NET, Power-
Shell oraz SQLServer. Dla osób decydujących
o wdrożeniu RHEV na wielką skalę na pewno
będzie miało znaczenie, że Red Hat w swojej
ofercie edukacyjnej wprowadził nową certyfi -
kację Red Hat Certifi ed Virtualization Admini-
strator składającą się z praktycznego egzaminu
(EX318RHCVA) oraz czterodniowego szko-
lenia przygotowującego (RH318 Red Hat En-
terprise Virtualization). Dla osób ubiegających
się o tytuł RHCDS lub RHCA egzamin EX318
może zastąpić egzamin EX423 Red Hat Enter-
prise Directory Services and Authentication.
Certyfi kowani administratorzy RHEV dają for-
malną gwarancję, że produktem zarządza kom-
petentny personel.
Licencjonowanie
Red Hat sprzedaje swoje produkty w posta-
ci subskrypcji na pojedynczy fi zyczny serwer
(w zależności od produktu dochodzi dodatko-
wo ograniczenie na ilość fi zycznych proceso-
rów w serwerze).
Czas trwania subskrypcji to standardowo
jeden rok. Ten model sprzedaży oznacza, że
kupując wolne oprogramowanie, mamy tak-
że dostęp do kodów źródłowych, poprawek
bezpieczeństwa, a także do wszystkich wer-
sji zakupionego produktu, które są aktualnie
wspierane przez Red Hata. Możemy zatem
swobodnie podnosić i obniżać wersje nasze-
go systemu w zależności od naszych aktual-
nych potrzeb.
Red Hat Enterprise Linux jest wpierany
przez 7 lat od momentu publikacji, a następna
wersja pojawia się co około 3 lata. W kilkumie-
sięcznych odstępach czasu pojawiają się uak-
tualnione wydania, tzw. Update, będący odpo-
wiednikiem do Service Pack w produktach Mi-
crosoft czy Novell. Oprócz obrazów ISO ze
zaktualizowanymi wersjami pakietów,często-
także jest modernizowana funkcjonalność jądra
przez chociażby dodanie nowych sterowników,
a czasami także są podnoszone wersje pakietów
znajdujących się w dystrybucji.
Również przy wydaniu update’ów aktuali-
zowana jest lista kompatybilnego sprzętu, znaj-
dująca się pod adresem hardware.redhat.com.
Ustalony cykl wydawniczy pozwala na prze-
prowadzenie certyfi kacji zgodności zarówno ze
sprzętem, jak i z oprogramowaniem fi rm trze-
Rysunek 1.
Wybór typu wirtualizacji i architektury
systemu-ogścia w virt-manager
Rysunek 2.
Wybór grupy KVM w managerze oprogramowania pozwala łatwo zainstalować niezbędne ele-
menty do wirtualizacji KVM
32-36-redhat.indd 33
2010-02-26, 17:50:02
34
kwiecień 2010
Rozwiązania
Red Hat i wirtualizacja
cich. Także w ramach wykupionej subskrypcji
mamy dostęp do pomocy technicznej oraz do
Red Hat Network. Pod kątem wirtualizacji inte-
resować będą nas produkty:
• Red Hat Enterprise Linux – do 2 fi zycz-
nych procesorów, maksymalnie 4 maszy-
ny wirtualne.
• Red Hat Enterprise Linux Advanced Plat-
form – nieograniczona ilość procesorów
w serwerze i maszyn wirtualnych.
• Red Hat Enterprise Virtualization – RHEV
Hypervisor ograniczony do 1 fi zycznego
procesora, brak maszyn wirtualnych. Za-
wiera RHEV Manager.
• Red Hat Enterprise Linux as a Virtual Gu-
est 4 Packs – „czteropak” kupowany na
każdy hypervisor osobno.W tym wariancie
każdy pojedynczy fi zyczny serwer nie mo-
że obsługiwać więcej niż cztery maszyny
wirtualne.
• Red Hat Enterprise Linux as aVirtual Gu-
est 100 Packs – paczka stu maszyn wirtu-
alnych z RHEL na każdy pojedynczy fi -
zyczny procesor na każdym fi zycznym
serwerze.
Produkty zawierające rozwiązania wirtualiza-
cyjne oparte o KVM są dostępne wyłącznie na
architekturę x86_64.
Instalacja hosta
i maszyn wirtualnych w RHEL
W RHEL 5.4 mamy dostępne dwa hyperviso-
ry: Xen oraz KVM, jednak w tym samym cza-
sie możemy używać tylko jednego. Należy pa-
miętać, że Xen wymaga osobnego jądra znajdu-
jącego się w pakiecie kernel-xen, a ten nie za-
wiera KVM. Z kolei KVM zawiera się w stan-
dardowych pakietach z jądrem kernel wyłącz-
nie na architekturę x86_64. Obecnie nie istnie-
je żadna aplikacja pozwalająca na uruchamianie
systemów–gości z Xen pod KVM i odwrotnie.
Red Hat ofi cjalnie zaleca instalację tylko jed-
nego hypervisora—tego, którego zamierzamy
używać do wirtualizacji.
Instalacja hosta z XEN
Jeśli mamy już zainstalowany system, to mu-
simy doinstalować obowiązkowe pakiety, któ-
re zmienią nasz systemw Domain-0 oraz bę-
dziemy potrzebować pakietów z narzędziami
zarządzającymi:
• kernel-xen
• xen
• virt-manager
• libvirt
• libvirt-python
• python-virtinst
Alternatywnie możemy zainstalować grupę pa-
kietów Virtualization. Po instalacji musimy zre-
startować system i wybrać w managerze łado-
wania jądro z obsługą Xen.
Instalacja hosta z KVM
Na zainstalowanym systemie włączamy obsłu-
gę KVM poprzez zainstalowanie obowiązko-
wych pakietów: zawierających moduły jądra
z funkcjonalnością hypervisora oraz z narzę-
dziami zarządzającymi:
• kvm
• virt-manager
• libvirt
• libvirt-python
• python-virtinst
Alternatywnie możemy zainstalować grupę pa-
kietów KVM. Ciągle pamiętajmy, że aby uży-
wać KVM, system RHEL 5.4 musi być na ar-
chitekturze x86_64 oraz musi być włączone
sprzętowe wsparcie wirtualizacji w procesorze.
Narzędzia zarządzające
W związku z tym, że w systemach Red Hat ma-
my dostępną bibliotekę libvirt, skorzystamy
z wysokopoziomowych narzędzi zarządzających
bazujących właśnie na niej. Są to trzy polecenia:
Rysunek 3.
virt-manager --- ogólny widok na zestaw maszyn wirtualnych oraz ich stan
Rysunek 4.
virt-manager --- maszyna wirtualna w RHEL 5.4
32-36-redhat.indd 34
2010-02-26, 17:50:10
www.lpmagazine.org
• virt-manager
• virsh
• virt-install
• virt-manager
Jest to grafi czne narzędzie, od którego naj-
łatwiej jest zacząć zarządzanie wirtualizacją
w systemach RHEL bez względu na to, czy jest
to Xen, czy KVM. Przy jego pomocy możemy
instalować nowe maszyny wirtualne, urucha-
miać istniejące, przypisywać wirtualne zasoby,
zarządzać wirtualnymi sieciami oraz pulami pa-
mięci masowych.
Instalując nową maszynę wirtualną, defi -
niujemy: nazwę, typ wirtualizacji (w przypadku
KVM, tylko pełna wirtualizacja jest możliwa),
architekturę (i686 lub x86_64), źródło instalacji
(lokalne medium:CD-ROM lub obraz ISO, źró-
dło sieciowe:HTTP,FTP,NFS;PXE), a także typ
i wariant systemu operacyjnego.
Następnie wybieramy urządzenie bloko-
we dla wirtualnego systemu – wskazujemy al-
bo już istniejące urządzenie blokowe (partycja
lub wolumen logiczny), albo plik w systemie
plikowym.Warto pamiętać, że najwyższą wy-
dajność operacji I/O uzyskamy, jeśli wirtual-
nym dyskiem będzie urządzenie blokowe, ale
z drugiej strony, to większą elastyczność uzy-
skamy, zarządzając wirtualnymi dyskami, któ-
re są plikami.
Kolejnym etapem defi niowania maszyny
wirtualnej jest wybór sieci. Musimy określić,
czy chcemy korzystać z sieci wirtualnej, czy
bezpośrednio podłączyć maszynę do fi zyczne-
go segmentu LAN poprzez wcześniej utworzo-
ny bridge, którego elementem będzie fi zyczna
karta sieciowa. Tworzenie mostka odbywa się
poprzez wywołania polecenia brctl, a żeby na-
sza konfi guracja przeżyła restart, to należy od-
powiednio skonfi gurować skrypty startowe ini-
cjalizujące sieć.
Ostatnim elementem przy defi niowaniu za-
sobów jest przypisanie ilości pamięci operacyj-
nej oraz ilości wirtualnych procesorów. Zaleca
się, aby ilość wirtualnych procesorów w maszy-
nie wirtualnej była mniejsza lub równa ilości fi -
zycznych procesorów.
virt-install
To polecenie działa w trybie tekstowym i głów-
nie służy do tekstowych, nieinteraktywnych in-
stalacji wirtualnych systemów, np. przy użyciu
trybu kickstart virsh
Polecenie virsh działa w dwóch trybach: in-
teraktywnym (uruchamia własną powłokę) oraz
nieinteraktywnym. Przy jego pomocy możemy
zarządzać maszynami wirtualnymi m.in.: do-
dawać, usuwać, uruchamiać, restartować, wy-
łączać, hibernować czy migrować. Mamy tak-
że możliwość połączyć się przez wirtualną kon-
solę szeregową.
RHEV Manager
Jeśli kupiliśmy nowy produkt Red Hata— Red
Hat Enterprise Virtualization, to zarządzanie
wirtualizacją możemy dokonywać z centralne-
go punktu RHEV Manager. Zarządzanie odby-
wa się poprzez przeglądarkę WWW. Przy uży-
ciu RHEV faktycznie oddzielamy warstwę fi -
zyczną od wirtualnej, możemy łatwo i wygod-
Rysunek 5.
virt-manager --- instalacja gościa w RHEL 5.4 w trybie tekstowym
32-36-redhat.indd 35
2010-02-26, 17:50:17
36
kwiecień 2010
Rozwiązania
Red Hat i wirtualizacja
nie administrować tysiącami hypervisorów czy
maszyn wirtualnych. Należy mieć na uwadze,
że jeśli decydujemy się na RHEV, to ręcznie nie
będziemy mogli zasobami zarządzać.
Migracja
Popularną cechą związaną z wirtualizacją jest
migracja. W RHEL z KVM możemy wykony-
wać migrację poprzez zamrożenie systemu–go-
ścia lub dokonać migracji bez przerywania jego
działania (tzw. Livemigration). Migracja pole-
ga na replikacji zawartości RAM maszyny wir-
tualnej pomiędzy hypervisorami. Domyślnie do
replikacji używa się transportu SSH, dlatego
musimy mieć możliwość zalogowania się przez
SSH na konto użytkownika root. Aby móc do-
konać migracji, maszyny wirtualne muszą mieć
swoje dyski zlokalizowane na współdzielonym
zasobie dyskowym (np. NFS, i SCSI). Proces
migracji możemy przeprowadzić narzędzia-
mi virsh czy virt-manager lub też z poziomu
RHEV Manager.
Środowisko wysokiej dostępności
Wysoką dostępność dla wirtualizacji Red Hata
możemy zapewnić na dwa sposoby: albo przy
wykorzystaniu Red Hat Cluster Suite, albo Red
Hat Enterprise Virtualization.
RHCS może zapewnić wysoką dostęp-
ność dla maszyn wirtualnych zarówno działają-
cych pod kontrolą hypervisora Xen, jak i KVM.
Oprogramowanie klastrowe samodzielnie wy-
krywa działający hypervisor, możemy wtedy
zdefi niować zasób klastra, który jest maszyną
wirtualną. Z kolei RHEV wymaga wyłącznie
KVM. We właściwościach maszyny wirtualnej
zaznaczamy, czy ma być zapewniona wysoka
dostępność dla danegosystemu. Jeśli odpowie-
my twierdząco, to w przypadku, gdy maszyna
wirtualna lub hypervisor zakończy pracę nie-
spodziewanie, maszyna wirtualna zostanie pod-
niesiona na innym hypervisorze.
Podsumowując, rozwiązania wirtualiza-
cyjne fi rmy Red Hat są wbudowane w system
operacyjny, więc możemy wirtualizować ser-
wery bez żadnych dodatkowych opłat. Szcze-
gólnie atrakcyjny jest wariant RHEL Advanced
Platform, gdzie po zainstalowaniu tego systemu
na fi zycznym serwerze, możemy używać nieli-
mitowanej ilości maszyn wirtualnych. Jednak-
że w przypadku wdrożeń na wielką skalę, warto
rozważyć zakupienie produktu RHEV, aby sko-
rzystać z mechanizmu centralnego zarządzania,
skalującego się do tysięcy serwerów fi zycznych
i maszyn wirtualnych.
Wykorzystanie możliwości wirtualizacji
w produktach fi rmy Red Hat wymaga znajomo-
ści pracy w systemach linuksowych. Aby unik-
nąć przykrych niespodzianek po wdrożeniu,
warto rozważyć przeszkolenie administrato-
rów na ofi cjalnych ścieżkach certyfi kacyjnych,
znajdujących się w ofercie szkoleniowej. Warto
wziąć udział w takich szkoleniach, nawet jeśli
jesteśmy już doświadczonymi administratorami
innych dystrybucji linuksowych, gdyż na takim
kursie dowiemy się, jak to się robi w Red Hacie,
nie tracąc czasu na błądzenie po systemie. Pod-
stawowym kursem poruszającym administrację
systemem oraz zagadnienia związanez możli-
wościami wirtualizacji jest kurs RH131 Red
Hat System Administration. Natomiast szko-
lenie dedykowane zaawansowanym zagadnie-
niom wirtualizacyjnym to RH318 Red Hat Vir-
tualization Administration.
Bohdan Sydor jest wykładowcą w Com-
pendium Centrum Edukacyjnym. Prowadzi
szkolenia z systemów open source, głównie
z oferty szkoleniowej fi rm Red Hat i Novell.
O autorze
Rysunek 7.
virt-manager --- instalacja gościa w RHEL 5.4 w trybie tekstowym
Rysunek 6.
virt-manager --- instalacja gościa w RHEL 5.4 w trybie tekstowym
32-36-redhat.indd 36
2010-02-26, 17:50:26