Zarządzanie Zasobami Gridowymi Z Użyciem Parawirtualizacji
Total Page:16
File Type:pdf, Size:1020Kb
Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Akademii Górniczo-Hutniczej im. St. Staszica w Krakowie Zarządzanie zasobami gridowymi z użyciem parawirtualizacji Rozprawa doktorska Jacek Kosiński Promotor: prof. dr hab. inż. Krzysztof Zieliński Kraków, Styczeń 2009 Serdecznie dziękuję wszystkim osobom, które wspierały mnie w czasie pisania tej pracy. W szczególności chciałbym podziękować mojemu promoto- rowi Panu prof. dr hab. inż. Krzysztofowi Zielińskiemu za wszechstronną pomoc oraz wnikliwe i konstruktywne uwagi. Pragnę także podziękować za pomoc kolegom z Grupy Systemów Rozproszonych Katedry Informatyki AGH. Chciałbym także okazać wdzięczność mojej Rodzinie oraz Przyjaciołom za cierpliwość i zrozumienie wykazywane dla mojego zaangażowania w tę rozprawę. Jacek Kosiński Spis treści Podziękowania iii Spis rysunków ix Spis tabel xiii Kod źródłowy xv 1. Wprowadzenie 1 1.1. Definicje ...................................... 2 1.2. Cel rozprawy ................................... 9 1.3. Teza pracy .................................... 10 1.4. Zakres rozprawy ................................. 11 1.5. Osiągnięcia autora ................................ 11 1.6. Struktura pracy .................................. 12 2. Technologie leżące u podstaw pracy 15 2.1. Wirtualizacja systemów komputerowych .................... 15 2.1.1. Izolacja zasobów wirtualnego komputera . 18 2.1.2. Migracja maszyny wirtualnej ...................... 20 2.2. Wirtualizacja sieci komputerowej ........................ 23 2.2.1. Lokalna komunikacja sieciowa ...................... 24 2.2.2. Komunikacja w sieci rozległej ...................... 29 2.2.3. Zarządzanie komunikacją w wirtualnej sieci . 29 2.2.4. Migracja w wirtualnej sieci ....................... 31 2.2.5. Wirtualna sieć Ethernet ......................... 32 2.3. Implementacje technik wirtualizacji ....................... 33 2.3.1. UML — User Mode Linux ........................ 35 2.3.2. OpenVZ — Open Virtuozzo ....................... 36 2.3.3. Projekt Linux-VServer .......................... 38 2.3.4. KVM — Kernel Based Virtualization Driver . 39 2.3.5. Xen — Virtual Machine Monitor .................... 41 2.3.6. Porównanie technik wirtualizacji .................... 45 2.4. Podsumowanie .................................. 45 v vi Spis treści 3. Przedstawienie problemu i sformułowanie wymagań 49 3.1. Charakterystyka istniejących systemów Grid . 49 3.2. Główne założenia pracy ............................. 50 3.2.1. Dostosowanie środowiska do charakterystyki aplikacji . 51 3.2.2. Izolacja aplikacji i wsparcie dla jakości usługi . 51 3.2.3. Tworzenie wirtualnych topologii sieciowych . 52 3.2.4. Adaptowalność do zmiennych wymagań . 53 3.3. Analiza wymagań ................................. 54 3.3.1. Wymagania ogólne dla systemów zarządzania zasobami . 54 3.3.2. Wymagania funkcjonalne ........................ 56 3.3.3. Wymagania niefunkcjonalne ....................... 60 3.3.4. Klasy zastosowań systemu ........................ 62 3.4. Ogólna koncepcja realizacji systemu ...................... 62 3.5. Podsumowanie .................................. 63 4. Model systemu zarządzania zwirtualizowanymi zasobami 65 4.1. Model systemu .................................. 65 4.1.1. Wykorzystywane pojęcia i określenia . 67 4.1.2. Model statyczny wirtualnego Gridu ................... 69 4.1.3. Model dynamiczny wirtualnego Gridu . 74 4.1.4. Model systemu zarządzania zasobami . 78 4.2. Podsumowanie .................................. 81 5. Architektura systemu VGRMS 83 5.1. Podstawowe założenia projektowe ........................ 83 5.1.1. Komponenty pasywne systemu ..................... 83 5.1.2. Komponenty aktywne systemu ..................... 85 5.1.3. Hierarchiczna koncepcja zarządzania . 86 5.2. Warstwowa architektura systemu ........................ 91 5.2.1. Warstwa zasobów fizycznych ...................... 91 5.2.2. Warstwa wirtualizacji .......................... 92 5.2.3. Warstwa ekspozycji ........................... 93 5.2.4. Warstwa zarządzania ........................... 98 5.2.5. Warstwa prezentacji . 105 5.3. Konfiguracje systemu VGRMS . 108 5.4. Podsumowanie ..................................108 6. Implementacja systemu 111 6.1. Technologie implementacji elementów systemu VGRMS . 111 6.1.1. Implementacja głównych komponentów systemu . 112 6.1.2. Komponenty węzła VGRMS . 113 6.1.3. Zarządzanie wirtualną topologią sieciową . 122 6.2. Graficzny klient systemu VGRMS . 124 6.3. Organizacja implementacji ............................129 6.3.1. Propagacja zdarzeń w systemie . 132 Spis treści vii (207) 6.4. Podsumowanie ..................................133 7. Testy systemu 135 7.1. Metodologia testów ................................135 7.1.1. Konfiguracje testowe . 136 7.1.2. Scenariusze przeprowadzenia pomiarów . 140 7.1.3. Metryki wydajnościowe . 148 7.2. Ocena zastosowanych technologii . 152 7.2.1. Wydajność i optymalizacja procesu migracji . 152 7.3. Wyniki praktycznej weryfikacji właściwości systemu . 159 7.3.1. Eksperyment 1 — Zadane rozmieszczenie VM . 160 7.3.2. Eksperyment 2 — Optymalizacja komunikacji sieciowej . 163 7.3.3. Eksperyment 3 — Awaria fizycznego węzła . 167 7.3.4. Eksperyment 4 — Zastosowanie gwarancji QoS . 168 7.3.5. Eksperyment 5 — Wykorzystanie migracji VM . 171 7.4. Podsumowanie ..................................172 8. Podsumowanie 175 8.1. Weryfikacja tezy pracy ..............................175 8.2. Nowatorstwo pracy ................................176 8.3. Braki systemu ...................................177 8.4. Możliwości dalszego rozwoju . 177 A. Kod źródłowy głównych komponentów systemu 179 A.1. Komponenty zarządzania konfiguracją wirtualnych maszyn . 179 A.1.1. Obsługa parawirtualizacji środowiska Xen . 179 A.1.2. Zarządzanie wirtualną maszyną . 180 A.1.3. Zarządzanie wirtualnym Gridem . 181 A.2. Zarządzanie polityką działania systemu . 182 A.3. Monitorowanie wykorzystania zasobów . 183 B. Reguły modułu decyzyjnego 185 B.1. Przydział zasobów dla wirtualnych maszyn . 185 B.1.1. Przydział zasobów zgodnie z przyjętą polityką QoS . 186 B.2. Zarządzanie i obsługa migracji wirtualnych maszyn . 186 B.2.1. Monitorowanie parametrów środowiskowych . 187 B.2.2. Monitorowanie komunikacji sieciowej . 188 Bibliografia 189 Skorowidz 197 Definicje 201 Wykaz skrótów 203 Spis rysunków 1.1 Taksonomia stosowanych obecnie architektur typu Grid ........... 3 1.2 Poziomy wirtualizacji w systemach informatycznych ............. 7 1.3 Dwuetapowy model powiązań zasobów do aplikacji .............. 9 2.1 Tworzenie wirtualnej sieci z wykorzystaniem techniki przełączania . 25 2.2 Tworzenie wirtualnej sieci z wykorzystaniem technik tunelowania . 26 2.3 Tworzenie wirtualnej sieci z wykorzystaniem routingu . 27 2.4 Etapy zarządzania komunikacją sieciową wirtualnych maszyn . 30 2.5 Schemat budowy wirtualnej rozproszonej sieci Ethernet . 33 2.6 Obsługa migracji VM w wirtualnej sieci Ethernet . 34 2.7 Architektura wirtualizacji z nadzorcą ...................... 40 2.8 Architektura systemu KVM ........................... 41 2.9 Architektura systemu Xen ............................ 42 4.1 Klasyczny system zarządzania zasobami .................... 66 4.2 System zarządzania zwirtualizowanymi zasobami . 67 4.3 Przykład topologii fizycznej wirtualnego Gridu . 72 4.4 Pętla zarządzania dla modelu systemu ..................... 80 5.1 Możliwe powiązania komponentów aktywnych i pasywnych . 84 5.2 Taksonomia zasobów w środowiskach przetwarzania rozproszonego . 84 5.3 Hierarchiczna koncepcja zarządzania zasobami w systemie VGRMS . 86 5.4 Komponenty składowe lokalnego zarządcy zasobów . 87 5.5 Interakcje lokalnego zarządcy zasobów ..................... 88 5.6 Interakcje globalnego zarządcy zasobów .................... 90 5.7 Komponenty składowe globalnego zarządcy zasobów . 90 5.8 Warstwy funkcjonalne systemu zarządzania zasobami . 91 5.9 Komponenty składowe warstwy wirtualizacji . 93 5.10 Proces wyszukiwania komponentów systemu VGRMS . 95 5.11 Komponenty składowe warstwy ekspozycji ................... 96 5.12 Relacje pomiędzy głównymi komponentami zarządzania stanem i konfigu- racją fizycznego węzła .............................. 97 5.13 Hierarchia komponentów zarządzania systemu VGRMS . 99 5.14 Komponenty warstwy zarządzania systemu VGRMS . 100 ix x Spis rysunków 5.15 Funkcjonalność udostępniana przez repozytorium polityk zarządzania zaso- bami ........................................101 5.16 Reprezentacja informacji o aktualnym stanie węzła, wirtualnej maszyny i wirtualnego Gridu w postaci faktów przetwarzanych przez silnik regułowy 102 5.17 Reprezentacja informacji pochodzących z monitorowania komunikacji sie- ciowej w postaci faktów .............................102 5.18 Transformacja informacji o stanie infrastruktury do postaci faktów . 103 5.19 Interakcje komponentów systemu przy tworzeniu wirtualnego Gridu . 105 5.20 Sekwencja interakcji komponentów systemu podczas inicjalizacji konsoli za- rządzania .....................................106 5.21 Zarządzanie cyklem życia maszyny wirtualnej przez administratora z uży- ciem konsoli ....................................106 5.22 Tworzenie wirtualnego Gridu wykonywane przez administratora z użyciem konsoli .......................................107 5.23 Rodzaje zarządzania przydziałem zasobów w systemie VGRMS . 108 5.24 Rozmieszczenie komponentów systemu VGRMS w środowisku rozproszonym 109 6.1 Przechwytywanie zdarzeń środowiska Xen i podejmowanie odpowiednich akcji przez komponenty zarządzania stanem węzła . 114 6.2 Propagacja zdarzenia pomiędzy komponentami VGRMS o usunięciu