Virtualbox. Migawki z CLI
Virtualbox daje nam możliwość tworzenia migawek w locie, czyli podczas pracującej maszyny, z poziomu linii poleceń. Jest to o tyle przydatna opcja, że możemy ustawić sobie w harmonogramie zadań systemu czy cronie, aby automatycznie i cyklicznie była tworzona migawka. Na przykład, przed zmianami czy wdrożeniem nowej wersji danego dnia, wcześniej wykonywana jest migawka dla bezpieczeństwa i porządku.
Dla przypomnienia, migawka (snapshot) to zapis stanu maszyny wirtualnej. Więcej o migawkach w artykule Virtualbox. Snapshoty czyli migawki.
Tak samo jak możemy utworzyć migawkę z linii poleceń to i mamy też możliwość przywrócić ją czy skasować. Wszystko to co dostępne jest z interfejsu graficznego ma też pokrycie w poleceniach tekstowych.
Do obsługi migawek służy polecenie VBoxManage snapshot
po którym należy podać nazwę wirtualnej maszyny lub UUID i akcje jaka ma się wydarzyć. Na przykład aby wykonać migawkę z CLI podczas pracującej maszyny należy wydać polecenie:
vboxmanage snapshot "Ubuntu local" take Migawka1 --description="testowa migawka z cli" --live
Jeśli chcesz uzyskać szczegółowe informacje na temat danej migawki, wpisz:
vboxmanage snapshot "Ubuntu local" showvminfo Migawkai1
Gdyby jednak okazało się, że chcemy zmienić nazwę bądź opis już utworzonej migawki to możemy do tego celu użyć polecenia:
vboxmanage snapshot "Ubuntu local" edit Migawka1 --description="nowi opis migawki z cli" --name=NowaNazwaMigawki1
Tu zamiast nazwy migawki możemy podać parametr –-current
aby po prostu odnieść się do ostatnio utworzonej migawki.
Aby skasować migawkę wydać poniżej polecenie. Pamiętaj że kasowanie migawki polega na scaleniu pliku różnicowego dysku z plikiem głównym dysku.
vboxmanage snapshot "Ubuntu local" delete Migawka2
Aby przywrócić migawkę, czyli w de facto wrócić do stanu systemu w czasie, gdy migawka została utworzona wydaj poniższe polecenie. Zwróć uwagę, że przywracanie do punktu migawki może odbywać się tylko przy wyłączonej maszynie wirtualnej.
vboxmanage snapshot "Ubuntu local" restore Migawka1
Opcjonalnie, aby przywrócić ostatnia migawkę mozesz wydac polecenie:
vboxmanage snapshot "Ubuntu local" restorecurrent
Na koniec zobaczymy jak możemy wylistować wszystkie migawki danej maszyny.
vboxmanage snapshot "Ubuntu local" list --details
lub
vboxmanage snapshot "Ubuntu local" list --machinereadable
gdzie wynik mamy w formacie klucz-wartość, co przydane jest do dalszego przetwarzania wynikowych danych.
Choć czasem łatwiej orientować się w kwestii migawek w trybie okienkowy, jest to bardziej czytelne, to w przypadku automatyzacji tego procesu linia poleceń jest niezastąpiona ponieważ możemy także to polecenie zastosować w skryptach i harmonogramie.
Jeśli interesujesz się tematem Virtualboxa to zapraszam Cię do kursu Virtualbox w praktyce – tam poznasz szczegółowo wszystkie najważniejsze zagadnienia programu.
Natomiast jeśli chcesz zautomatyzować swoje maszyny wirtualne to kurs Vagrant w praktyce jest właśnie dla Ciebie.