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:lab3 [2016/11/30 09:19]
msl [Lekcja 4: Rodzaj dysku twardego]
pl:dydaktyka:sitw:2016:xen:lab3 [2019/06/27 15:50] (aktualna)
Linia 13: Linia 13:
 Po ponownym uruchomieniu komputera powinien włączyć się znajomy już Xen. Powinniśmy mieć dostępne dwie maszyny gości: ''​lab2-pvm''​ oraz ''​lab2-pvhvm''​. Po ponownym uruchomieniu komputera powinien włączyć się znajomy już Xen. Powinniśmy mieć dostępne dwie maszyny gości: ''​lab2-pvm''​ oraz ''​lab2-pvhvm''​.
  
-**Zadanie 1:** Proszę zalogować się na obie maszyny i sprawdzić działanie połączenia internetowego (polecenie ''​ping''​).+**Zadanie 1:** Proszę ​stworzyć ([[https://​ai.ia.agh.edu.pl/​wiki/​pl:​dydaktyka:​sitw:​2016:​xen:​lab1#​lekcja_7instalowanie_gosci|lab1]]),​ a potem zalogować się na obie maszyny ​(hasło ''​xena''​) ​i sprawdzić działanie połączenia internetowego (polecenie ''​ping''​). 
 +**Podpowiedź:​** Na maszynę wirtualizowaną sprzętowo trzeba logować się przez protokół ''​vnc'',​ np. 
 +<code bash> 
 +vncviewer 127.0.0.1:<​n-1>​ #dla n-tej maszyny 
 +</​code>​ 
 +lub: 
 +<code bash> 
 +xl vnc <nazwa maszyny>​ 
 +</​code>​ 
 +Może być konieczne zainstalowanie pakietu ''​vncviewer''​ ręcznie.  
 + 
 +W przypadku maszyny parawirtualizowanej,​ wystarczy zajrzeć do [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​dydaktyka:​sitw:​2016:​xen:​lab1#​lekcja_8sterowanie_goscmi| 
 +lab 1]]. Jeżeli gość parawirtualizowany nie chce się uruchomić, narzekając na nieistniejący kernel, to znak, że kernel nie istnieje. Proszę sprawdzić jaką wersję kernela ma host (''​uname''​) i zmienić odpowiednią linię w pliku konfiguracyjnym maszyny (''/​etc/​xen/​lab-pvm.cfg''​).  
 + 
 +**Pytanie:​** dlaczego trzeba było to zrobić? 
 + 
 +**Przypomnienie:​** hasło root'a to ''​xena''​. 
 +==== Sekcja opcjonalna: SSH ==== 
 + 
 +Jeżeli dostęp po VNC jest zbyt niewygodny (niemożność kopiowania, etc.), to proszę skonfigurować na gościu ssh. 
 + 
 +  * na gościu: 
 +<code bash> 
 +# instalujemy ssh 
 +apt-get update 
 +apt-get install ssh 
 +# uruchamiamy ssh 
 +systemctl start ssh 
 +systemctl enable ssh 
 +# podglądamy adres ip maszyny 
 +ip addr show  
 +# sprawdzamy, czy istnieje w systemie użytkownik lab2 
 +grep lab2 /​etc/​passwd 
 +# jeśli nie, to go tworzymy 
 +adduser lab2 
 +# hasło też powinno brzmieć lab2 
 +</​code>​ 
 +  * na gospodarzu:​ 
 +<code bash> 
 +# zapominamy o zaufanych adresach  
 +# na wypadek gdyby inna maszyna miała kiedyś ten sam adres 
 +rm ~/​.ssh/​known_hosts  
 +# zastępujemy X odpowiednim numerkiem z adres 
 +ssh lab2@10.0.0.X 
 +# hasło: lab2 
 +su 
 +# hasło xena 
 +# i już jesteśmy na koncie root 
 +</​code>​
  
 ===== Lekcja 2: Sterowniki parawirtualne ====== ===== Lekcja 2: Sterowniki parawirtualne ======
Linia 23: Linia 71:
 Ale nie musimy ufać zapewnieniom tego typu, możemy sami zobaczyć, jakie sterowniki zostały załadowane. Wystarczy zalogować się na gościa i sprawdzić, co powie polecenie ''​dmesg''​. Powinno mówić coś o urządzeniach PCI zarządzanych przez XEN. Ale nie musimy ufać zapewnieniom tego typu, możemy sami zobaczyć, jakie sterowniki zostały załadowane. Wystarczy zalogować się na gościa i sprawdzić, co powie polecenie ''​dmesg''​. Powinno mówić coś o urządzeniach PCI zarządzanych przez XEN.
  
-**Zadanie 3:** Proszę sprawdzić, czy ''​lab2-pvhvm''​ używa ​sterownika PV. Polecane: ''​man grep''​ i ignorowanie wielkości znaków.+**Zadanie 3:** Proszę sprawdzić, czy ''​lab2-pvhvm''​ używa ​sterowników parawirtualnych. Polecane: ''​man grep''​ i ignorowanie wielkości znaków.
  
 Zainstalujmy zatem trzeciego gościa, który z takich sterowników nie korzysta. Aby przyśpieszyć pracę, proszę skopiować konfigurację maszyny ''​lab2-pvhvm.cfg''​ do pliku ''​lab3-hvm.cfg''​ i dokonać trzech zmian: Zainstalujmy zatem trzeciego gościa, który z takich sterowników nie korzysta. Aby przyśpieszyć pracę, proszę skopiować konfigurację maszyny ''​lab2-pvhvm.cfg''​ do pliku ''​lab3-hvm.cfg''​ i dokonać trzech zmian:
Linia 33: Linia 81:
       * uruchomić komendę: ''/​etc/​init.d/​networking restart''  ​       * uruchomić komendę: ''/​etc/​init.d/​networking restart''  ​
   * zmienić ścieżki dysków twardych   * zmienić ścieżki dysków twardych
-  * wyłączamy urządzenia PCI zarządzane przez Xen. Znowu zerkamy do [[https://​xenbits.xen.org/​docs/​4.4-testing/​man/​xl.cfg.5.html|dokumentacji]].+  * wyłączamy urządzenia PCI zarządzane przez Xen. Znowu zerkamy do [[https://​xenbits.xen.org/​docs/​4.8-testing/​man/​xl.cfg.5.html|dokumentacji]].
  
 Po skopiowaniu dysków twardych z poprzedniej maszyny do odpowiednich ścieżek, maszyna powinna się elegancko uruchomić. Teraz na uruchomionej maszynie zmieniamy jeszcze kilka szczegółów:​ Po skopiowaniu dysków twardych z poprzedniej maszyny do odpowiednich ścieżek, maszyna powinna się elegancko uruchomić. Teraz na uruchomionej maszynie zmieniamy jeszcze kilka szczegółów:​
Linia 57: Linia 105:
   * [cpu] jak szybko jesteśmy w stanie znaleźć liczby pierwsze:   * [cpu] jak szybko jesteśmy w stanie znaleźć liczby pierwsze:
 <code bash> <code bash>
-sysbench --test=cpu --num-threads=<​liczba procesorów>​ --cpu-max-prime=<​duża liczba, np. 99999> run+sysbench --test=cpu --num-threads=<​liczba procesorów>​ --cpu-max-prime=<​duża liczba, np. 9999> run
 </​code>​ </​code>​
   * [hdd] jak szybko potrafimy pisać do pliku:   * [hdd] jak szybko potrafimy pisać do pliku:
Linia 73: Linia 121:
  
  
-===== Lekcja 4: Rodzaj dysku twardego ===== 
- 
-Proszę zainstalować 4-tego 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 pierwszych laboratoriach). ​ 
- 
-  * nazwa: ''​lab3-pvmlvm''​ 
-  * RAM: 512MB 
-  * grupa lvm: ''​sitw''​ 
-  * dystrybucja ''​jessie''​ 
-  * ustawienia sieci: 
-    * adres ip: ''​10.0.0.5''​ 
-    * gateway: ''​10.0.0.1''​ 
-    * maska: ''​255.255.255.0''​ 
-    * broadcast: ''​10.0.0.255''​ 
-    * DNS: ''​8.8.8.8''​ 
- 
-**Zadanie 7:** Czy istnieje różnica w wydajności dysku twardego między ''​lab2-pvm''​ i ''​lab3-pvmlvm''?​ Proszę spróbować uruchomić testy pojedynczo oraz naraz na obu maszynach. 
  
-**Podpowiedź:​** W czasie instalacji maszyny można spokojnie przejść do Lekcji 5. 
  
-===== Lekcja ​5: Scheduler CPU =====+===== 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]]. 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 ​8:** Używając komendy ''​xl''​ proszę sprawdzić jaki scheduler jest aktualnie używany w systemie.+**Zadanie ​7:** Używając komendy ''​xl''​ proszę sprawdzić jaki scheduler jest aktualnie używany w systemie.
  
 Proszę teraz przeanalizować wyjście komendy: Proszę teraz przeanalizować wyjście komendy:
Linia 108: Linia 139:
 Na potrzeby kolejnych pytań, zakładamy, że nasze maszyny mają za zadanie wykonać dużą liczbę ciężkich obliczeniowo zadań, np. służą do rozwiązywania problemów optymalizacyjnych. Na potrzeby kolejnych pytań, zakładamy, że nasze maszyny mają za zadanie wykonać dużą liczbę ciężkich obliczeniowo zadań, np. służą do rozwiązywania problemów optymalizacyjnych.
  
-**Zadanie ​9**: Czy domyślny //​timeslice//​ jest w porządku?+**Zadanie ​8**: Czy domyślny //​timeslice//​ jest w porządku?
  
-**Zadanie ​10**: Proszę ustawić //rate limiting// tak, żeby odpowiadało środowisku małej liczby maszyn o dużej liczbie obliczeń do wykonania. ​+**Zadanie ​9**: Proszę ustawić //rate limiting// tak, żeby odpowiadało środowisku małej liczby maszyn o dużej liczbie obliczeń do wykonania. ​
  
-**Zadanie ​11**: Proszę teraz uruchomić testy CPU na wszystkich maszynach równocześnie i zapisać wyniki.+**Zadanie ​10**: Proszę teraz uruchomić testy CPU na wszystkich maszynach równocześnie i zapisać wyniki.
  
-**Zadanie ​12**: Proszę ustawić wagi schedulera tak, żeby maszyna ''​lab2-pvhvm''​ była "dwa razy" ważniejsza od innych.+**Zadanie ​11**: Proszę ustawić wagi schedulera tak, żeby maszyna ''​lab2-pvhvm''​ była "dwa razy" ważniejsza od innych.
  
-**Zadanie ​13**: Proszę ustawić ograniczenia tak, żeby żadna maszyna poza ''​lab2-phvm''​ nie mogła używać naraz więcej niż 1,5 rdzenia.+**Zadanie ​12**: Proszę ustawić ograniczenia tak, żeby żadna maszyna poza ''​lab2-phvm''​ nie mogła używać naraz więcej niż 1,5 rdzenia.
  
-**Zadanie ​14**: Proszę teraz ponownie uruchomić testy CPU na wszystkich maszynach równocześnie. Czy wyniki testów się zmieniły?+**Zadanie ​13**: Proszę teraz ponownie uruchomić testy CPU na wszystkich maszynach równocześnie. Czy wyniki testów się zmieniły?
  
-**Zadanie ​15**: Proszę zmienić scheduler na ''​credit2''​ i ponownie przetestować działanie procesora. +**Zadanie ​14**: Proszę zmienić scheduler na ''​credit2''​ i ponownie przetestować działanie procesora. 
-**Podpowiedź**:​ konfiguracja ''​gruba''​ i [[https://​xenbits.xen.org/​docs/​4.4-testing/​misc/​xen-command-line.html|docs/​misc/​xen-command-line.html]]+**Podpowiedź**:​ konfiguracja ''​gruba''​ i [[https://​xenbits.xen.org/​docs/​4.8-testing/​misc/​xen-command-line.html|docs/​misc/​xen-command-line.html]]
  
-===== Lekcja ​6: Stronicowanie pamięci =====+===== 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:​ 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:​
Linia 130: Linia 161:
     * 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ń.     * 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 ​16**: Proszę wyłączyć hap na jednej z maszyn ([[https://​xenbits.xen.org/​docs/​4.4-testing/​man/​xl.cfg.5.html|dokumentacja xl.cfg]]).+**Zadanie ​15**: Proszę wyłączyć hap na jednej z maszyn ([[https://​xenbits.xen.org/​docs/​4.8-testing/​man/​xl.cfg.5.html|dokumentacja xl.cfg]]).
  
 Żeby przetestować prędkość ramu, trzeba uciec się do sztuczki, mianowicie można stworzyć partycję, która znajduje się w ramie, np. Żeby przetestować prędkość ramu, trzeba uciec się do sztuczki, mianowicie można stworzyć partycję, która znajduje się w ramie, np.
Linia 142: Linia 173:
 Następnie w katalogu ''​RAM_test''​ używamy testów wcześniej używanych do testowania dysku twardego. ​ Następnie w katalogu ''​RAM_test''​ używamy testów wcześniej używanych do testowania dysku twardego. ​
  
-**Zadanie ​16**: Proszę przeprowadzić testy oparte o narzędzie ''​dd''​. Czy jest widoczna różnica między //​shadowing//​ a //hap//?+**Zadanie ​15**: Proszę przeprowadzić testy oparte o narzędzie ''​dd''​. Czy jest widoczna różnica między //​shadowing//​ a //hap//?
  
 ===== Lekcja 7: Benchmark Professional ===== ===== Lekcja 7: Benchmark Professional =====
Linia 159: Linia 190:
   ​   ​
   ​   ​
-**Zadanie ​17**: która maszyna ma najwyższy wynik SBIS?+**Zadanie ​16**: która maszyna ma najwyższy wynik SBIS?
 ===== Epilog: Sprzątanie ===== ===== Epilog: Sprzątanie =====
  
pl/dydaktyka/sitw/2016/xen/lab3.1480493992.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