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 DomUexternal link . 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.