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/22 21:13]
msl [Preliminaria]
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 && update-grub +cd /​home/​student/​sitw && ./​prepare_xen_lab2.sh && update-grub ​&& ​reboot
-reboot+
 </​code>​ </​code>​
  
Linia 25: 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 45: 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 51: 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:** Proszę ​stworzyć i uruchomić domenę. Hasło root'a: ''​xena''​. ​+**Zadanie 3:** Nie znamy hasła roota do instalacji na ''​pvm/​disk.img''​. ​Proszę ​je ustawić ręcznie na ''​xena''​ (tipkomendy ​''​mount -o loop'',​ ''​chroot''​ i ''​passwd''​).
  
-==== Gość DrugiHVM ze sterownikami PVM ====+ 
 +**Zadanie 4:** Proszę stworzyć i uruchomić domenę. Hasło root'​a:​ ''​xena''​.  
 + 
 +===== 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 64: 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''​) ​ 
-    * brama: ''​10.0.0.1''​ +    ​* resztę sieci konfiguruje się **dopiero** podczas instalacji systemu (czyli nie teraz :!:): 
-    * maska: ''​255.255.255.0''​ +      ​* brama: ''​10.0.0.1''​  
-    * broadcast: ''​10.0.0.255'' ​+      * maska: ''​255.255.255.0''​ 
 +      * broadcast: ''​10.0.0.255''​  
 +      * dns: ''​8.8.8.8 8.8.4.4''​
   * powinien mieć dwa dyski twarde na wzór konfiguracji ''​lab2-pvm''​ (proszę pamiętać o zmianie ścieżek)   * powinien mieć dwa dyski twarde na wzór konfiguracji ''​lab2-pvm''​ (proszę pamiętać o zmianie ścieżek)
-    * dysk swap powinien mieć nazwę ''​xvda''​  +    * dysk swap powinien mieć nazwę ''​xvdb''​  
-    * dysk root powinien mieć nazwę ''​xvdb''​+    * 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-install.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>
-cd /​home/​student/​sitw/​images  +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-install.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''​+    * **Podpowiedź:​** napęd cdrom nazywa się ''​hdc:​cdrom''​. Więcej w dokumentacji.
   * powinien korzystać z vnc do dzielenia ekranu   * powinien korzystać z vnc do dzielenia ekranu
   * powinien najpierw bootować stację cdrom    * powinien najpierw bootować stację cdrom 
Linia 96: 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 dowolny inny, np. credit2 +
-**Podpowiedź**:"​ grub i ''​docs/​misc/​xen-command-line.html''​ +
- +
-===== Lekcja 5: Stronicowanie pamięci ===== +
- +
-===== 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.1479845622.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