Virtualbox. Snapshoty czyli migawki.
Na pewno spotkałeś się w grach, szczególnie FPS, z tak zwanymi checkpointami. Są to punkty zapisu, do których można wrócić, gdy zginiemy lub coś tak pójdzie nie tak, aby zacząć jeszcze raz, od danego punktu. Często to jest ostatni bezpieczny zapis przed podejściem do niebezpiecznego zadania. Takie też punkty mamy w Virtualboksie i nazywają się migawki (snapshots).

Dla jasności, migawka to taki punkt zapisu dla stanu danych wirtualnej maszyny. Po jego wykonaniu możemy normalnie dalej pracować. Jednak w każdej chwili możemy wrócić do migawki i wszystkie dane ustawienia powrócą do stanu gdy wykonaliśmy owy zapis – migawkę. Sytuacji w których przydadzą się migawki może być wiele. Na przykład, chcemy wprowadzić poważną zmianę w systemie lub w oprogramowaniu na wirtualnej maszynie ale chcemy też mieć możliwość powrócenia do poprzedniego stanu przed zmiana. Daje to bezpieczniejsze pole na zmiany w oprogramowaniu czy inne eksperymenty, gdy może pójść coś nie tak. Jedna migawka wcześniej wykonana i nawet gdy zepsujemy całkiem system, tak że nie będzie się uruchamiał, to możemy błyskawicznie przywrócić przedni, poprawny stan.
Aby najlepiej zrozumieć koncepcje migawek najlepiej samemu trochę poeksperymentować. Utwórz migawkę i wprowadź jakieś zmiany w zwirtualizowanym systemie. Najlepiej takie, które łatwo zobaczyć (np utwórz nowy katalog). Teraz w głównym oknie programu, na liście migawek danej maszyny zauważysz że pod migawka znajduje się pozycja “Aktualny stan (zmieniony)” oznacza to właśnie ze wprowadzono jakieś zmiany od ostatniego checkpointa, to znaczy migawki. Aby powrócić do stanu przed zmianami wybierz przycisk Przywróć (Restore) i wracamy do momentu przed zmianą. Przydatna bywa kolumna z datą i godziną kiedy utworzono migawkę.
Co ciekawe, można nawet utworzyć migawkę od migawki – takie zagnieżdżone migawki. Dlatego tu szczególnie zalecam aby dobrze opisywać moment wykonania migawki w polu Opis, gdyż łatwo się potem łatwiej odnaleźć się, gdy mamy wiele migawek stworzonych dla jednej maszyny. Co więcej, powrót do takiej nadrzędnej migawki nie powoduje usunięcie podrzędnych migawek, więc można przechodzić po różnych wersjach historii zmian.
W menu głównym okna programu wejdź w rozwijane menu wirtualnej maszyny i pomiędzy opcjami Detale i Logi jest właśnie opcja Migawki. Teraz widać, że mamy kilka dodatkowych możliwości z tym związanych: możemy utworzyć nowa migawkę, powrócić do poprzedniej lub ją usunąć.
Migawkę można zrobić nawet podczas pracującej maszyny wirtualnej.Trwa to chwile dłużej a dodatkowo tworzony jest plik .sav zawierający zrzut zawartości pamięci RAM. Opcje tę znajdziesz w górnym menu Maszyna/Zrób migawkę.
Od strony technicznej tworzenie migawek działa tak, że virtualbox tworzy dodatkowy plik ze zmianami dla wirtualnego dysku, w katalogu snapshots naszej danej wirtualnej maszyny, (a oryginalny plik dysku przechodzi w tryb tylko do odczytu).
Katalog zapisu migawek można zmienić w ustawieniach wirtualnej maszyny Ogólne/Zaawansowane/Folder migawek, jednak tylko przed wykonaniem pierwszej migawki. Po wykonaniu jakiekolwiek migawki ta opcja jest niedostępna (wyszarzona).
Pamiętaj, że dodatkowe pliki migawek powodują zajęcie większej przestrzeni na dysku twardym gospodarza. Spada też minimalnie wydajność maszyny, ponieważ program musi korzystać z wielu plików wirtualnych dysków na raz (ten podstawowy i te różnicowe). Czyli nie zalecane jest aby korzystać z migawek tam gdzie bardzo istotna jest wydajność dyskowa wirtualnej maszyny.
Usunięcie migawki powoduje, że dysk różnicowy (też gdzie zapisywane są zmiany) zostanie scalony z głównym plikiem wirtualnego dysku. Zalecam tu najpierw przywrócenie stanu do migawki a potem jej usunięcie.
Migawki to bardzo fajny mechanizm, który sprawia że praca z wirtualnymi maszynami staje się przyjemniejsza a wprowadzanie zmian bezpieczniejsze.
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.