Pisałem już HOWTO o konfiguracji Xen’a ale nie opisałem jak się bawić wirtualkami gdy Xen’a już mamy. To nadrabiam.
Tworzenie i usuwanie maszyn wirtualnych
Do tworzenia/niszczenia DomU wykorzystuję pakiet xen-tools dostarczający m.in. dwa narzędzia:
xen-create
- dla którego przygotowałem dość skomplikowaną konfigurację przy okazji wcześniejszego posta: Instalacja i konfiguracja DomU . Przykład użycia:xen-create --hostname example-domu --ip 10.0.0.77 \ --gateway 10.0.0.1 --broadcast 10.0.0.255 --netmask 255.255.255.0 \ --bridge br10 --vcpus 2 --memory=2G
xen-delete-image
- narzędzie do kasowania wirtualnych maszyn. Maszyna musi być wyłączona aby można było ją usunąć. Narzędzie to kasuje plik konfiguracyjny maszyny wirtualnej oraz przydzielone jej volumeny lvm. Przykład użycia:xen-delete-image nazwamaszyny
Zarządzanie maszynami wirtualnymi
Do uruchamiania, wyłączanie, resetowania (i ogólnie zarządzania) maszynami wirtualnymi służy tylko jedno polecenie: xm
z różnymi parametrami:
xm list
- listuje uruchomione w danej chwili wirtualne maszyny, wyświetlając przydzieloną im ilość pamięci, procesorów, stan (uruchomiona, zawieszona), czas działania (uptime). Dla objaśnienia Domain-0 (zwane też Dom-O) to hyperwisor czyli fizyczna maszyna na której uruchomione są wirtualki.xm top
- polecenie wyświetla dokładne dane chwilowego zużycia zasobów dla różnych wirtualnych maszyn i Dom-0.xm create nazwapliku.cfg
- uruchamia maszynę wirtualną zgodnie z instrukcjami zawartymi w pliku konfiguracyjnym (przydzielone dyski, pamięć, etc).xm shutdown nazwamaszyny
- wysyła sygnał wyłączenia maszyny wirtualnej i wraca do wiersza poleceń. Dokładnie to polecenie wysyła sygnał ACPI równoważny przyciśnięciu przycisku Power na obudowie komputera - system operacyjny wykrywa to zdarzenie i zaczyna się wyłączać. Jest to zalecana instrukcja do wyłączania wirtualek. Należy pamiętać, że po wykonaniu tego polecenia jeszcze przez kilka/kilkanaście sekund maszyna działa - do puki nie skończy się wyłączać.xm shutdown -w nazwamaszyny
- działa jak powyższe polecenie, ale dodatkowo czeka aż maszyna wirtualna zostanie wyłączona a przydzielone jej zasoby zwolnione. Gdy to polecenie skończy się wykonywać mamy pewność, że maszyna jest już wyłączona.xm destroy nazwamaszyny
- polecenie do twardego resetu maszyny wirtualnej. Najpierw odbierany jest czas procesora dla maszyny, potem zwalniana pamięć i zarezerwowane uchwyty. Wykorzystując to polecenie może dojść do utraty danych lub uszkodzenia OS‘u na wirtualnej maszynie.xm reboot nazwamaszyny
- restartuje maszynę wirtualną w bezpieczny sposób (czyli wysyła sygnał ACPI do wyłączenia i startuje DomU). Gdy zmodyfikujemy plik konfiguracyjny danego DomU nie wystarczy wywołaćxm reboot
- przeważnie potrzeba położyć maszynę i ponownie ją uruchomić, np. tak:
xm shutdown -w maszyna && xm create maszyna.cfg
xm pause nazwamaszyny
- pauzuje wirtualną maszynę, zamrażając ją w obecnym stanie razem z pamięcią itd.xm unpause nazwamaszyny
- uruchamia zapauzowaną wcześniej maszynę wirtualną. Działa odwrotnie do polecenia powyżej.xm console nazwamaszyny
- polecenie działa jak „podpięcie monitora” do fizycznej maszyny, na pierwszy terminal. Bardzo przydatne zaraz po utworzeniu wirtualki jak również w różnych sytuacjach kryzysowych 😉
Jest jeszcze kilka innych poleceń np. dodających na gorąco urządzenia blokowe ale ich działanie mocno zależy od wersji Xen’a i jajka.