Czy snapshot to backup? - blogersii

Software Development

Czy snapshot to backup?

Grudzień 14, 2015 0
Podziel się:

Często spotykanym problem w życiu codziennym jest mylenie roli snapshotu maszyny wirtualnej z jej backup-em. Oczywiście snapshot to nie backup, o czym będę starał się przekonać w dalszej części artykułu.

Zapewne prawie każdy Administrator Systemu spotkał się kiedyś z prośbą skierowaną do niego od zespołu programistów lub od właściciela technicznego systemu, aby wykonać dla niego „snapshot, czyli backup środowiska”. Ten sam Administrator „rwał sobie nie raz włosy z głowy” widząc ile snapshot danej maszyny wirtualnej jest w stanie wykonać osoba mająca takie uprawnienia w systemie, ale nie mająca świadomości istotnych różnic pomiędzy tymi czynnościami. Oczywiście duża liczba snapshot-ów maszyny wirtualnej nie podnosi bezpieczeństwa tego środowiska – wręcz przeciwnie – może wpłynąć negatywnie na jego wydajność i stanowić duży problem przy próbie usunięcia starych snapshot-ów, co może w skrajnym przypadku wiązać się nawet z potencjalnym ryzykiem utraty danych podczas powtórnego scalania maszyny.

Ktoś może spytać – to po co w ogóle jest snapshot, skoro ma tyle wad? Otóż ma sporo zalet, jeżeli rozumiemy jego istotę. Snapshot umożliwia „zamrożenie” stanu danych środowiska na określony moment, przez co możemy w stosunkowo krótkim czasie cofnąć się do tego stanu np. w przypadku niepowodzenia wdrażania jakiejś zmiany lub nawet awarii po jej wdrożeniu. Jest oczywiście inna opcja – po wykonaniu snapshot zmiany zostały wdrożone poprawnie, uznajemy stan środowiska za stabilny i nie przewidujemy opcji cofania się w czasie do poprzedniego stanu – to moment na usunięcie snapshot, a właściwie scalenie danych – źródłowych zapisanych w momencie wykonywania snahspot ze zmianami powstałymi od tego momentu. Jeżeli nie usuniemy snapshot – środowisko będzie oczywiście działać, ale plik danych snapshot będzie z biegiem czasu, w miarę przybywania danych „puchł” i może nawet przekroczyć w skrajnym przypadku rozmiar pliku źródłowego. Tak więc wykonujmy nadal snapshot-y, ale pamiętajmy o dobrych praktykach oraz różnicach pomiędzy snapshot a backup, czyli:

  • wykonanie snapshot liczymy zazwyczaj w minutach, wykonanie backup (full backup) trwa zazwyczaj min. kilka godzin.
  • przeniesienie danych snapshot (tylko snapshot) z jednej fizycznej lokalizacji do drugiej nie umożliwia odtworzenia środowiska – dla porównania przeniesienie danych backup daje taką możliwość.
  • w odniesieniu do maszyny wirtualnej, wykonanie snapshot tej maszyny tworzy oddzielny plik różnicy, gdzie od momentu wykonania snapshot zapisywane są nowe dane.
  • dobre praktyki zalecają jak najszybsze „pozbycie się” snapshota poprzez scalenie danych maszyny wirtualnej (źródła i różnicy). Im dłużej „żyje” snapshot, tym dłużej potrwa powtórne scalenie danych a ryzyko niepowodzenia tej operacji rośnie; dla porównania dobre praktyki nie zalecają jak najszybszego „pozbycia się” backup-u 🙂

Na koniec trochę definicji:

  • Snapshot – określany jako „migawka”, zrzut danych zapewniający dostęp do ich starszych wersji. Często używany w odniesieniu do maszyn wirtualnych, oznaczając „zamrożenie” stanu dysków maszyny wirtualnej.
  • Backup – określany jako „kopia bezpieczeństwa”, zrzut danych zapewniający możliwość ich odtworzenia w przypadku ich awarii lub uszkodzenia.
Oceń ten post
Tagi: ,
Piotr Kromołowski
Autor: Piotr Kromołowski
Piotr jest Practice Managerem IT Infrastructure. Pełni również funkcję IT Infrastructure Managera w Internal IT. Pracuje w Sii ponad 7 lat, wcześniej zajmował się kierowaniem Internal IT.

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

Zostaw komentarz