Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:sitw:2016:xen:lab2 [2016/11/23 00:38]
msl
pl:dydaktyka:sitw:2016:xen:lab2 [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-====== XEN: Zarządzenia wydajnością i zasobami ​======+====== XEN: O różnych rodzajach gości ======
  
-Celem laboratorium jest zapoznanie się z możliwościami kontrolowania zasobów oraz zwiększanie wydajności gości używając nadzorcy Xen. Zbadane zostaną:+<WRAP center round box 60%> 
 +//Gość w DomU, host w Dom0.// 
 + 
 +--- Stare przysłowie polskie. 
 +</​WRAP>​ 
 + 
 +Celem laboratorium jest zapoznanie się z żnicami między maszynami parawirtualizowanymi i wirtualizowanymi sprzętowo, ich konfiguracją i oraz migracją z istniejących maszyn.
  
-  - różne tryby wirtualizacji 
-  - różne konfiguracje twardego dysku 
-  - różne konfiguracje schedulera CPU 
-  - różne konfiguracje stronicowania pamięci RAM 
  
 ===== Preliminaria ===== ===== Preliminaria =====
Linia 13: Linia 15:
   ​   ​
 <code bash> <code bash>
-cd /​home/​student/​sitw && ./​prepare_xen_lab2.sh && reboot+cd /​home/​student/​sitw && ./​prepare_xen_lab2.sh ​&& update-grub ​&& reboot
 </​code>​ </​code>​
  
Linia 24: Linia 26:
 </​WRAP>​ </​WRAP>​
  
-===== Lekcja 1: Gość w dom =====+===== Lekcja 1: Parawirtualizacja ​=====
  
-Zacznijmy od zbadania wpływu jaki ma tryb wirtualizacji na wydajność maszyny. +Naszym celem jest postawienie tej samej maszyny, co na poprzednim laboratorium,​ z jedną drobną różnicą, zamiast lvm użyjemy obrazu dysku. Żeby przyśpieszyć proces, ​zaimportujemy maszynę z istniejącego już obrazu ​dysku. ​
-Zbudujemy prawie od zera trzech różnych gości. +
- +
-==== Gość Pierwszy: PVM na pliko-partycji ==== +
- +
-Naszym celem jest postawienie tej samej maszyny, co na poprzednim laboratorium,​ z jedną drobną różnicą, zamiast lvm użyjemy obrazu dysku. Żeby przyśpieszyć proces, ​zastosujemy ​istniejący już obraz dysku. ​+
  
 **Zadanie 1:** Korzystając z polecenie ''​xen-create-image'',​ proszę stworzyć domenę spełniającą podane warunki: **Zadanie 1:** Korzystając z polecenie ''​xen-create-image'',​ proszę stworzyć domenę spełniającą podane warunki:
Linia 44: Linia 41:
   * dystrybucja debian jessie   * dystrybucja debian jessie
   * zapis obrazu używając zwykłego katalogu o ścieżce '/​home/​student/​sitw'​   * zapis obrazu używając zwykłego katalogu o ścieżce '/​home/​student/​sitw'​
-  * system ​**nie** ​powinien być instalowany wraz z uruchomieniem komendy+  * komenda ma **nie** ​instalować systemu
  
 **Pytanie:​** Podczas tworzenia maszyny pojawiło się kilka błędów. Skąd one wynikają? ​ **Pytanie:​** Podczas tworzenia maszyny pojawiło się kilka błędów. Skąd one wynikają? ​
Linia 50: Linia 47:
 W pliku konfiguracji domeny można zobaczyć, jakie ścieżki prowadzą do plików będących partycjami tej domeny. W pliku konfiguracji domeny można zobaczyć, jakie ścieżki prowadzą do plików będących partycjami tej domeny.
  
-**Zadanie 2:** Zastąpić ​pliki z podanych ścieżek plikami ''​swap.img''​ i ''​pvm/​disk.img''​ z katalogu ''/​home/​student/​sitw/​images''​.+**Zadanie 2:** Zastąpić ​nowo powstały dysk plikiem ​''​pvm/​disk.img''​ z katalogu ''/​home/​student/​sitw/​images''​. ​Proszę użyć komendy ''​dd''​ zamiast ''​cp'':​ 
 +<code bash> 
 +dd if=<​ścieka źródłowa>​ of=<​ścieżka docelowa>​ bs=8M status=progress 
 +</​code>​ 
 + 
 +**Zadanie 3:** Nie znamy hasła roota do instalacji na ''​pvm/​disk.img''​. Proszę je ustawić ręcznie na ''​xena''​ (tip: komendy ''​mount -o loop'',​ ''​chroot''​ i ''​passwd''​). 
  
-**Zadanie ​3:** Proszę stworzyć i uruchomić domenę. Hasło root'​a:​ ''​xena''​. ​+**Zadanie ​4:** Proszę stworzyć i uruchomić domenę. Hasło root'​a:​ ''​xena''​. ​
  
-==== Gość DrugiHVM ze sterownikami PVM ====+===== Lekcja 2Wirtualizacja sprzętowa =====
  
 Instalacja gościa sprzętowego przebiega trochę inaczej. Przypomina dużo bardziej instalację zwykłego systemu operacyjnego. Najpierw należy przygotować konfigurację maszyny. W tym celu proszę skopiować przykładową konfigurację domeny typu hvm (z katalogu ''/​etc/​xen/''​) do nowego pliku ''/​etc/​xen/​lab2-pvhvm.cfg''​. Instalacja gościa sprzętowego przebiega trochę inaczej. Przypomina dużo bardziej instalację zwykłego systemu operacyjnego. Najpierw należy przygotować konfigurację maszyny. W tym celu proszę skopiować przykładową konfigurację domeny typu hvm (z katalogu ''/​etc/​xen/''​) do nowego pliku ''/​etc/​xen/​lab2-pvhvm.cfg''​.
Linia 63: Linia 66:
   * powinien mieć 512MB ramu   * powinien mieć 512MB ramu
   * sieć skonfigurowaną statycznie:   * sieć skonfigurowaną statycznie:
-    * adres ip: ''​10.0.0.3''​ +    * adres ip: ''​10.0.0.3'' ​(na wzór konfiguracji ''​lab2-pvm''​) ​ 
-    * adres mac powinien być pusty +    * resztę sieci konfiguruje się **dopiero** ​podczas instalacji ​systemu (czyli nie teraz :!:):
-    * resztę sieci konfiguruje się podczas instalacji ​systemy:+
       * brama: ''​10.0.0.1'' ​       * brama: ''​10.0.0.1'' ​
       * maska: ''​255.255.255.0''​       * maska: ''​255.255.255.0''​
Linia 74: Linia 76:
     * dysk root powinien mieć nazwę ''​xvda''​     * dysk root powinien mieć nazwę ''​xvda''​
     * same dyski utworzymy w kolejnych krokach     * same dyski utworzymy w kolejnych krokach
-  * powinien mieć napęd cdrom z zamontowanym plikiem ''/​home/​student/​sitw/​images/​debian-installer.iso'':​+  * powinien mieć napęd cdrom z zamontowanym plikiem ''/​home/​student/​sitw/​images/​debian_installer.iso'':​
     * jeżeli plik nie istnieje (**lub ma podejrzanie mały rozmiar**) proszę wykonać komendę:     * jeżeli plik nie istnieje (**lub ma podejrzanie mały rozmiar**) proszę wykonać komendę:
 <code bash> <code bash>
-wget -O /​home/​student/​sitw/​images/​debian-installer.iso http://​cdimage.debian.org/​debian-cd/​8.6.0/​amd64/​iso-cd/​debian-8.6.0-amd64-netinst.iso  ​+wget -O /​home/​student/​sitw/​images/​debian_installer.iso http://​cdimage.debian.org/​debian-cd/​8.6.0/​amd64/​iso-cd/​debian-8.6.0-amd64-netinst.iso  ​
 </​code> ​ </​code> ​
     * **Podpowiedź:​** napęd cdrom nazywa się ''​hdc:​cdrom''​. Więcej w dokumentacji.     * **Podpowiedź:​** napęd cdrom nazywa się ''​hdc:​cdrom''​. Więcej w dokumentacji.
Linia 97: Linia 99:
 **Zadanie 5:** Proszę wygenerować puste pliki partycji, jedną 4GB na roota, drugą 128MB na swap i umieścić je w ścieżkach wskazanych wcześniej w pliku konfiguracyjnym domeny. **Zadanie 5:** Proszę wygenerować puste pliki partycji, jedną 4GB na roota, drugą 128MB na swap i umieścić je w ścieżkach wskazanych wcześniej w pliku konfiguracyjnym domeny.
  
-**Zadanie 6:** Proszę stworzyć maszynę ''​lab2_pvhmv''​ i znaleźć adres, pod którym jest dostępna przez vnc. **Podpowiedź:​** ''​vnc''​ to proces jak każdy inny.+**Zadanie 6:** Proszę stworzyć maszynę ''​lab2_pvhvm''​ i znaleźć adres, pod którym jest dostępna przez vnc. **Podpowiedź:​** ''​vnc''​ to proces jak każdy inny.
    
-**Zadanie 7:** Proszę połączyć się z maszyną używając narzędzie ''​vncviewer''​ (w razie potrzeby zainstalować).+**Zadanie 7:** Proszę połączyć się z maszyną używając narzędzia ''​vncviewer''​ (w razie potrzeby zainstalować).
  
 Jeżeli to się uda, mają Państwo teraz dwie możliwości:​ Jeżeli to się uda, mają Państwo teraz dwie możliwości:​
  
-  * Zainstalować Debiana ręcznie --- zalecane dla osób, które nigdy tego nie robiły. Prosta robota, ale może chwilę zająć (proszę nie instalować żadnych środowisk graficznych).+  * Zainstalować Debiana ręcznie --- zalecane dla osób, które nigdy tego nie robiły. Prosta robota, ale może chwilę zająć (proszę nie instalować żadnych środowisk graficznych) 
 +    * haczyk: po instalacji trzeba zadbać o to, żeby plik ''/​etc/​resolv.conf''​ zawierał prawidłowe serwery DNS: 
 +<code bash> 
 +nameserver 8.8.8.8 
 +nameserver 8.8.4.4 
 +</​code>​
   * Jak poprzednio, użyć gotowych obrazów ''​swap.img''​ i ''​hvm/​disk.img''​ z katalogu ''/​home/​student/​sitw/​images'',​ hasło roota: ''​xena''​.   * Jak poprzednio, użyć gotowych obrazów ''​swap.img''​ i ''​hvm/​disk.img''​ z katalogu ''/​home/​student/​sitw/​images'',​ hasło roota: ''​xena''​.
  
 Niezależnie od wybranej ścieżki, można teraz z pliku konfiguracyjnego usunąć cdrom i zmienić kolejność boot'​owania tak, by pierwsza była partycja roota. Niezależnie od wybranej ścieżki, można teraz z pliku konfiguracyjnego usunąć cdrom i zmienić kolejność boot'​owania tak, by pierwsza była partycja roota.
  
-==== Gość Trzeci: HVM bez PV ==== +===== Epilog: Sprzątanie =====
- +
-Teraz, skąd wiemy, że poprzedni gość używa sterowników PV? Wystarczy się na niego zalogować i sprawdzić, co powie polecenie ''​dmesg''​. Powinno mówić coś o urządzeniach PCI zarządzanych przez XEN. +
- +
-**Zadanie 8:** Proszę sprawdzić, czy poprzedni gość używa sterownika PV. +
- +
-Aby przyśpieszyć pracę, proszę skopiować konfigurację maszyny ''​lab2-pvhvm.cfg''​ do pliku ''​lab2-hvm.cfg''​ i dokonać trzech zmian: +
- +
-  * zmienić nazwę maszyny +
-  * zmienić adres ip na ''​10.0.0.4''​ +
-  * zmienić ścieżki dysków twardych +
-  * wyłączającą urządzenia PCI zarządzane przez Xen. Znowu zerkamy do dokumentacji. +
- +
-Po skopiowaniu dysków twardych z poprzedniej maszyny do odpowiednich ścieżek, maszyna powinna się elegancko uruchomić. +
- +
-**Zadanie 9:** Proszę sprawdzić, czy nowy gość używa sterowników PV. +
- +
-===== Lekcja 2: Benchmark ===== +
- +
-Mając trzech gości, sprawdźmy, który z nich najlepiej sobie radzi w prostych benchmarkach. Sprawdzimy prędkość działania procesora oraz dysku twardego. Przykładowe [[https://​fixmynix.com/​benchmarking-linux-systems-with-simple-command-line-tools/​|benchmarki]] mogą wymagać instalacji dodatków pakietów. +
- +
-**Zadanie 10:** Który gość najlepiej radzi sobie w kategorii procesor?  +
- +
-**Zadanie 11:** Który gość wygrywa w kategorii dysk twardy? +
- +
-===== Lekcja 3: Rodzaj dysku twardego ===== +
- +
-Proszę zainstalować 4 gościa, takiego samego jak ''​lab2-pvm'',​ ale korzystającego z systemu plików lvm. (można po prostu użyć ''​xen-create-image''​ jak na poprzednich laboratoriach),​ o nazwie ''​lab2-pvmlvm''​. +
- +
-**Zadanie 12:** Która obu maszyn parawirtualizowanych lepiej sobie radzi w kategorii dysk twardy?  +
- +
-**Podpowiedź:​** W czasie instalacji maszyny można spokojnie przejść do Lekcji 4. +
- +
-===== Lekcja 4: Scheduler CPU ===== +
- +
-Xen jako nadzorca musi dbać o zapotrzebowania swoich gości, w szczególności o przydzielany im czas procesora --- podobnie jak w systemie operacyjnym czas jest przydzielany procesom. Służy do tego narzędzie zwane schedulerem. W Xenie możliwe jest tworzenie pul procesorów (ang. //cpu pool//) i do każdej puli można przyporządkować inny scheduler. Krótkie opisy dostępnych schedulerów można znaleźć na [[https://​wiki.xenproject.org/​wiki/​Xen_Project_Schedulers | wiki Xena]]. +
- +
-**Zadanie 13:** Używając komendy ''​xl''​ proszę sprawdzić jaki scheduler jest aktualnie używany w systemie. +
- +
-Proszę teraz przeanalizować wyjście komendy: +
- +
-<code bash> +
-xl help sched-credit +
-</​code>​ +
- +
-oraz [[https://​wiki.xen.org/​wiki/​Credit_Scheduler|opis schedulera o nazwie credit z wiki Xen]]. +
- +
-**Zadanie 14**: Zakładając,​ że mamy małą liczbę maszyn wirtualnych,​ wykonując ciężkie obliczenia. Czy domyślny timeslice jest w porządku?​ +
- +
-**Zadanie 15**: Proszę ustawić rate limiting tak, żeby odpowiadało środowisku małej liczby maszyn o dużej liczbie obliczeń do wykonania.  +
- +
-**Zadanie 16**: Proszę ustawić wagi schedulera tak, żeby maszyna ''​lab2-pvhvm''​ była "dwa razy" ważniejsza od innych. +
- +
-**Zadanie 17**: Proszę ustawić ograniczenia tak, żeby żadna maszyna poza ''​lab2-phvm''​ nie mogła używać naraz więcej niż 1,5 rdzenia. +
- +
-**Zadanie 18**: Proszę teraz uruchomić testy CPU na kilku maszynach równocześnie. Czy wyniki testów się zmieniły?​ +
- +
-**Zadanie 19**: Proszę zmienić scheduler na ''​credit2''​ +
-**Podpowiedź**:​ konfiguracja ''​gruba''​ i ''​docs/​misc/​xen-command-line.html''​ +
- +
-===== Lekcja 5: Stronicowanie pamięci ===== +
- +
-Gość, jak każdy system operacyjny, stronicuje pamięć ram. Niestety, nie możemy dać mu bezpośredniego dostępu do ramu, ponieważ mógłby wtedy ingerować w życie innych maszyn. Trzeba zatem w jakiś sposób tłumaczyć tablice pamięci gościa na prawdziwe tablice --- dla tego problemu istnieją dwa rozwiązana:​ +
- +
-    * shadowing --- tablica LUT zarządzana programowo przez Xen, tłumacząca bezpośrednio wirtualne strony pamięci na rzeczywiste. Dzięki prostocie bardzo szybko obsługuje chybienia, natomiast dużo energii trzeba w…ożyć w utrzymaniu mapy pamięci na rozsądnym poziomie +
-    * hap --- hardware assisted paging, które korzysta z bardziej złożonych struktur, ale jest implementowane sprzętowo, dzięki czemu w bardzo szybki sposób obsługiwane są aktualizacje mapy pamięci. Problemem jest stosunkowo wolna obsługa chybień. +
- +
-**Zadanie 30**: Proszę wyłączyć hap na jednej z maszyn (dokumentacja xl.cfg) i po raz pierwszy uruchomić testy RAMu z poprzedniego linka. Proszę uważać, żeby nie przedobrzyć i nie przekazać całego ramu na testy. Któa technologia lepiej sobie radzi w podanym teście.  +
- +
-===== Lekcja 6: Sprzątanie =====+
  
-Proszę wyłączyć i usunąć wszystkich gości **wraz z ich dyskami i plikami konifuracyjnymi**. Następnie: ​+Proszę wyłączyć i usunąć wszystkich gości **wraz z ich dyskami i plikami konifuracyjnymi**. Następnie ​z konta roota
  
 <code bash> <code bash>
-cd /​home/​student/​sitw && ./​clean_xen_lab2.sh+cd /​home/​student && ​cd /​home/​student/​sitw && ./​clean_xen_lab2.sh
 </​code>​ </​code>​
 I na koniec proszę **uruchomić komputer ponownie**, tym razem bez Xena i zaktualizować konfigurację gruba: I na koniec proszę **uruchomić komputer ponownie**, tym razem bez Xena i zaktualizować konfigurację gruba:
pl/dydaktyka/sitw/2016/xen/lab2.1479857896.txt.gz · ostatnio zmienione: 2019/06/27 15:55 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0