Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00410 007376 14238993 na godz. na dobę w sumie
Wirtualizacja w praktyce - książka
Wirtualizacja w praktyce - książka
Autor: Liczba stron: 248
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-3724-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> serwery internetowe >> inne
Porównaj ceny (książka, ebook, audiobook).

Wirtualizacja - to proste!

Temat wirtualizacji z roku na rok staje się w świecie IT coraz popularniejszy. Nie ma w tym nic dziwnego - wirtualizacja serwerów i zasobów pozwala używać jednocześnie kilku różnych systemów operacyjnych na tym samym komputerze, znacznie zwiększając możliwości wykorzystania posiadanego sprzętu, zmniejszając koszty związane z jego utrzymaniem i poprawiając elastyczność konfiguracji zasobów. Na tym nie koniec, gdyż wirtualizacja bardzo ułatwia też codzienną pracę administratorów - zmniejsza podatność systemów na awarie i przeciążenia, upraszcza tworzenie kopii zapasowych i przywracanie konfiguracji oraz umożliwia wykonywanie bezpiecznych testów nowych rozwiązań.

Dlaczego więc wielu administratorów systemów informatycznych nadal jej unika? Zwykle boją się oni kłopotów związanych z instalacją i konfiguracją maszyn wirtualnych; na przeszkodzie stoją też często ich przyzwyczajenia i niechęć do nowych rozwiązań. O tym, że wirtualizacja wcale nie musi być problematyczna i może znacznie ułatwić pracę, przekona Cię lektura książki 'Wirtualizacja w praktyce'. Poznasz korzyści płynące z zastosowania najbardziej popularnych rozwiązań, sposoby instalacji odpowiedniego oprogramowania oraz tworzenia i konfiguracji maszyn wirtualnych, metody instalowania systemów operacyjnych gości, a także najważniejsze działania związane z używaniem i konserwowaniem wirtualnych zasobów. Przekonasz się, że wirtualizacja może być naprawdę prosta!


'Wirtualizacja w praktyce' to kolejna pozycja autora bestsellerowej, świetnie ocenianej przez fachowców i doskonale przyjętej w środowisku informatycznym książki 'Sieci VPN. Zdalna praca i bezpieczeństwo danych'.


W książce znajdziesz:

Poznaj sposoby wirtualizacji w praktyce!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Michał Mrowiec Projekt okładki: Studio Gravite / Olsztyn Obarek, Pokoński, Pazdrijowski, Zaprucki Fotografia na okładce została wykorzystana za zgodą Shutterstock.com. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie?virtua Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. ISBN: 978-83-246-3724-9 Copyright © Helion 2012 Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treĈci Przedmowa ...................................................................................... 7 Dla kogo jest ta ksiąĪka? .................................................................................................. 7 O autorze .......................................................................................................................... 7 Rozdziaä 1. Wstöp .............................................................................................. 9 Rozdziaä 2. Rodzaje wirtualizacji ....................................................................... 13 Rozdziaä 3. VirtualBox ...................................................................................... 19 3.1. Instalacja VirtualBoksa w systemach MS Windows ................................................ 19 3.2. Tworzenie nowej maszyny wirtualnej ..................................................................... 20 3.3. Instalacja systemu operacyjnego w maszynie wirtualnej ......................................... 23 3.4. VirtualBox Guest Additions .................................................................................... 26 3.5. Konfiguracja sieci .................................................................................................... 28 3.5.1. Konfiguracja sieci w trybie NAT ................................................................... 28 3.5.2. Konfiguracja sieci w trybie mostu (bridge) .................................................... 32 3.5.3. Konfiguracja sieci w trybie mostu z obsáugą tagowanych sieci VLAN 802.1q ............................................................ 35 3.5.4. Pozostaáe tryby pracy sieci w VirtualBoksie .................................................. 37 3.6. Zarządzanie wirtualnymi dyskami ........................................................................... 39 3.6.1. Dodanie nowego dysku do maszyny .............................................................. 39 3.6.2. Import istniejącego dysku do maszyny ........................................................... 41 3.6.3. Klonowanie maszyn wirtualnych ................................................................... 42 3.6.4. Tworzenie i przywracanie migawek systemu ................................................. 43 3.7. Instalacja VirtualBox Extension Pack ...................................................................... 44 3.8. Tryb Seamless (Seamless mode) ............................................................................. 45 3.9. Wsparcie dla USB ................................................................................................... 46 3.10. Wspóádzielone katalogi ......................................................................................... 46 3.11. Instalacja i konfiguracja VirtualBoksa w Linuksie ................................................ 47 3.11.1. Tworzenie maszyny wirtualnej z linii komend ............................................. 48 3.12. Zarządzanie z linii komend — polecenie VBoxManage ........................................ 53 3.12.1. Zaáączanie i wyáączanie maszyny ................................................................. 53 3.12.2. Modyfikacja ustawieĔ maszyny ................................................................... 54 3.13. Automatyczne uruchamianie maszyny wraz ze startem systemu gospodarza ........ 54 Podsumowanie ................................................................................................................ 57 Rozdziaä 4. Wirtualizacja wedäug VMware ......................................................... 59 4.1. Instalacja VMware Player ........................................................................................ 62 4.2. Tworzenie nowej maszyny i instalacja systemu ...................................................... 64 4.3. Uruchamianie maszyny ........................................................................................... 67 Podsumowanie ................................................................................................................ 68 4 Wirtualizacja w praktyce Rozdziaä 5. VMware Server ............................................................................... 69 5.1. Pobieranie plików instalacyjnych ............................................................................ 69 5.1.1. Instalacja w systemach Windows ................................................................... 70 5.1.2. Instalacja w systemach Linux ......................................................................... 71 5.2. Tworzenie nowej maszyny wirtualnej ..................................................................... 73 5.3. Uruchomienie maszyny ........................................................................................... 76 5.4. Instalacja VMware Tools ......................................................................................... 78 5.5. Automatyczne uruchamianie maszyny .................................................................... 79 5.6. Migawki systemu (snapshots) .................................................................................. 79 5.7. Tworzenie linka do maszyny ................................................................................... 81 5.8. Nadawanie uprawnieĔ ............................................................................................. 82 5.8.1. Testowanie uprawnieĔ .................................................................................... 84 5.8.2. Tworzenie nowej roli ...................................................................................... 85 5.9. Przenoszenie maszyny z innego serwera ................................................................. 86 5.10. Obsáuga z linii komend .......................................................................................... 87 5.10.1. WyĞwietlenie spisu uruchomionych maszyn ................................................ 87 5.10.2. WyĞwietlenie wszystkich zarejestrowanych maszyn .................................... 88 5.10.3. Uruchamianie, zatrzymanie i restartowanie maszyny ................................... 88 5.10.4. Uruchamianie programu na zdalnej maszynie .............................................. 89 5.10.5. Pobieranie listy procesów z maszyny wirtualnej .......................................... 89 5.10.6. ZakaĔczanie procesu w maszynie wirtualnej ................................................ 89 5.10.7. Tworzenie migawki z linii komend .............................................................. 90 5.10.8. Przywracanie systemu z migawki ................................................................. 90 5.10.9. Wykonanie zrzutu ekranu maszyny wirtualnej do lokalnego pliku .............. 90 5.11. VMware Server a sieci VLAN ............................................................................... 90 5.11.1. Inne zaawansowane parametry sieciowe ...................................................... 94 Podsumowanie ................................................................................................................ 95 Rozdziaä 6. VMware ESXi ................................................................................. 97 6.1. Przygotowanie do instalacji ..................................................................................... 97 6.2. Instalacja .................................................................................................................. 98 6.3. WstĊpna konfiguracja .............................................................................................. 99 6.4. Konfiguracja przez vSphere Client ........................................................................ 100 6.5. Tworzymy przestrzeĔ dyskową (datastore) ........................................................... 100 6.6. Tworzenie nowej maszyny .................................................................................... 102 6.7. Pierwsze uruchomienie maszyny ........................................................................... 103 6.8. Konfiguracja sieci .................................................................................................. 105 6.8.1. Ustawienie sieci VLAN ................................................................................ 107 6.8.2. Tworzenie grup portów ................................................................................ 108 6.8.3. Tworzenie wirtualnego przeáącznika ............................................................ 111 6.9. Automatyczne uruchamianie maszyn wraz ze startem ESXi ................................. 113 6.10. Tworzenie i przywracanie migawek .................................................................... 114 6.11. Nadawanie uprawnieĔ ......................................................................................... 115 6.11.1. Tworzenie nowej grupy .............................................................................. 116 6.11.2. Tworzenie nowego konta ............................................................................ 117 6.11.3. Nadawanie uprawnieĔ ................................................................................ 117 6.12. Przenoszenie maszyny z innego serwera ............................................................. 119 6.13. Wykorzystanie iSCSI i NFS jako datastore ......................................................... 121 6.13.1. Podáączenie po protokole iSCSI ................................................................. 121 6.14. Instalacja VIMA (vMA) ...................................................................................... 128 6.14.1. Kontrolowanie stanu zasilania maszyny (zatrzymanie, uruchomienie) ....... 131 6.14.2. Opcje związane z ustawieniami sieciowymi ............................................... 131 6.14.3. Perl Toolkit Utility ..................................................................................... 132 Podsumowanie .............................................................................................................. 134 Spis treĈci 5 Rozdziaä 7. VMware Converter ....................................................................... 137 Podsumowanie .............................................................................................................. 140 Rozdziaä 8. Microsoft Virtual PC ..................................................................... 141 8.1. Instalacja i konfiguracja peánej wersji Microsoft Virtual PC ................................. 142 8.1.1. Obsáuga z linii komend ................................................................................. 145 8.2. Instalacja i konfiguracja XP Mode w systemach Windows 7 ................................ 146 8.2.1. Instalacja MS Office 97 w Ğrodowisku wirtualnym ...................................... 148 Podsumowanie .............................................................................................................. 152 Rozdziaä 9. Microsoft Hyper-V ......................................................................... 153 9.1. Instalacja i konfiguracja Microsoft Hyper-V Core ................................................ 153 9.1.1. Podstawowa konfiguracja sieci .................................................................... 155 9.1.2. Zaáączenie zdalnego pulpitu ......................................................................... 155 9.1.3. Doáączenie serwera do domeny Active Directory ........................................ 155 9.1.4. Instalacja aktualizacji (Windows Update) .................................................... 156 9.1.5. Instalacja programu Hyper-V Manager ........................................................ 156 9.2. Tworzenie nowej maszyny wirtualnej ................................................................... 158 9.3. Instalowanie usáug integracji (integration services) ............................................... 160 9.3.1. Instalacja ...................................................................................................... 161 9.4. Konfiguracja sieci .................................................................................................. 163 9.4.1. Problemy z rozpoznaniem wirtualnej karty sieciowej .................................. 166 9.4.2. Obsáuga sieci VLAN .................................................................................... 166 9.5. Konfiguracja iSCSI ................................................................................................ 169 9.6. Automatyczne uruchamianie maszyn wraz ze startem serwera Hyper-V .............. 172 9.7. Zarządzanie serwerem Hyper-V z linii komend (PowerShell) ............................... 173 9.7.1. Skrypt 1 — wyĞwietlenie podstawowych informacji o stanie serwera Hyper-V ........................................................................... 174 9.7.2. Skrypt 2 — uruchomienie wirtualnej maszyny ............................................ 175 9.7.3. Skrypt 3 — skrócony raport o stanie maszyn ............................................... 176 9.7.4. Skrypt 4 — kontrolowanie stanu uruchomienia maszyny ............................ 176 9.7.5. Skrypt 5 — tworzenie migawki systemu ...................................................... 177 9.7.6. Skrypt 6 — ustawienie automatycznego uruchamiania maszyny ................. 177 9.7.7. Skrypt 7 — przydziaá pamiĊci RAM ............................................................ 178 9.8. Przenoszenie istniejących maszyn do Hyper-V ..................................................... 178 9.8.1. Instalacja Virtual Machine Manager Server ................................................. 179 9.8.2. Podáączenie serwera VMM i administrowanie nim ...................................... 179 9.8.3. Migracja fizycznej maszyny do Ğrodowiska Hyper-V (P2V) ....................... 183 Podsumowanie .............................................................................................................. 187 Rozdziaä 10. KVM ............................................................................................ 189 10.1. Instalacja moduáów KVM .................................................................................... 189 10.2. Tworzenie maszyny wirtualnej ............................................................................ 190 10.3. Konfiguracja maszyn z linii komend ................................................................... 195 10.4. Konwersja obrazów maszyny wirtualnej ............................................................. 198 10.5. Podsumowanie ..................................................................................................... 199 Rozdziaä 11. OpenVZ ....................................................................................... 201 11.1. Instalacja Ğrodowiska w systemie Linux Debian ................................................. 202 11.2. Tworzenie nowego VPS-a ................................................................................... 203 11.3. Uruchomienie systemu ........................................................................................ 204 Kontrolowanie stanu pracy kontenerów ................................................................. 206 Pliki konfiguracyjne ............................................................................................... 206 Podsumowanie .............................................................................................................. 213 6 Wirtualizacja w praktyce Rozdziaä 12. Xen ............................................................................................. 215 12.1. Instalacja systemu XenServer .............................................................................. 217 12.2. Tworzenie maszyny wirtualnej ............................................................................ 218 12.3. Aktualizacja sterowników .................................................................................... 220 12.4. Konfiguracja sieci ................................................................................................ 222 12.5. Podáączanie przestrzeni dyskowej po NFS lub iSCSI .......................................... 225 12.6. Tworzenie i przywracanie migawek maszyn ....................................................... 227 12.7. Zarządzanie uprawnieniami ................................................................................. 228 12.8. Administracja z linii komend ............................................................................... 229 12.9. Tworzenie migawki systemu ............................................................................... 231 Podsumowanie .............................................................................................................. 232 Rozdziaä 13. Peäna emulacja na przykäadzie WinUAE ......................................... 233 13.1. Instalacja i uruchomienie emulatora .................................................................... 234 Podsumowanie .............................................................................................................. 235 Podsumowanie ............................................................................. 237 Skorowidz ................................................................................... 241 Przedmowa Celem ksiąĪki jest zapoznanie Czytelnika z ideą wirtualizacji oraz przedstawienie kilku praktycznych przykáadów z wykorzystaniem najpopularniejszych narzĊdzi. W poszcze- gólnych rozdziaáach opisaáem róĪne implementacje maszyn wirtualnych. Dla kogo jest ta ksiñĔka? KsiąĪka adresowana jest gáównie do administratorów systemów, którzy nie mieli jeszcze stycznoĞci z wirtualizacją lub z pewnych wzglĊdów jej unikali. Mam nadziejĊ, Īe w tych kilku rozdziaáach przekonam CiĊ do wirtualizacji albo przynajmniej do przeprowadzenia wáasnych testów. Z drugiej strony, jeĞli wdroĪyáeĞ juĪ produkcyjnie któreĞ z komercyjnych rozwiązaĔ, np. VMware ESXi, to ta ksiąĪka nie jest dla Ciebie — nie dowiesz siĊ z niej prawdopodobnie niczego, czego byĞ juĪ nie wiedziaá. O autorze Nazywam siĊ Marek Serafin, z wyksztaácenia jestem inĪynierem informatykiem. PracujĊ jako administrator sieci w Grupie Wydawniczej Helion SA. Swoją przygodĊ z admini- strowaniem sieci zacząáem w poáowie lat 90., wspóátworząc jedną z pierwszych na ĝląsku duĪych sieci osiedlowych (nieistniejąca juĪ RojcaNet w Radzionkowie). W chwilach wolnych jeĪdĪĊ konno. 8 Wirtualizacja w praktyce Rozdziaä 11. OpenVZ Do tej pory kaĪdy z omawianych programów — czy teĪ produktów wirtualizacyjnych — pozwalaá na instalacjĊ i uruchomienie w wirtualnym Ğrodowisku praktycznie dowolne- go systemu operacyjnego (spoĞród systemów dostĊpnych dla PC). NiezaleĪnie od tego, czy procesor wspieraá sprzĊtowo wirtualizacjĊ, czy nie (peána wirtualizacja ze wsparciem sprzĊtowym lub bez), dla systemu goĞcia dostĊpny byá caáy wirtualny komputer PC. DziĊki temu goszczony system „nie wiedziaá” nawet o fakcie instalacji w wirtualnej maszynie. Takie rozwiązanie jest bardzo wygodne i elastyczne, gdyĪ nie wymaga Īadnej modyfikacji systemu goĞcia (np. jądra systemu lub sterowników). WiąĪĊ siĊ jednak z pewnym narzutem obliczeniowym dla fizycznego komputera i siáą rzeczy wirtu- alny komputer jest mniej wydajny od fizycznej maszyny. Niemniej dziĊki sprzĊtowym rozszerzeniom wspóáczesnych procesorów, a takĪe parawirtualizacyjnym sterownikom urządzeĔ narzut ten jest obecnie niewielki, a wydajnoĞü czĊsto porównywalna z fizyczną maszyną. W tym rozdziale omówiĊ inne podejĞcie do tematu — wirtualizacjĊ opartą na wspóádzie- lonym jądrze systemu. Jak siĊ domyĞlasz, zaletą tej metody jest bardzo wysoka wydaj- noĞü, gdyĪ uruchomione jest tylko jedno jądro, które „obsáuguje” wiele systemów. Oczywistą wadą jest ograniczenie w postaci uruchomienia instancji tych samych sys- temów operacyjnych, a konkretnie systemu Linux. Wirtualne systemy w tym przypadku nazywane są „kontenerami” (ang. container) lub VPS-ami (Virtual Private Server). Przy czym istotne jest to, Īe nie muszą one byü wierną kopią macierzystego systemu. W kontenerach moĪesz, co zostanie zaraz pokazane, uĪywaü róĪnych dystrybucji sys- temu Linux. Ten rodzaj wirtualizacji zainteresuje zapewne tych administratorów, którzy wymagają wysokiej wydajnoĞci, a jednoczeĞnie separacji systemów, np. do Ğwiadczenia usáug ho- stingowych opartych na systemie Linux. OpenVZ dostĊpny jest za darmo (GPL v.2). W jego rozwoju pomaga firma Parallels, która wykorzystuje go w swym komercyjnym produkcie Virtuozzo. 202 Wirtualizacja w praktyce 11.1. Instalacja Ĉrodowiska w systemie Linux Debian Opis instalacji przedstawiĊ na podstawie systemu Linux Debian, gdyĪ szczegóáowy opis dla dystrybucji Fedora, RedHat i CentOS moĪna znaleĨü na stronie projektu: http://wiki.openvz.org/Quick_installation Tak naprawdĊ caáy proces sprowadza siĊ do zainstalowania nowego jądra systemu i paru dodatkowych pakietów. W systemach opartych na dystrybucji RedHat zainstalujesz kilka pakietów RPM, w Debianie natomiast ich odpowiedniki DEB. Konfiguracja zaĞ wygląda tak samo lub bardzo podobnie we wszystkich dystrybucjach. InstalacjĊ w Debianie przeprowadzimy z gotowych paczek. W tym celu musimy zain- stalowaü specjalnie przygotowane jądro systemu Linux. Zaloguj siĊ jako root i wpisz polecenie: root@debian:/# apt-cache search openvz |grep linux-image linux-image-2.6-openvz-amd64 - Linux 2.6 for 64-bit PCs (meta-package), OpenVZ support linux-image-openvz-amd64 - Linux for 64-bit PCs (meta-package), OpenVZ support linux-image-2.6.32-5-openvz-amd64-dbg - Debugging infos for Linux 2.6.32-5-openvz-amd64 linux-image-2.6.32-5-openvz-amd64 - Linux 2.6.32 for 64-bit PCs, OpenVZ support Skopiuj do schowka nazwĊ pakietu — w moim przypadku jest to linux-image-2.6.32-5- ´-openvz-amd64 — a nastĊpnie zainstaluj go. W tym celu wpisz polecenie: root@debian:/# apt-get install linux-image-2.6.32-5-openvz-amd64 Nie przejmuj siĊ skrótem „AMD” w nazwie pakietu. Jądro dziaáa takĪe na procesorze Intel (AMD okreĞla tu architekturĊ PC-64bit, a nie producenta procesora). Oprócz ją- dra systemu zostaną zainstalowane dodatkowe pakiety (m.in. vzctl, vzquota), sáuĪące go kontroli pracy maszyn VPS. Niestety, nie obejdzie siĊ bez ponownego uruchomienia komputera. ZauwaĪ podczas niego, Īe zostaáo dodane nowe — domyĞlne jądro, z którego system Linux zostanie uruchomiony (w moim przypadku: Linux 2.6.32-5-openvz-amd64). W pierwszej kolejnoĞci po uruchomieniu systemu z „nowego” jądra musimy zmodyfiko- waü kilka jego parametrów. W tym celu musimy nanieĞü zmiany w pliku /etc/sysctl.conf (wszystkie dystrybucje) — patrz listing 11.1. Listing 11.1. ZawartoĞü pliku /etc/sysctl.conf # On Hardware Node we generally need # packet forwarding enabled and proxy arp disabled net.ipv4.ip_forward = 1 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.default.proxy_arp = 0 Rozdziaä 11. i OpenVZ 203 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # We do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 Jak widzisz, chodzi gáównie o zaáączenie przekazywania pakietów (zaáączenie routingu) i wyáączenie Proxy ARP. GdybyĞ chciaá przekleiü sobie wszystkie potrzebne linie pliku sysctl.conf (aby unik- nąü literówki), wejdĨ na stronĊ internetową: http://wiki.openvz.org/Quick_installation#Configuring Po naniesieniu zmian w pliku musisz je „aktywowaü”, wpisując polecenie (jednorazowo): root@debian:~# sysctl –p Tyle, jeĞli chodzi o konfiguracjĊ Ğrodowiska. Dla pewnoĞci moĪesz siĊ upewniü, czy po wpisaniu komendy: lsmod | grep vz zobaczysz listĊ zaáadowanych moduáów jądra, takich jak: vzethdev, vznetdev, vzrst, vzcpt, vzmon, vzdquota, vzdev, vzevent. 11.2. Tworzenie nowego VPS-a W tym momencie powinniĞmy utworzyü nową maszynĊ, uruchomiü ją i zainstalowaü system z noĞnika. W przypadku OpenVZ sprawa wygląda jednak trochĊ inaczej. Zamiast instalowaü caáy system z noĞnika, instalujemy tylko jego „szablon” (ang. template). Odpowiednie szablony są dostĊpne na stronie projektu — kaĪdy dla osobnej dystry- bucji. ZaáóĪmy, Īe drugim (wirtualnym) systemem ma byü 64-bitowy CentOS. WejdĨ zatem na poniĪszą stronĊ internetową: http://download.openvz.org/template/precreated/ i odszukaj paczkĊ odpowiadającą systemowi, który chcesz zainstalowaü — w opisywa- nym przypadku bĊdzie to plik o nazwie centos-6-x86_64.tar.gz. Pobierz plik i umieĞü go w katalogu /var/lib/vz/template/cache systemu macierzystego (katalog powinien juĪ istnieü). root@debian:~# cd /var/lib/vz/template/cache wget http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz 204 Wirtualizacja w praktyce NastĊpnie wpisz polecenie: vzctl create 101 --ostemplate centos-6-x86_64 gdzie 101 to numeryczny identyfikator systemu wirtualnego, a centos-6-x86_64 to nazwa szablonu. W wyniku powinieneĞ po paru sekundach zobaczyü komunikat informujący o utworzeniu przestrzeni dla nowego systemu (kontenera) — patrz listing 11.2. Listing 11.2. Tworzenie nowego kontenera root@debian:~# vzctl create 101 --ostemplate centos-6-x86_64 Creating container private area (centos-6-x86_64) Performing postcreate actions Container private area was created NastĊpnie nadaj nazwĊ systemowi. W tym celu wpisz polecenie: vzctl set 101 --hostname centos64 --save Przypisz takĪe systemowi adres IP: vzctl set 101 --ipadd 10.6.8.114 –save Adres IP podajemy bez maski podsieci, nawet gdy ta jest „nietypowa” dla danej klasy adresowej. Ewentualne problemy z routingiem rozwiąĪemy póĨniej. Po prostu parametr --ipadd nie rozpoznaje parametru maski podsieci. MoĪesz zdefiniowaü od razu serwer DNS. W tym celu wpisz polecenie: vzctl set 101 --nameserver 1.2.3.4 –save JeĞli chcesz, aby „wirtualny” system uruchamiany byá automatycznie wraz ze startem macierzystego systemu, wpisz polecenie: vzctl set 101 --onboot yes –save 11.3. Uruchomienie systemu Nadszedá czas, aby uruchomiü nasz wirtualny system (VPS). Wpisz wiĊc polecenie: vzctl start 101 Na ekranie powinieneĞ zobaczyü komunikaty takie, jak na listingu 11.3. Listing 11.3. Uruchomienie wirtualnego systemu o ID 101 root@debian:~# vzctl start 101 Starting container ... Container is mounted Adding IP address(es): 10.6.8.114 Setting CPU units: 1000 Set hostname: centos64 File resolv.conf was modified Container start in progress... Rozdziaä 11. i OpenVZ 205 Aby „poáączyü” siĊ z naszym wirtualnym systemem o identyfikatorze 101, skorzystamy z programu vzctl. Wpisz polecenie vzctl enter 101. Spójrz na listing 11.4. Listing 11.4. Podáączanie siĊ do wirtualnego systemu root@debian:~# vzctl enter 101 entered into CT 101 root@centos64:/# root@centos64:/# ping onet.pl PING onet.pl (213.180.146.27) 56(84) bytes of data. 64 bytes from s4.m1r2.onet.pl (213.180.146.27): icmp_req=1 ttl=51 time=10.8 ms 64 bytes from s4.m1r2.onet.pl (213.180.146.27): icmp_req=2 ttl=51 time=10.6 ms Zwróü uwagĊ (patrz listing 11.4) na zmianĊ nazwy systemu z debian na centos64 (tzw. „login promt”). Nastąpiáo przeáączenie konsoli — do systemu wirtualnego. Jak widaü na listingu, w systemie sieü dziaáa poprawnie. Aby „wyjĞü” z wirtualnego sys- temu i powróciü do macierzystego, naciĞnij kombinacjĊ klawiszy Ctrl+D. Przedtem jednak warto zdefiniowaü hasáo uĪytkownika root, uĪywając standardowego polecenia passwd. ZauwaĪ, Īe domyĞlnie w nowym systemie dziaáa juĪ usáuga serwera SSH oraz serwer http Apache 2. W przeciwieĔstwie do wczeĞniej omawianych rozwiązaĔ wirtualizacyjnych system plików wirtualnych systemów nie jest przechowywany w jednym pliku (obrazie dysku), lecz dostĊpny bezpoĞrednio w strukturze katalogów systemu macierzystego. DomyĞl- nie pliki VPS-ów przechowywane są w katalogu: /var/lib/vz/private/{VPS_ID}/ Przy czym w momencie uruchomienia maszyny caáa struktura pojawia siĊ takĪe w katalogu: /var/lib/vz/root/{VPS_ID}/ Dzieje siĊ tak dlatego, Īe w momencie uruchomienia VPS-a tworzone są „twarde linki” do plików w katalogu /var/lib/vz/private/. Idea jest taka, Īeby nie ruszaü rĊcznie plików w katalogu private. JeĞli chcesz zmodyfikowaü zawartoĞü systemu wirtualnego z poziomu systemu macierzystego, naleĪy zmodyfikowaü zawartoĞü katalogu /var/lib/vz/root/ {VPS_ID}/. Skoro jesteĞmy przy omawianiu systemu plików, wspomnĊ o moĪliwoĞci „wspóádzielenia” katalogów pomiĊdzy systemem nadrzĊdnym a VPS-em. Przykáadowo gdybyĞ chciaá „podmontowaü” katalog /data/shared systemu macierzystego w konte- nerze o identyfikatorze 101, naleĪy w systemie macierzystym wpisaü polecenie: mount --bind /data/shared/ /var/lib/vz/root/101/mnt/shared W tym momencie w kontenerze 101 zobaczysz zamontowany zasób w katalogu /mnt/shared (patrz listing 11.5). Listing 11.5. Zamontowany katalog gospodarza w systemie wirtualnym [root@centos64 /]# mount | grep shared /dev/disk/by-uuid/a670d536-c84a-417c-bc47-e6e1b36c93ce on /mnt/shared 206 Wirtualizacja w praktyce OczywiĞcie równie dobrze mógábyĞ wykorzystaü w tym celu protokóá NFS, ale wią- zaáoby siĊ to z pewnym spadkiem wydajnoĞci wynikającym z narzutu obsáugi NFS. Kontrolowanie stanu pracy kontenerów Zamykanie wirtualnej maszyny vzctl stop ID_maszyny Restart maszyny vzctl restart ID_maszyny Usuwanie maszyny vzctl destroy ID_maszyny ListĊ dostĊpnych maszyn (kontenerów) moĪesz sprawdziü za pomocą polecenia vzlist –a. Pomijając parametr -a, uzyskasz listĊ aktualnie uruchomionych systemów. Wpisz polecenie vzlist –L, aby uzyskaü listĊ dostĊpnych argumentów, które moĪesz pobraü przy uĪyciu polecenia vzlist –o. Przykáadowo aby pobraü status (running lub stopped) konkretnej maszyny, wpisz: vzlist 101 -Ho status. W wyniku otrzymasz sam ciąg znaków running lub stopped, bez dodatkowych informacji tekstowych (przydatne podczas tworzenia skryptów shellowych). Uruchamianie programu w maszynie Aby uruchomiü program bez „wchodzenia” do maszyny, wystarczy wpisaü polecenie: vzctl exec 101 ps aux gdzie 101 to oczywiĞcie identyfikator kontenera. Polecenie to moĪesz wykorzystaü podczas tworzenia róĪnego rodzaju skryptów automatyzujących pewne zadania. Pliki konfiguracyjne /etc/vz/vz.conf — globalny plik konfiguracyjny /etc/vz/conf/*.conf — pliki konfiguracyjne kontenerów W plikach konfiguracyjnych kaĪdego z kontenerów moĪesz zdefiniowaü przede wszystkim ograniczenia zasobów wirtualnego Ğrodowiska, takie jak dostĊpna pamiĊü, liczba moĪliwych do uruchomienia procesów czy ograniczenia pojemnoĞci dysku. Skáad- nia pliku konfiguracyjnego najczĊĞciej przybiera postaü PARAMETR=bariera:limit, co przez analogiĊ do limitów nakáadanych na dysk moĪna porównaü do soft quota i hard quota. Rozdziaä 11. i OpenVZ 207 SkáadniĊ pliku konfiguracyjnego moĪesz sprawdziü, uĪywając polecenia vzcfgvalidate. PoniĪej przedstawiam opis najwaĪniejszych parametrów, które wpáywają na dostĊpne zasoby kontenera VPS:  KMEMSIZE — limit wielkoĞci pamiĊci jądra wyraĪonej w bajtach. Na wielkoĞü zaalokowanej pamiĊci jądra wpáywa liczba uruchomionych procesów, gdyĪ kaĪdy utworzony proces implikuje alokacjĊ 40 – 60 KB (przeciĊtnie) pamiĊci jądra. WeĨmy dla przykáadu domyĞlną wartoĞü KMEMSIZE= 14372700:14790164 . Zwróü uwagĊ na róĪnicĊ pomiĊdzy barierą a limitem. DziĊki istnieniu bariery jądro „zawczasu” nie pozwoli na utworzenie nowego procesu (gdy zajĊtoĞü osiągnie wartoĞü bariery). Gdyby wyrównaü te parametry, mogáoby dojĞü do sytuacji, w której jądro musiaáoby „ubijaü” istniejące procesy uruchomione w kontenerze. Nie naleĪy myliü pamiĊci jądra z pamiĊcią dostĊpną dla aplikacji (patrz poniĪej).  PRIVVMPAGES — maksymalna iloĞü pamiĊci RAM dostĊpna dla danego VPS. WielkoĞü wyraĪona jest w stronach (ang. pages), dlatego wartoĞü stron naleĪy pomnoĪyü przez 4096, aby uzyskaü wynik w bajtach (lub odwrotnie — oczekiwany przydziaá w bajtach podzieliü przez 4096, aby uzyskaü liczbĊ stron). Przykáadowo jeĞli chcesz, aby dany kontener nie przekroczyá 1 GB RAM-u, musisz przypisaü barierĊ na 262 144 strony. Przy wiĊkszej liczbie kontenerów naleĪy to dokáadnie przemyĞleü. Zakáadając, Īe nie kaĪdy z kontenerów wykorzystuje w danej chwili dostĊpny dla niego RAM w 100 , moĪesz sumarycznie zadeklarowaü wiĊcej pamiĊci RAM, niĪ posiada komputer. W praktyce wszystko zaleĪy od rzeczywistego obciąĪenia VPS-ów. Twórcy OpenVZ zalecają, aby poszczególne kontenery nie mogáy zaalokowaü wiĊcej niĪ 0,6 caákowitej pamiĊci RAM. Tzn. dla kaĪdego z kontenerów speániony winien byü warunek: PRIVVMPAGES * 4096 iloħè 0.6 * RAM W przeciwnym razie juĪ pojedynczy kontener mógáby doprowadziü do „swapowania”, co oczywiĞcie wpáynie negatywnie na wydajnoĞü caáego systemu.  VMGUARPAGES — gwarantowana wielkoĞü pamiĊci RAM dostĊpnej dla danego VPS-a; takĪe wyraĪona w stronach (ang. pages). Bariera VMGUARPAGES musi byü mniejsza od bariery PRIVVMPAGES, która jest nieprzekraczalną granicą dla VPS- a. Z technicznych wzglĊdów skáadnia dla VMGUARPAGES powinna mieü wartoĞü: VMGUARPAGES= BARIERA:9223372036854775807 tzn. limit powinien byü ustawiany „na sztywno” — na maksymalną wartoĞü. Jak wspominaáem, i tak nie ma moĪliwoĞci, aby VPS przekroczyá wartoĞci bariery PRIVVMPAGES.  NUMPROC — maksymalna liczba moĪliwych do utworzenia procesów w kontenerze. Jak wspomniaáem, na liczbĊ moĪliwych do uruchomienia procesów ma takĪe wpáyw wielkoĞü dostĊpnej pamiĊci jądra (patrz KMEMSIZE). Innymi sáowy, przydzielenie zbyt maáej pamiĊci jądra ograniczy teĪ liczbĊ moĪliwych do uruchomienia procesów. W praktyce limity pamiĊci dziaáają tak, Īe dopóki iloĞü zaalokowanej przez kontener pamiĊci nie przekracza bariery VMGUARPAGES, aplikacje uruchomione w kontenerze mogą dalej alokowaü pamiĊü (i mają gwarancjĊ jej przydzielenia). JeĞli bieĪące zuĪycie 208 Wirtualizacja w praktyce RAM-u przez kontener przekracza barierĊ gwarantowaną, ale nie przekracza bariery maksymalnego zuĪycia (PRIVVMPAGES), operacja alokacji moĪe, ale nie musi siĊ po- wieĞü. ZaleĪy to od iloĞci dostĊpnej w danym momencie pamiĊci wirtualnej caáego komputera (RAM + SWAP), czyli od „aktywnoĞci” systemu macierzystego i pozo- staáych kontenerów. Parametr VMGUARPAGES jest o tyle istotny, Īe jest odpowiednikiem parametru CIR znanego z terminologii sieciowej, czyli pasma gwarantowanego. W szcze- gólnoĞci dostawcy usáug hostingowych winni zwróciü na niego uwagĊ. Twórcy OpenVZ zalecają, aby wielkoĞü systemowego „swapa” stanowiáa mniej wiĊcej dwukrotnoĞü fizycznej wielkoĞci pamiĊci RAM. Nie zaleca siĊ przesadzaü ze swa- pem, np. mającym wielkoĞü odpowiadającą 10-krotnoĞci pamiĊci RAM, gdyĪ wpáy- nie to negatywnie na wydajnoĞü systemu. Skoro juĪ jesteĞmy przy ograniczaniu zasobów, muszĊ wspomnieü o specjalnym pliku /proc/user_beancounters, który zawiera informacje oraz statystyki (liczniki) związane z bieĪącym dziaáaniem uruchomionych kontenerów. JeĞli przeglądasz plik z poziomu wirtualnego systemu, zobaczysz statystyki tylko dla tego kontenera. Z poziomu sys- temu macierzystego dostĊpne są statystyki dotyczące wszystkich systemów. W ko- lumnie uid odnajdziesz identyfikator kaĪdego z kontenerów. W nastĊpnych kolumnach moĪesz znaleĨü bieĪące oraz maksymalnie uĪyte zasoby (dotyczące kmem, privvmpages, numproc, physpages itd.), a takĪe informacje o bieĪących limitach. Szczególnie istotna jest kolumna failcnt, w której moĪesz odczytaü, ile razy Īądana operacja nie powio- dáa siĊ (np. alokacja pamiĊci, utworzenie nowego procesu czy gniazda sieciowego). Zróbmy dla przykáadu prosty test. Ograniczmy parametr KMEMSIZE maszyny o identy- fikatorze 101 do wartoĞci 3 593 174 (okoáo 3,5 MB przydzielonej pamiĊci jądra). Na- stĊpnie napiszmy prosty skrypt shellowy, który w pĊtli spróbuje uruchomiü 300 pro- cesów (np. 300 razy uruchomiü program top). Jak wspomniaáem, utworzenie nowego procesu alokuje pewną iloĞü pamiĊci jądra, stąd ograniczenie tej pamiĊci powinno skutkowaü niemoĪnoĞcią utworzenia nieskoĔczonej liczby procesów. Ustaw wspo- mniane ograniczenie dla maszyny o numerze 101 i uruchom ją ponownie. NastĊpnie przeáącz siĊ do konsoli wspomnianej maszyny i utwórz w niej skrypt pokazany na li- stingu 11.6. Listing 11.6. Skrypt, którego zadaniem jest uruchomienie w tle stu procesów programu top #!/bin/sh for i in `seq 1 100` ; do echo $i top done NastĊpnie uruchom skrypt i zobacz, co siĊ stanie (patrz listing 11.7). Listing 11.7. Próba uruchomienia skryptu [root@centos64 /]# ./skr1.sh 1 2 3 5 6 Rozdziaä 11. i OpenVZ 209 ./skr1.sh: fork: Cannot allocate memory ./skr1.sh: fork: Cannot allocate memory ./skr1.sh: fork: Cannot allocate memory Jak widzisz, nie udaáo nam siĊ wywoáaü stu instancji programu top. Podejrzyj teraz zawartoĞü pliku /proc/user_beancounters. Zwróü uwagĊ na wartoĞü kolumny failcnt przy pozycji kmemsize. Wróü jeszcze raz do edycji pliku konfiguracyjnego kontenera 101 i przywróü poprzednią wartoĞü parametru KMEMSIZE, a jednoczeĞnie zmniejsz wartoĞü bariery parametru NUMPROC (liczba procesów). Uruchom ponownie maszynĊ o identyfikatorze 101 i spróbuj znów wykonaü ten sam skrypt. Jak siĊ domyĞlasz, skrypt ponownie przestanie dziaáaü (patrz listing 11.8). Podejrzyj teraz zawartoĞü pliku /proc/user_beancounters i zwróü tym razem uwagĊ na zawartoĞü kolumny failcnt przy pozycji numproc. Listing 11.8. Ponowna próba uruchomienia skryptu przy obniĪonej wartoĞci bariery NUMPROC top: failed tty get top: failed tty get top: failed tty get top: failed tty get ./skr1.sh: fork: Cannot allocate memory ./skr1.sh: fork: Cannot allocate memory ./skr1.sh: fork: Cannot allocate memory ./skr1.sh: fork: Cannot allocate memory Skoro juĪ mowa o „procesach”, warto wspomnieü, iĪ z poziomu systemu gospodarza widoczne są wszystkie procesy kontenerów. Oznacza to, Īe jeĞli w systemie gospoda- rza uruchomisz program top lub uĪyjesz polecenia ps aux, w wyniku zobaczysz takĪe procesy kontenerów. Nic w tym dziwnego, wszak systemy te wykorzystują to samo jądro. Mając uprawnienia uĪytkownika root, moĪesz normalnie wymuszaü zakoĔczenie tych procesów. Przykáadowy wycinek polecenia ps przedstawiáem na listingu 11.9. Zwróü uwagĊ na identyfikator kontenera widniejący na liĞcie. Listing 11.9. Procesy kontenera widziane z poziomu systemu gospodarza root@debian:~# ps auxww|grep make root 29250 0.0 0.0 101168 1116 /var/lib/vz/root/101/dev/pts/0 S+ 15:10 ´0:00 make -e PLATFORM=linux-x86_64 PROCESSOR= CC=gcc RĊczne przeglądanie pliku /proc/user_beancounters nie naleĪy do wygodnych, dlatego napisano kilka skryptów uáatwiających to zadanie. Jednym z nich jest userbeans.sh, który moĪesz pobraü ze strony: http://amos.freeshell.org/userbeans.sh Pobierz skrypt, nadaj mu uprawnienia wykonywalnoĞci i uruchom w wirtualnym Ğro- dowisku. W tym celu wpisz polecenie ./userbeans.sh +a (patrz listing 11.10). Listing 11.10. Wynik dziaáania skryptu userbeans.sh +a [root@centos64 skrypty]# ./userbeans.sh +a ----------------------------------------------- Processing UBC version 2.5 for VEID: 101 210 Wirtualizacja w praktyce Thu Oct 6 17:12:01 MSD 2011 centos64 17:12:01 up 1 min, 0 users, load average: 0.00, 0.00, 0.00 ----------------------------------------------- 272 MB Allocation Limit [privvmpages limit] ****** only high value processes have a chance in this range ****** having this safety range is important to permit critical processes 256 MB Allocation Barrier [privvmpages barrier] ****** allocation requests in this range have a chance 132 MB Allocation Guarantee [vmguarpages barrier] ****** allocation will succeed in this range 102 MB Memory Guarantee [oomguarpages barrier] 39 MB ( 55 MB Max) page memory allocated [privvmpages held] 10 MB ( 10 MB Max) memory + swap used [oomguarpages held] 10 MB ( 10 MB Max) page memory used [physpages held] 14 MB ( 14443 KB) kernel memory limit [kmemsize limit] ****** a safety range here, between limit and barrier, is important 13 MB ( 14035 KB) kernel memory barrier [kmemsize barrier] 2 MB ( 2581 KB) kernel memory used [kmemsize held] 0 MB ( 103 KB) buffer memory used [*buf held] ----------------------------------------------- Used : Max_Used : Limit for Other Resources 397 428 9312 numfile 3 3 206 numflock 14 14 128 numiptent 26 28 360 numothersock 18 19 80 numproc 1 1 16 numpty 0 2 256 numsiginfo 3 4 360 numtcpsock ----------------------------------------------- Dodając do skryptu odpowiednie przeáączniki, moĪesz ograniczyü wyĞwietlany wynik do poĪądanych parametrów (pamiĊü jądra, liczba procesów itd.). Innym uĪytecznym poleceniem sáuĪącym do podglądu bieĪącego uĪycia zasobów jest vzcalc. Limitowanie zasobów CPU Oprócz ograniczenia pamiĊci przyda Ci siĊ zapewne ustawienie limitów czasu proce- sora (procesorów). Z limitem CPU związane są dwa polecenia: cpulimit i cpuunits. Pierwsze z nich okreĞla procentowy przydziaá czasu procesora dla danego kontenera. Przykáadowo jeĞli chcesz, aby dany kontener nie przekroczyá 25 czasu procesora, musisz wpisaü poniĪsze polecenie: vzctl set 101 --cpulimit 25 --save ZauwaĪ, Īe limit dotyczy pojedynczego rdzenia. JeĞli dysponujesz maszyną wielopro- cesorową, naleĪy wziąü to pod uwagĊ. Przykáadowo w przypadku 4-rdzeniowej ma- szyny ustawienie limitu na 100 oznaczaü bĊdzie, Īe kontener bĊdzie miaá do dys- pozycji jeden rdzeĔ, na 200 — dwa rdzenie itd. Zwróü uwagĊ, Īe w przypadku limitowania procentowego nawet jeĞli komputer „nudzi siĊ”, VPS nie moĪe „przesko- czyü” swojego limitu przydziaáu. Rozdziaä 11. i OpenVZ 211 Drugą metodą jest ograniczenie przydziaáu jednostek CPU. àatwiej wyjaĞni to poniĪszy przykáad: root@debian:~#vzctl set 101 --cpuunits 1000 --save root@debian:~#vzctl set 102 --cpuunits 2000 --save root@debian:~#vzctl set 103 --cpuunits 3000 –save JeĞli teraz w kaĪdym z kontenerów uruchomisz operacje mocno obciąĪające procesor (jak np. kompilacja kernela), to przydziaá czasu procesora bĊdzie rozkáadaá siĊ nastĊ- pująco: maszyna 103 bĊdzie miaáa do dyspozycji trzy razy wiĊcej czasu niĪ maszyna 101, a maszyna 102 dwa razy wiĊcej niĪ 101. Innymi sáowy, maszyna 101 otrzyma 1/6 czasu procesora, maszyna 102 — 1/3, a maszyna 103 poáowĊ czasu procesora. Limitowanie dysku (disk quota) Aby ustawiü kontenerowi 101 ograniczenie dysku, np. 30 GB bariera (tzw. soft quota) i 33 GB limit (tzw. hard quota), wpisz polecenie: vzctl set 101 --diskspace 30G:33G –save NastĊpnie zaloguj siĊ do kontenera i sprawdĨ za pomocą polecenia df -h dostĊpną pojemnoĞü. Gdyby zaszáa potrzeba zwiĊkszenia liczby indów, moĪesz to zrobiü, uĪy- wając polecenia: vzctl set 101 --diskinodes bariera : limit Limitowanie parametrów sieciowych W pliku konfiguracyjnym danego kontenera moĪesz zdefiniowaü takĪe ograniczenia związane z obsáugą TCP/IP. WartoĞü limitów przekáada siĊ na zuĪycie zasobów komputera (im wiĊcej otwartych poáączeĔ, tym wiĊcej zaalokowanej pamiĊci i wiĊcej pracy dla procesora).  NUMTCPSOCK — maksymalna liczba utworzonych gniazd protokoáu TCP (tylko TCP). W tym przypadku bariera powinna byü równa limitowi.  NUMOTHERSOCK — jak wyĪej, tylko dla wszystkich pozostaáych gniazd — UDP, gniazd Unix. Analogicznie jak powyĪej, wartoĞci bariery i limitu winny byü równe. WiĊcej na temat ograniczania zasobów kontenerów moĪesz przeczytaü na stronie projektu OpenVZ: http://wiki.openvz.org/UBC_primary_parameters http://wiki.openvz.org/UBC_systemwide_configuration Filtrowanie pakietów w kontenerach (iptables) Systemy wirtualne VPS mogą uĪywaü swojego firewalla (iptables) wraz z wszyst- kimi dostĊpnymi moduáami. DomyĞlnie dostĊpne są moduáy iptables wymienione w globalnym pliku konfiguracyjnym. JeĞli chciaábyĞ dodaü jakiĞ niestandardowy moduá, 212 Wirtualizacja w praktyce musisz dopisaü go do listy moduáów w pliku /etc/vz/vz.conf (patrz listing 11.11). OczywiĞcie najpierw moduá ten musi obsáugiwaü samo jądro. Listing 11.11. DomyĞlne moduáy iptables IPTABLES= ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ´ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length Skáadnia programu iptables jest taka sama jak w standardowym systemie, wiĊc jej opis pominĊ. Archiwizowanie kontenerów Do tworzenia backupów sáuĪy program vzdump. Prawdopodobnie bĊdziesz go musiaá dodatkowo zainstalowaü z paczek. W przypadku Debiana wpisz polecenie: apt-get install vzdump W pierwszej kolejnoĞci utworzymy peáne archiwum .tar kontenera. W tym celu wpisz po prostu polecenie vzdump ID_kontenera (patrz listing 11.12). Listing 11.12. Tworzenie archiwum kontenera root@debian:~# vzdump 101 INFO: starting new backup job: vzdump 101 INFO: Starting Backup of VM 101 (openvz) INFO: CTID 101 exist mounted running INFO: status = CTID 101 exist mounted running INFO: mode failure - unable to detect lvm volume group INFO: trying suspend mode instead INFO: backup mode: suspend INFO: bandwidth limit: 10240 KB/s INFO: starting first sync /var/lib/vz/private/101/ to /var/lib/vz/dump/vzdump- ´openvz-101-2011_10_08-06_35_52.tmp W wyniku otrzymasz plik o nazwie vzdump-openvz-{ID}-{bieĪąca-data}.tar, np. vzdump-openvz-101-2011_10_08-06_35_52.tar. Aby przywróciü tak utworzone ar- chiwum .tar, w pierwszej kolejnoĞci naleĪy usunąü kontener, a nastĊpnie przywróciü archiwum i uruchomiü kontener (patrz listing 11.13). Listing 11.13. Przywracanie kontenera z archiwum root@debian:~# vzctl stop 102 Stopping container ... Container was stopped Container is unmounted root@debian:~# vzctl destroy 102 Destroying container private area: /var/lib/vz/private/102 Container private area was destroyed Rozdziaä 11. i OpenVZ 213 root@debian:~# vzrestore /var/lib/vz/dump/vzdump-openvz-102-2011_10_08-07_10_28.tar 102 INFO: restore openvz backup /var/lib/vz/dump/vzdump-openvz-102-2011_10_08- ´07_10_28.tar using ID 102 INFO: extracting archive /var/lib/vz/dump/vzdump-openvz-102-2011_10_08-07_10_28.tar INFO: Total bytes read: 758855680 (724MiB, 294MiB/s) INFO: extracting configuration to /etc/vz/conf/102.conf INFO: restore openvz backup /var/lib/vz/dump/vzdump-openvz-102-2011_10_08- ´07_10_28.tar successful root@debian:~# vzctl start 102 Starting container ... Initializing quota ... Container is mounted Adding IP address(es): 10.6.8.115 Setting CPU units: 5000 Set hostname: centos2 File resolv.conf was modified Container start in progress... Podsumowanie Podstawową zaletą OpenVZ jest wysoka wydajnoĞü wirtualnych kontenerów. Brak narzutu warstwy wirtualizacji sprzĊtu czy koniecznoĞci uruchamiania dodatkowego jądra powoduje, Īe osiągamy wydajnoĞü praktycznie tĊ samą co macierzysty system, przy jednoczesnym zachowaniu separacji Ğrodowisk. Polecam Ci przeprowadzenie wáasnych testów, np. porównanie czasu kompilacji programów w kontenerach i w macie- rzystym systemie. Dodatkową zaletą są duĪe moĪliwoĞci nakáadania ograniczeĔ (limitów) na poszczególne kontenery, a takĪe áatwoĞü robienia backupów (np. poprzez zwykáy rsync). DziĊki wymienionym wáaĞciwoĞciom OpenVZ jest czĊsto uĪywany przez do- stawców usáug hostingowych lub firmy, które potrzebują uruchomiü wiele odseparo- wanych od siebie systemów Linux. JeĪeli masz w firmie dziaáający serwer linuksowy i chciaábyĞ uruchomiü kilka dodatkowych „wirtualek” linuksowych — takĪe w tym przypadku wybór OpenVZ jest godny polecenia. Skorowidz A C ACPI, 78, 104 acpi Power off, 78 Active Directory, 115, 118 adres IP macierzy dyskowej, 169 adres IP serwera Hyper-V, 163 adres MAC, 32 adresy serwerów DNS, 119 akceptacja licencji sáowem yes, 71 Amiga, 233 aplikacja AQEMU, 189, 190 VMware vCenter, 97 VMware vSphere Client, 97 vSphere Client, 106, 129 Web Access, 95 XenCenter, 223 aplikacje dostĊpne w menu Start systemu Windows 7, 149 AQEMU, 189, 190 archiwizowanie kontenerów, 212 Automatic Startup, 113 automatyczne aktualizacje, 147 automatyczne aktualizowanie wirtualnych systemów XP, 152 automatyczne przywracanie systemu, 81 automatyczne uruchamianie maszyny, 54, 79, 113 B bazy danych SQL, 238 bezpieczeĔstwo, 237 bezpieczeĔstwo dostĊpu do konsoli, 112 bezpieczne zamykanie systemu, 161 biblioteka Net Framework 4.0, 221 biblioteka PowerShell Management Library for Hyper-V, 173 Boot Priority, 192 bootloader GRUB, 198 CD-ROM, 75 ciągáa dostĊpnoĞü zasobów (ang. high availability), 60 Commandline, 87 compatibility list, 135 czas kompilacji, 198 D Data Recovery, 128 datastore, 100, 121 Debian Linux z Windows 7, 67 DHCP, 110 disk quota, 211 dodanie ESX do domeny, 118 dodatek VMware Console Plugin, 76 dodawanie dysku twardego do maszyny wirtualnej, 39 dodawanie wspóádzielonego katalogu, 47 doáączenie serwera do domeny Active Directory, 155 domena rozgáoszeniowa, 35 dostĊp do konsoli, 60 downgrade, 152 dwie karty sieciowe, 34 Dynamicznie rozszerzany obraz, 22 E emulacja API, 15 emulator Amigi, 233, 236 emulator QEMU, 189 F Fibre Channel, 60, 97 filtrowanie pakietów w kontenerach, 211 firewall, 211 firma Citrix, 215 XenSource, 215 fizyczny interfejs serwera, 111 flaga SVM, 17 flaga VMX, 17 flagi, 17 format QCOW2, 199 RAW, 199 VDI, 199 VHD, 199 VMDK, 199 FQDN, 119 G globalne ustawienia serwera, 116 globalny plik konfiguracyjny, 211 grupy portów, 105 Guest Additions, 78 guest operating system, 16 H HBA, 121 High Availability, 128 host operating system, 15 hotspare, 121 Hyper-V, 187 automatyczne uruchamianie maszyny, 172, 177 domena Active Directory, 155 Hyper-V Manager, 156 instalacja aktualizacji, 156 konfiguracja iSCSI, 169 konfiguracja sieci, 155, 163 linia komend, 173 maszyna wirtualna, 158 obsáuga sieci VLAN, 166 przydziaá RAM, 178 pulpit zdalny, 155 raport o stanie maszyn, 176 242 Wirtualizacja w praktyce Hyper-V stan maszyny, 176 tworzenie migawki systemu, 177 uruchomienie wirtualnej maszyny, 175 usáugi integracji, 160 Windows Update, 156 wirtualna karta sieciowa, 166 wyĞwietlenie podstawowych informacji, 174 Hyper-V Core, 153, 154 hypervisor, 16 hyperwizor, 13, 16 hyperwizor typu 1, 16 hyperwizor typu 2, 16 hyperwizor Xen, 215 hyperwywoáania, 14 I identyfikator UUID, 198 import dysku, 41 informacja o VLAN-ie, 108 Infrastructure Management Assistant, 97, 128 inicjalizacja dysku, 41 inicjator, 121 instalacja usáug integracji w systemie Debian, 163 dodatkowych sterowników, 144 dodatku Guest Additions, 27 konfiguracja VirtualBoksa w Linuksie, 47 Microsoft Hyper-V Core, 153 moduáów KVM, 189 MS Office 97 w Ğrodowisku wirtualnym, 148 pakietu VMware Server, 71 serwera Apache, 29 systemu w maszynie wirtualnej Virtual PC, 144 systemu Debian Linux, 77 systemu goĞcia, 66 systemu operacyjnego, 23 systemu Windows 7w wirtualnej maszynie, 159 systemu Windows XP, 25 systemu XenServer, 217 VIMA, 128 Virtual Machine Manager Server, 179 Virtual PC, 142 VirtualBoksa w systemach MS Windows, 19 VirtualBox Extension Pack, 44 VMware ESXi, 98 VMware Player, 62 VMware Player w systemie Linux, 63 VMware Player w systemie Windows, 62 VMware Server w systemach Linux, 71 VMware Server w systemach Windows, 70 VMware Tools, 78, 104 w systemie Linux, 63 Windowsa poprzez protokóá RDP, 51 XP Mode, 146 instalator systemu goĞcia, 104 Install VMware Tools, 78 instalowanie usáug integracji, 160 integracja aplikacji z pulpitem, 45 interfejs fizyczny, 144 interfejs VLAN, 37, 93 interfejs VMnetX, 93 Inventory, 82, 129 iptables, 211 iSCSI, 60, 97, 121 J jĊzyk skryptowy PowerShell, 173 K karta obsáugująca sieci VLAN, 163 katalog hosts, 132 vm, 132 klasa adresowa, 168 klaster, 60 klawisz gospodarza, 26 klient RDP, 52 klonowanie maszyn wirtualnych, 42 kmem, 208 kolejnoĞü startowania, 24, 66, 192 kompilacja jądra, 73 kompilacja moduáów, 71 kompilacja pakietów, 71 kompilator GCC, 71 konfiguracja automatycznego uruchamiania, 114 automatycznego uruchomienia maszyny wirtualnej, 173 iSCSI, 169 maszyn dla róĪnych sieci VLAN, 91 Microsoft Hyper-V Core, 153 parametrów sieciowych serwera Hyper-V, 155 portu jako trunk, 107 portu przeáącznika, 108 serwera ESXi, 122 sieci, 105, 155, 163 sieci w trybie mostu, 32, 35 sieci w trybie NAT, 28 sieci wewnĊtrznej, 38 Virtual PC, 142 VLAN, 36, 223 VMware ESXi, 99 VMware ESXi przez vSphere Client, 100 XP Mode, 146 konsola administracyjna, 179 maszyny, 76 serwera Hyper-V, 169 serwera Xen, 229 tekstowa, 108 VMware Infrastructure Web Access, 73 VNC, 195 Web Access, 70, 73 zarządzania serwerem ESXi, 100 konto mserafin, 83, 116 konto vi-admin, 130 konto XPMUser, 150 kontroler SCSI/SAS/SATA, 154 konwersja obrazów maszyny wirtualnej, 198 kreator dodawania nowego sprzĊtu, 111 kreator tworzenia nowego zasobu, 125 kreator tworzenia nowej maszyny, 120 KVM, 189 konfiguracja ustawieĔ sieciowych, 192 linia komend, 195 tworzenie maszyny wirtualnej, 190 L licencja dla Windows, 15 limitowanie dysku, 211 limitowanie parametrów sieciowych, 211 limitowanie zasobów CPU, 210 linia komend, 87, 173, 195 linia komend KVM bezpieczne zamkniĊcie maszyny, 196 uruchamianie wirtualnej maszyny, 195 usuniĊcie maszyny, 196 wyĞwietlenie listy maszyn, 196 zrzucenie stanu maszyny do pliku, 196 linia komend OpenVZ restart maszyny, 206 uruchamianie programu w maszynie, 206 usuwanie maszyny, 206 zamykanie wirtualnej maszyny, 206 linia komend Virtual PC, 145 uruchomienie maszyny, 145 wznowienie pracy, 145 zatrzymanie maszyny, 145 Skorowidz 243 linia komend VirtualBox modyfikacja ustawieĔ maszyny, 54 zaáączanie i wyáączanie maszyny, 53 linia komend VMware Server pobieranie listy procesów, 89 przywracanie systemu, 90 tworzenie migawki, 90 uruchamianie maszyny, 88 uruchamianie programu na maszynie zdalnej, 89 wykonanie zrzutu ekranu, 90 wyĞwietlenie uruchomionych wyĞwietlenie zarejestrowanych maszyn, 87 maszyn, 88 zakaĔczanie procesu, 89 linia komend Xen, 229 lista maszyn wirtualnych, 230 lista sieci wirtualnych, 231 stan pracy maszyn, 230 tworzenie migawki systemu, 231 lista fizycznych interfejsów sieciowych serwera, 106 lista grup, 110 lista skonfigurowanych wirtualnych przeáączników, 106 logowanie do interfejsu, 73 logowanie do konsoli VMware Infrastructure Web Access, 73 logowanie do serwera ESX, 115 LUN, 122 M macierz dyskowa, 16 macierz dyskowa QNAP, 124, 125 macierz RAID, 125, 127 macierz RAID6, 121 macierz udostĊpniająca zasoby, 121 Management Network, 107 Manual Startup, 113 mapowanie, 115 maszyna wirtualna, 15, 64 iloĞü pamiĊci, 65 liczba rdzeni, 65 okreĞlenie ĞcieĪki, 65 rozmiar dysku, 65 tryb pracy sieci, 65 wybór systemu operacyjnego, 64 menu gáówne serwera Hyper-V, 154 menu Hardware, 119 Microsoft Hyper-V, 15, 17, 141, 153, 187 Microsoft Virtual PC, 17, 141 migawka przywracanie, 81 wykonywanie, 81 zablokowanie, 81 migawki systemu, snapshots, 43, 79 migawki w ESXi, 81 migawki w VirtualBox, 81 migawki w VMware Server, 81 migawki w VMware Workstation, 81 migracja fizycznej maszyny do Hyper-V, 183 moduáy Guest Additions, 28 moduáy jądra vmci, 73 vmmon, 73 vmnet, 73 modyfikacja ustawieĔ maszyny, 54 monitor maszyn wirtualnych, 16 most, 113 N nadawanie uprawnieĔ, 82, 115 nadawanie uprawnieĔ dla grupy, 117 nadawanie uprawnieĔ roli, 85 nadpisanie plików, 137 narzĊdzie awk, 232 grep, 232 perl, 232 sed, 232 VBoxManage, 32, 42 native VLAN, 35 nazwa uĪytkownika vi-admin, 130 Net Framework, 174 Net Framework 4.0, 221 NFS, 43, 80, 124 noĞnik instalacyjny, 219 noĞnik multi-arch, 219 nowa rola, 83 numer PID, 89 numproc, 208 O obraz dysku caáej maszyny, 81 Obraz o staáym rozmiarze, 22 obsáuga maszyny wirtualnej, 87 obsáuga sieci VLAN 802.1q, 35, 166 obsáuga z linii komend restartowanie maszyny, 88 zatrzymanie maszyny, 88 obudzenie ze stanu wstrzymania, 53 odpowiedzi ARP, 32 odpowiedĨ serwera WWW, 30 odĞwieĪanie adresu IP, 78 okno Datastores, 101 Hardware, 100 Inventory, 81 linii komend, 170 VMware Player, 63 okreĞlanie parametrów dysku, 74 opcja Add Hardware, 86 Add Networking, 108, 111 Akcja uruchomienia automatycznego, 172 Allocate and commit space on demand, 102 Allow virtual machines to start and stop automatically with the system, 113 Authentication Services, 118 Automatically choose an available physical network adapter to bridge to VMnet0, 94 Auto-mount, 46 Browse Datastore, 101, 119 Bus Logic Parallel, 120 Capture ISO Image..., 144 Configure VM, 81 Connect at power on, 103 Create a new folder, 101 Create a New Virtual Disk, 74 Create a virtual switch, 109, 111 Create new disk, 40 Create Virtual Machine, 74 Datastore ISO File, 103 Deploy OVF Template, 129 Disk/LUN, 123 Edit Settings, 102, 111 Edit settings…, 110 Edit Virtual Machine Startup/Shutdown Settings, 79 Generate Virtual Machine Shortcut, 81 Host, 102 Install or upgrade Virtual Machine Additions, 144 Install/ Upgrade VMware Tools, 105 Karta sieciowa, 168 Lock this Snapshot, 81 MenedĪer serwera, 157 MenedĪer sieci wirtualnej, 164, 167 NapĊd gospodarza, 23 NarzĊdzia funkcji Hyper-V, 157 Network adapter 1, 110 Network Adapters, 106 Network File System, 126 Networking, 106 New ISO library…, 219 New Permission, 83 New Share Folder, 125 New SR…, 226 New Virtual Machine, 120 New Virtual Machine…, 102 New VM, 219 NFS VHD, 225 Nowe/Maszyna Wirtualna, 158 Only the system administrator (admin) has full access…, 125 Open a Virtual Machine, 67 244 Wirtualizacja w praktyce opcja Place the VM on this server, 219 Play Virtual Machine, 67 PoĞwiadczenia logowania, 151 Powered-on machine, 137 Properties, 107 Remote Tech Support (SSH), 99 Remove System Restore checkpoints on destination, 139 Revert to Current Snapshot, 115 Revert to Snapshot, 81 Revert To Snapshot…, 227 Select Directory Service Type, 119 Shared Networking (NAT), 144 Show QEMU/KVM Arguments, 193 Snapshot Manager, 115 Starsza karta sieciowa, 166 Storage, 100, 119, 123 Switch to Seamless mode, 45 Take Snapshot, 81, 114 Thin provisioned format, 129 Typical, 102 Upload files to this datastore, 101 Upload files to this Datastore, 120 Use an existing virtual disk, 120 Use an Existing Virtual Disk, 86 Use CHAP, 226 Use vSwitch0, 108 UĪyj istniejącego dysku twardego, 41 UĪyj istniejącego wirtualnego dysku twardego, 158 Virtual Machine Startup/Shutdown, 113 Virtual Machines, 182 VirtualBox Bridged Networking Driver, 36 VMware Bridge Protocol, 92 When Powering Off, 81 WáóĪ dysk instalacyjny usáug integracji, 161 Write caching, 74 Wspóádzielone katalogi, 46 Wszystkie programy, 149 ZapamiĊtaj moje poĞwiadczenia, 151 Zrób migawkĊ, 44 opcje obsáugi USB oraz sieci, 20 opcje sieciowe, 131 wyĞwietlanie przeáączników, 131 zarządzanie datastore, 132 zarządzanie uĪytkownikami, 132 OpenVZ, 15, 201, 213 instalacja w systemie Linux Debian, 202 pliki konfiguracyjne, 206 uruchomienie systemu, 204 oprogramowanie klienta, 99 oprogramowanie wirtualizacyjne, 14 owner, 89 oznakowany (tagowany) ruch VLAN-owy, 91 P pakiet DKMS, 48 QEMU, 198 Service Console, 62 sterowników xs-tools, 221 tar.gz, 71 usáug integracji, 161 VMware Tools, 139 vzctl, 202 vzquota, 202 xs-tools, 221 pakiety deweloperskie, 78 autoconf automake1.9, 78 gcc, 78 linux-headers-`uname -r`, 78 linux-libc-dev, 78 make, 78 pakiety RPM, 71, 78 parametr -daemonize, 194 KMEMSIZE, 207, 209 listRegisteredVM, 89 NUMOTHERSOCK, 211 NUMPROC, 207, 209 NUMTCPSOCK, 211 PRIVVMPAGES, 207 VMGUARPAGES, 207, 208 parametry serwera ESXi, 138 parawirtualizacja, 14 partycjonowanie dysku, 192 partycjonowanie dysku w Debianie, 67 peána emulacja sprzĊtu, 13, 233 peána ĞcieĪka do pliku konfiguracyjnego, 89 peána wirtualizacja, 14 Perl Toolkit Utility, 132 physpages, 208 platforma wirtualizacyjna, 59 plik *.inf, 154 *.ovf, 128 *.vbox-extpack, 44 *.vmdk, 86, 119 /etc/vz/conf/*.conf, 206 /etc/vz/vz.conf, 206 /proc/cpuinfo, 17 /proc/user_beancounters, 209 centos-6-x86_64.tar.gz, 203 instalacyjny programu Virtual PC, 146 instalacyjny VMware Player, 63 ISO, 64, 144 ISO jako napĊd CD, 103 konfiguracyjny .vmc, 142 konfiguracyjny vmware-config.pl, 72 tar.gz, 71 VMDK, 120 Windows6.1-KB958559-x86- RefreshPkg (Virtual PC), 147 WindowsActivationUpdate.exe, 146 WindowsXPMode_pl-pl.exe (XP Mode), 147 pliki ADF, 235 instalacyjne VMware Server konfiguracyjne, 206 maszyn wirtualnych, 121 VMDK, 128 XML, 197 Páatnik, 15 pobieranie plików instalacyjnych, 69 podáączanie datastore po NFS, 124 podáączanie maszyny do sieci VLAN, 110 podáączanie przestrzeni dyskowej po NFS lub iSCSI, 225 podáączenie po protokole iSCSI, 121 podáączenie serwera VMM, 179 pole Enable CHAP log on, 169 polecenie ./userbeans.sh +a, 209 apt-get install, 78 cpulimit, 210 cpuunits, 210 devcon rescan, 155 dhclient, 78 dmesg, 221 dpkg, 28 extractlog.pl, 134 fileaccess.pl, 134 guestinfo.pl, 133 hostinfo.pl, 133 hostops.pl, 133 ifconfig, 194 ipconfig /renew, 78 iscsicpl, 169 kvm, 198 lsmod, 73 lsmod |grep kvm, 189 netstat, 30 passwd, 205 ping, 108 pnputil -i -a driverinf , 155 ps aux, 209 snapshotmanager.pl, 134 vicfg-user.pl, 132 vifs.pl, 132 virsh, 198 vminfo.pl, 133 vmrun, 87 vzcfgvalidate, 207 vzctl enter 101, 205 vzlist –L, 206 Skorowidz 245 vzlist –o, 206 xe help --all, 229 poáączenia typu trunk, 35 poáączenie mostkowe, 145 poáączenie typu cross, 127 port skonfigurowany jako trunk, 168 port trunkowy, 35 privvmpages, 208 proces vmsal.exe, 150 proces vpc.exe, 150 produkcyjne wdroĪenie ESXi, 60 program Arping, 33 Hyper-V Manager, 156 iptables, 212 MenedĪer funkcji, 158 MenedĪer funkcji Hyper-V, 156 Norton Ghost, 42 ping, 191 PuTTY, 195 qemu-img, 198 top, 209 VHD-2-IMG, 199 vmrun, 90 VMware Converter, 137 VMware vCenter Converter, 199 vzctl, 205 xe, 229 programowy interfejs iSCSI, 122 protokóá 802.1q, 223 CIFS, 125, 127 ICMP, 191 iSCSI, 226 NFS/CIFS, 97 RDP, 44, 48, 155 SCP, 120 SSH, 99, 120 przekierowanie portu, 29 przekierowanie portu TCP/UDP, 94 przekierowanie portu z poziomu GUI, 30 przeáącznik Cisco, 108 przeáączniki Cisco Catalyst, 33 przenoszenie maszyn do Hyper-V, 178 maszyny wirtualnej, 86 maszyny wirtualnej „w locie”., 87 maszyny z innego serwera, 119 systemów operacyjnych, 137 p
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Wirtualizacja w praktyce
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: