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, by zacząć jeszcze raz, od nowa. 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 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 bezpieczniejsze pole na zmiany w oprogramowaniu czy eksperymenty, gdy może pójść coś nie tak. Jedna migawka wcześniej wykonana i nawet gdy zepsujemy całkiem system to wracamy błyskawicznie do poprzedniego stanu.
Aby najlepiej zrozumieć koncepcje migawek najlepiej samemu 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 oknie programu na wejdź w rozwijalne menu wirtualnej maszyny i pomiędzy opcjami Detale i Logi jest właśnie opcja Migawki. Teraz widać ze mamy kilka dodatkowych możliwości z tym związanych: możemy utworzyć nowa migawkę, powrócić do poprzedniej lub ja 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 zawartość pamięci RAM. Opcje ta znajdziesz w menu Maszyna/Zrób migawkę. 

Od strony technicznej tworzenie migawek działa tak, że virtualbox tworzy dodatkowy plik dla wirtualnego dysku ze zmianami, 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.