VMotion umożliwia migrację aktywnej maszyny Wirtualnej z jednego serwera fizycznego na drugi. Oznacza to, że konserwacja hosta vSphere nie wymaga żadnych przestojów, a także możliwe jest, bez przestojów, zbalansowanie maszyn wirtualnych w klastrze bez konieczności wyłączania jakichkolwiek maszyn wirtualnych.
VMware obsługuje również długodystansowe vMotion i cross-vCenter vMotion, które umożliwiają migrację obciążeń do innego centrum danych lub chmury. Pozwala to na unikanie katastrof, gdy zagrożenie jest bliskie, uruchamianie obciążeń w określonej strefie czasowej i korzystanie z funkcji Cloud bursting, jeśli zaczynają brakować zasobów.
zanim zaimplementujesz vMotion, upewnij się, że masz wystarczającą ilość pamięci i przepustowości sieci do obsługi procesu migracji, Twoje maszyny wirtualne są zoptymalizowane pod kątem migracji na żywo i wiesz, jak ta funkcja działa w całej infrastrukturze.
wymagania dotyczące migracji VMotion live
prawie każda edycja vSphere zawiera vMotion; tylko zestaw vSphere Essentials nie obsługuje tej funkcji. VMotion jest procesem pomiędzy dwoma hostami ESXi, ale jest inicjowany przez vCenter, więc wymaga licencji vCenter.
reszta wymagań – takich jak Pasmo sieciowe i pamięć RAM – nie jest zbyt wymagająca. Migracja odbywa się między dwoma hostami ESXi, które muszą mieć interfejs VMkernel z włączoną funkcją vMotion i mogą do siebie dotrzeć poprzez połączenie sieciowe.
w przypadku maszyn wirtualnych, które zdecydujesz się na migrację, wymagane jest, aby pozostały w tej samej sieci warstwy 2. Minimalne wymagania dotyczące przepustowości wynoszą 250 MB / s na migrację vMotion, ale lepiej jest mieć dostęp do większej przepustowości.
im większa dostępna przepustowość, tym szybciej można wykonywać migracje, co jest najważniejsze w przypadku maszyn wirtualnych z dużą ilością pamięci RAM.
jak działa vMotion
aby przenieść maszynę wirtualną na inny komputer fizyczny, należy przenieść zawartość pamięci i przełączyć wszystkie procesy przetwarzania na inny komputer. VCenter inicjuje vMotion i rozpoczyna migrację po sprawdzeniu zgodności z hostem źródłowym i docelowym ESXi.
proces rozpoczyna się od początkowej kopii pamięci przez sieć obsługującą vMotion. Poniższy obraz pokazuje, gdzie należy skopiować 16 GB PAMIĘCI RAM dla maszyny Wirtualnej z wymaganą ilością pamięci.
najlepiej, aby ten krok był natychmiastowy. Ale skopiowanie 16 GB zajmuje kilka sekund, a podczas tego procesu zmieniają się niektóre strony pamięci w pamięci źródłowej. VMkernel śledzi, co strony zostały zmienione, a następnie kopiuje je do hosta docelowego.
rozważ, że byłby to kolejny gigabajt pamięci RAM. Podczas kopiowania tych 16 GB Pamięć ponownie się zmienia. Staje się to procesem iteracyjnym, jak pokazano na poniższym obrazku.
po kilku iteracjach powinieneś skopiować większość pamięci, a pozostała ilość, którą można skopiować w mniej niż 500 milisekund. Jeśli możesz osiągnąć ten punkt ze względu na szybką zmianę źródła pamięci RAM, maszyna wirtualna zwolni na źródle z ogłuszeniem podczas wysyłania strony, aby umożliwić kopiowanie całej pamięci.
wystarczająca przepustowość jest najważniejszym wymogiem dla dużych maszyn wirtualnych. Na przykład skopiowanie maszyny Wirtualnej o pojemności 768 GB przez łącze o przepustowości 1 Gb / s zajmuje zbyt dużo czasu, aby kiedykolwiek osiągnąć stabilny punkt przełączania.
dobrze jest mieć dedykowaną sieć vMotion z 10 Gbps lub więcej i wieloma kartami sieciowymi. Wiele portów VMkernel jest również zalecane, jeśli wykonujesz wiele migracji jednocześnie lub migrujesz duże maszyny wirtualne.
po skopiowaniu pamięci przetwarzanie instrukcji zatrzymuje się na źródłowym hoście ESXi i kontynuuje na docelowym hoście ESXi. Z punktu widzenia systemu operacyjnego gościa nic się nie stało, ponieważ wszystkie instrukcje są przetwarzane, ale na innym hoście.
potrzebujesz akcji w sieci, ponieważ ruch sieciowy powinien być wysyłany do docelowego hosta ESXi, a nie do źródłowego hosta ESXi. Docelowy host ESXi wysyła pakiet protokołu odwróconej rozdzielczości adresów do fizycznego przełącznika, co uruchamia proces uczenia się komputerów MAC, aby wyświetlić adres MAC maszyny wirtualnej na porcie wychodzącym, na którym podłącza się host ESXi.
teraz obciążenie jest bezproblemowo migrowane i można śmiało powiedzieć, że można przenieść dowolną aplikację obsługującą protokół TCP bez przerw.
ulepszenia i uwagi
na przestrzeni lat większość ulepszeń vMotion została zaimplementowana z powodu stale rosnących specyfikacji maszyn wirtualnych. Tak jest w przypadku vSphere 7, gdzie w aktualizacji 2 można skonfigurować maszynę wirtualną z maksymalnie 896 procesorami wirtualnymi i 24 TB pamięci RAM.
firma VMware wprowadziła istotne ulepszenia w vSphere 7 U1 w zakresie tego, w jaki sposób VMkernel inicjuje proces śledzenia zmian stron pamięci podczas procesu kopiowania pamięci.
funkcja instalacji Loose page Trace eliminuje potrzebę przeciągania wszystkich vCPU podczas wstawiania znacznika strony. Dedykuje jeden vCPU do wykonania tego procesu, aby wszystkie inne vCPU mogły kontynuować wykonywanie instrukcji guest OS.
kolejnym ulepszeniem jest to, że proces maszyny Wirtualnej jest już przełączany przed przeniesieniem całej pamięci do miejsca docelowego. Pamięć na drugim hoście jest oznaczona jako zdalna i jest pobierana później.
jeśli prawidłowo zaprojektujesz i rozmiar hostów i komponentów sieciowych, vMotion nie ma większych wad.