Rozumiem, że KB VMWare marszczy brwi po długotrwałych migawkach, głównie z powodu dwóch rzeczy (moim zdaniem)
Wykonywanie mnóstwa migawek może zapełnić magazyn danych. Migawki to po prostu pliki delta. Załóżmy, że masz 50 Gig VMDK, prawie pełny, i robisz migawkę. W migawce odwracasz każdy bit. Twój plik delta będzie miał około 50 GB. Zrób migawkę, odwróć bity, kolejny plik delta 50 Gig. Mogą szybko wymknąć się spod kontroli.
Przeprowadzanie dużych migawek niesie ze sobą ryzyko. Podczas konsolidacji migawek zapisujesz zmiany delty w oryginalnym VMDK. To wymaga czasu i niesie ryzyko, że jeśli coś się stanie, właśnie nuknąłeś swój VMDK.
Ich ostrzeżenia wydają się mieć logiczny sens.
Biorąc to pod uwagę, czy z natury źle jest uruchomić moją maszynę na stałe z migawki VMDK? Chcę, aby moje drzewo było następujące:
- Baza
- Snap1
- Snap 2
- Jesteś tutaj
- Snap1
Snap 1 i 2 zostaną pobrane natychmiast po zainstalowaniu i udostępnieniu systemu podstawowego. Są to maszyny, które planuję często odświeżać, dzięki czemu moje drzewo będzie wyglądać następująco:
- Baza
- Snap1
- Jesteś tutaj
- Snap 2
- Snap1
Usuń Snap2 i ponownie utwórz Snap2.
Nie widzę, jak mogłoby to mieć jakiekolwiek implikacje z następujących powodów:
Ponieważ po prostu zainstalowałem obraz podstawowy i zabrałem swoje delty natychmiast po tym, jak nie ma możliwości, żebym mógł zapełnić magazyn danych. Zakładając, że mój podstawowy obraz ma tylko 10 GB (na dysku o pojemności 50 GB), nawet jeśli moja delta przerzuciła każdy bit, maksymalne moje całkowite użycie może wynosić 60 GB (10 GB podstawowego VMDK, który jest zablokowany + 50 GB delta w plik VMDK migawki). Zakłada się, że nie tworzę żadnych dalszych migawek.
Ponieważ mój przypadek użycia nie wymaga konsolidacji migawek, nie ryzykuję błędów podczas konsolidacji moich delt. Kiedy wracam do Snap1 i usuwam Snap2, cała delta, która znajdowała się w Snap2, po prostu zostaje usunięta.
Obciążenie pamięci jest dokładnie takie samo, więc powinienem dostawać takie same IOPS. Rozumiem, że niektóre pliki (głównie pliki systemowe) będą istniały na oryginalnym VMDK, a inne (wszystko po bazie) będą znajdować się w delcie, ale nie rozumiem, jak ESXI by to obchodziło. Wszystkie pliki znajdują się w tym samym fizycznym magazynie danych, więc wydajność powinna odpowiadać odwoływaniu się do wszystkiego w oryginalnym VMDK bez migawek.
jakieś pomysły? ESXI 5.5 z magazynem danych RAID'd DAS.
Nie mam licencji vCenter, więc szablony i klonowanie nie są dostępne.
WYNIKI TESTU
Przyszedłem dziś wcześnie, by przeprowadzić testy. Oto wyniki. Występuje kara wydajnościowa, ale nie jestem pewien, dlaczego.
Przed migawką:
Po wykonaniu migawki:
źródło
Odpowiedzi:
Tak, długotrwałe migawki mają wpływ na wydajność. Istnieją jeszcze większe implikacje dla konsolidacji delta VMDK z powrotem do oryginalnego pliku na dysku. Może to powodować brak reakcji w systemie operacyjnym maszyny wirtualnej lub inne niepożądane zachowanie.
VMware ma wbudowane funkcje szablonów i klonowania w vCenter. Aby to umożliwić, potrzebujesz licencji vSphere Essentials na 600 USD.
Możesz utworzyć maszynę wirtualną według własnego gustu, a następnie sklonować ją do szablonu. Tego szablonu można następnie użyć do wygenerowania nowych maszyn wirtualnych z obrazu „Golden Master”.
Pozwala to na uzyskanie „czystego stanu”, ale także tworzenie długotrwałych lub stałych maszyn wirtualnych z tego obrazu głównego. Nie są potrzebne migawki.
źródło
Odpowiedź ewwhite jest poprawna, ale aby rozszerzyć nieco lub zmniejszyć wydajność, rozważ następujący scenariusz:
Tworzysz maszynę wirtualną. Wirtualny odczyt z vmdk zajmuje jeden fizyczny odczyt dysku o tym samym rozmiarze. Dość bezpośredni.
Teraz wyobraź sobie, że robisz migawkę maszyny wirtualnej. Teraz, dla każdego wirtualnego odczytu, musisz ponieść 2 fizyczne odczyty, jeden z podstawowego vmdk i jeden z delta vmdk, ponieważ potrzebujesz informacji z obu, aby uzyskać bieżący stan. Jesteś teraz dwa razy większy niż fizyczny odczyt dysku.
W przypadku dwóch migawek wykonujesz trzykrotne odczyty i tak dalej. Jeśli masz dużo migawek, możesz zobaczyć, jak może to być dość znacząca kara wydajności. Niekoniecznie przekłada się to na n-krotnie gorszą wydajność (z powodu buforowania, sekcji, które nie zostały zmienione itp.), Ale nie jest to dobra praktyka.
źródło
Migawki VMware ESX są przeznaczone do krótkotrwałego użytkowania.
Długie użytkowanie i ciężkie operacje we / wy mogą powodować zawieszanie się maszyn wirtualnych. Jeśli masz przypadek, gdy zapis IO jest większy / szybszy niż konsolidacja migawki, ESX zamrozi maszynę wirtualną w celu ochrony danych. Migawki czasowe ulegają fragmentacji, a ESX dokonuje wewnętrznej konsolidacji, co powoduje okresowe zawieszanie się.
Możesz wykonywać szablony VM ręcznie przez ssh. Skopiuj folder VM zawierający vmdk, vmx itp. Do nowego folderu. W pliku vmx nowo skopiowanej maszyny wirtualnej zmień UID i adres MAC.
VMware ma produkt, Linked Clone, który jest tym samym, co próbujesz zrobić. Mówią, że ma to potencjalne problemy z wydajnością. W praktyce po pewnym czasie będziesz remasterować maszyny wirtualne. https://www.vmware.com/support/ws5/doc/ws_clone_typeofclone.html
źródło