Dlaczego migawki są traktowane jako tymczasowe kopie zapasowe, a nie rzeczywiste kopie zapasowe?

27

Używam VMware ESXi. W naszym zespole używamy migawek do tworzenia długoterminowych kopii zapasowych.

Potem napotkaliśmy problemy, takie jak przenikanie pamięci i serwer się rozłączył.

Zacząłem czytać artykuły z bazy wiedzy VMware i wszędzie. Wszędzie zaleca się, aby nie robić migawek przez długi czas.

Nawet VMware zaleca przechowywanie migawek przez maksymalnie trzy dni.

Ale nasz zespół ciągle prosił nas o co najmniej dwie stałe migawki (aż do usunięcia maszyny wirtualnej). Czasami możemy korzystać z maszyny wirtualnej przez rok).

  1. jedna migawka jest dla świeżego stanu maszyny. (Po zakończeniu testowania aplikacji wrócimy do stanu świeżego i zainstalujemy inną aplikację) (Jeśli nie pozwolę na to, często będę musiał hostować maszynę wirtualną).

  2. Następna migawka do utrzymywania maszyny Wirtualnej w jakimś stanie (być może znaleźliby problem i utrzymywały ten stan przez pewien czas. Lub mogą zainstalować wymagania wstępne dla aplikacji i utrzymywać maszynę w gotowości do testowania).

Logicznie ich potrzeby wydają się być sprawiedliwe. Ale jeśli pozwolę na to, pozwolę im trzymać migawki przez długi czas. Nie używamy naszej maszyny wirtualnej jako serwera poczty lub serwera bazy danych.

Dlaczego przechowywanie migawek przez długi czas ma niekorzystny wpływ?

Dlaczego migawki są traktowane jako tymczasowe kopie zapasowe, a nie rzeczywiste kopie zapasowe?

Samselvaprabu
źródło

Odpowiedzi:

33

Gdy maszyna wirtualna ma aktywną migawkę, jej operacje we / wy dysku wirtualnego nie są wykonywane na rzeczywistych plikach .VMDK maszyny wirtualnej, ale są one zachowywane bez zmian, a wszelkie zmiany na maszynie wirtualnej są zapisywane w różnych plikach fizycznych; pozwala to na przywrócenie poprzedniego stanu maszyny wirtualnej, ale ma trzy ważne skutki uboczne:

  • Dysk We / Wy dla maszyny wirtualnej jest znacznie wolniejszy.
  • Te pliki „delta” z czasem rosną, ponieważ maszyna wirtualna wykonuje coraz więcej operacji we / wy dysku.
  • Po usunięciu migawki zmiany zapisane w plikach „delta” muszą zostać scalone z powrotem w główne pliki .VMDK, a jest to bardzo powolne i czasochłonne, jeśli migawka była aktywna przez długi czas.

Rzeczywiście lepiej nie przechowywać aktywnych migawek przez długi czas. Jeśli potrzebujesz długoterminowej kopii zapasowej maszyny wirtualnej w danym stanie, możesz po prostu skopiować maszynę wirtualną gdzie indziej: nie będzie to miało wpływu na wydajność maszyny wirtualnej, a mimo to skończysz zużywanie mniejszej ilości miejsca na dysku niż to, co długo- migawki terminów zapełniają się z czasem.

Ponadto posiadanie kopii maszyny wirtualnej przechowywanej w innym miejscu pomoże ci w przypadku utraty maszyny wirtualnej: migawki są przechowywane razem z maszyną wirtualną, do której należą, i są użyteczne tylko wtedy, gdy maszyna wirtualna jest dostępna; są całkowicie bezużyteczne w przypadku faktycznej utraty danych (jak awaria magazynu danych), a zatem nie mogą być używane jako rzeczywiste kopie zapasowe.

Oto niektóre oficjalne dokumenty dotyczące migawek:

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180

Massimo
źródło
1
KB, aby potwierdzić niektóre z powyższych punktów, zobacz wiersz 2 w sekcji poświęconej
Cold T
5

Niektóre formaty migawek używane przez vmware z czasem obniżają wydajność, ponieważ przechowują więcej danych. Wydaje mi się, że format „rzadkiego zasięgu”, który jest nadal domyślny w najnowszych wersjach, nie ma tej właściwości (patrzysz na 3 odczyty na odczyt i do 2 odczytów lub 3 zapisów na zapis, ale to nie oznacza gorzej, gdy dysk się zapełnia). Nie jestem więc do końca pewien, czy właściwość „nie przechowuj migawek przez długi czas” zawsze musi być poprawną poradą.

Zauważyłem jednak, że scalanie migawek trwa wieki, gdy stają się duże. W zależności od przypadku użycia może to stanowić problem.

Jeśli chodzi o inne pytanie dotyczące „tymczasowej kopii zapasowej”, cóż, to proste - kopia zapasowa ma na celu przetrwanie utraty podstawowego magazynu danych. Ponieważ migawki i źródła są przechowywane razem (a migawka jest bezużyteczna bez obrazu podstawowego), dużo tracisz - dlatego migawka nie jest w żaden sposób kopią zapasową.

womble
źródło
5

Wiem, że ten post jest trochę stary, ale pytanie i poruszone kwestie są nadal bardzo aktualne.

Migawki VMware zdecydowanie nie są kopiami zapasowymi. Co gorsza, że ​​spotkałem mnie i wielu klientów, którzy trzymają 6-miesięczną migawkę VMware, host ESXi doświadcza nieplanowanych zakłóceń powodujących ponowne uruchomienie ESXi lub konieczny jest restart w celu usunięcia zakłócenia. ESXi jest odzyskiwane, maszyny wirtualne są uruchamiane, a wszystkie dane zostały przywrócone do momentu, w którym wykonano migawkę VMware.

W tym scenariuszu wszystkie zmiany między momentem wykonania migawek VMware a momentem zakłócenia są po prostu utracone.

Więc moja ogólna rada to brać migawki VMware tylko do określonego celu i usuwać je, gdy tylko spełnią ten cel.

http://kb.vmware.com/kb/1025279

Jay Ge
źródło
3

Jako rozwiązanie prośby Twojego zespołu o czysty obraz instalacyjny lub określony stan, polecam użycie szablonów. Szablony klonują maszynę wirtualną (w zasadzie tylko kopię) do stanu, którego nie można włączyć ani zmienić, można jej użyć jako odniesienia do klonowania kopii. Na przykład, jeśli mam szablon „Domyślna instalacja Debiana”, a zespół serwerów prosi o trzy nowe serwery, po prostu tworzę trzy nowe klony, dostosowuję i gotowe.

To samo można zrobić dla drugiego scenariusza. Jeśli maszyna wirtualna osiągnie stan, do którego chcesz się odwoływać, utwórz szablon. Odtąd, za każdym razem, gdy trzeba będzie się do niego odwoływać, wystarczy sklonować kolejną kopię.

Jim G.
źródło
1

Ideą migawki jest raczej punkt przywracania, zanim przeprowadzisz ponowną konfigurację maszyny wirtualnej (zainstaluj nowe oprogramowanie, ważna aktualizacja itp.). Więc jeśli go wykorzystasz, możesz cofnąć się do momentu, w którym działał, i odejść, gwiżdżąc bez obwiniania któregoś z twoich współpracowników :)

A ogólną ideą jest to, że w pewnym momencie w przyszłości połączysz (kiedy możesz to obniżyć na jakiś czas bez wpływu na użytkowników).

Bojan Markovic
źródło
1

Nie powinieneś trzymać migawki vmware z powodów, które inni już tu opisali, ale wiele osób robi to, aby mieć migawkę vmware, a następnie zrobić to czysto (zależy od gościa, co naprawdę robi migawka) weź migawkę macierzy pamięci, aby uzyskać, a następnie możesz wykonać kopię zapasową / skopiować / archiwizować / itp. tę migawkę. Po utworzeniu prawdziwej migawki na tablicy, musisz jak najszybciej usunąć migawkę vmware.

pfo
źródło