background image

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

background image

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

background image

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

background image

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

background image

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