To jest stara wersja strony!


XEN: Zarządzenia wydajnością i zasobami

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ą:

  1. różne tryby wirtualizacji
  2. różne konfiguracje twardego dysku
  3. różne konfiguracje schedulera CPU
  4. różne konfiguracje stronicowania pamięci RAM

Preliminaria

Proszę zalogować się na konto roota i wykonać następującą komendę:

cd /home/student/sitw && ./prepare_xen_lab2.sh && update-grub
reboot

Po ponownym uruchomieniu komputera powinien włączyć się znajomy już Xen.

Podczas laboratorium przydatna może okazać się dokumentacja Xen'a.

Lekcja 1: Gość w dom

Zacznijmy od zbadania wpływu jaki ma tryb wirtualizacji na wydajność maszyny. 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:

  • nazwa hosta: „lab2-pvm”
  • pamięć 512MB
  • dwa wirtualne procesory
  • sieć skonfigurowana przez dhcp
  • dystrybucja debian jessie
  • zapis obrazu używając zwykłego katalogu o ścieżce '/home/student/sitw'
  • system nie powinien być instalowany wraz z uruchomieniem komedy

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 3: Proszę stworzyć i uruchomić domenę. Hasło root'a: xena.

Gość Drugi: HVM ze sterownikami PVM

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 (/etc/xen/) do nowego pliku /etc/xen/lab2-pvhvm.

Zadanie 4: Należy wprowadzić do pliku pewne zmiany:

  • nazwa gościa powinna brzmieć lab2-pvhvm
  • powinien mieć 512MB ramu
  • powinien mieć dwa dyski twarde na wzór konfiguracji lab2-pvm (proszę pamiętać o zmianie ścieżek)
  • powinien mieć napęd cdrom z zamontowanym plikiem /home/student/sitw/images/debian-install.iso:
    • jeżeli plik nie istnieje proszę wykonać komendę:
wget http://cdimage.debian.org/debian-cd/8.6.0/amd64/iso-cd/debian-8.6.0-amd64-netinst.iso -o /home/student/sitw/images/debian-install.iso
  • powinien korzystać z vnc do dzielenia ekranu
  • powinien najpierw bootować stację cdrom
    • podpowiedź: składnia plików konfiguracyjnych maszyn jest opisana w dokumentacji xl.cfg

Teraz potrzebujemy tylko dysków twardych, żeby móc zainstalować system. Aby stworzyć plikopartycję, można posłużyć się poleceniem dd, które służy do najprostszego kopiowania bajt po bajcie. Plikopartycja, to nic innego jak pusty plik, który ma zadaną wielkość. Aby stworzyć plik, który ma służyć za partycję swap o rozmiarze 128MB, można posłużyć się poleceniem:

dd if=/dev/zero of=./swap.img bs=1024k seek=128 count=0

gdzie:

  • if to źródło, w tym przypadku źródło zer
  • of to strumień wyjściowy
  • bs to rozmiar kopiowanego bloku
  • seek ile bloków można pominąć, bo nie są nic warte (przyśpiesza sprawę)
  • count ile bloków skopiować

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 7: Proszę połączyć się z maszyną używając narzędzie vncviewer (w razie potrzeby zainstalować).

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).
  • Jak poprzednio, użyć gotowych obrazów swap.img i pvm/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.

Gość Trzeci: HVM bez PV

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 do pliku lab2-hvm i dokonać trzech zmian:

  • zmienić nazwę maszyny
  • 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 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 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:

xl help sched-credit

oraz 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. Następnie: <code bash> cd /home/student/sitw && ./clean_xen_lab2.sh </code> I na koniec proszę uruchomić komputer ponownie**, tym razem bez Xena i zaktualizować konfigurację gruba:

update-grub
pl/dydaktyka/sitw/2016/xen/lab2.1479805927.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