Migracja bez agenta usługi Azure Migrate maszyn wirtualnych VMware
W tym artykule opisano pojęcia dotyczące replikacji podczas migrowania maszyn wirtualnych VMware przy użyciu metody migracji i modernizacji narzędzia do migracji bez agenta.
Proces replikacji
Opcja replikacji bez agenta działa przy użyciu migawek VMware i technologii śledzenia zmienionych bloków programu VMware (CBT) w celu replikowania danych z dysków maszyny wirtualnej. Na poniższym diagramie blokowym przedstawiono różne kroki związane z migracją maszyn wirtualnych przy użyciu narzędzia migracji i modernizacji.
Po skonfigurowaniu replikacji dla maszyny wirtualnej najpierw przechodzi fazę replikacji początkowej. Podczas replikacji początkowej wykonywana jest migawka maszyny wirtualnej, a pełna kopia danych z dysków migawki jest replikowana do dysków zarządzanych w ramach subskrypcji docelowej.
Po zakończeniu replikacji początkowej maszyny wirtualnej proces replikacji przechodzi do fazy replikacji przyrostowej (replikacji różnicowej). W fazie replikacji przyrostowej zmiany danych, które wystąpiły od początku ostatniego ukończonego cyklu replikacji, są replikowane i zapisywane na dyskach zarządzanych repliki, dzięki czemu replikacja jest zsynchronizowana ze zmianami dzieje się na maszynie wirtualnej.
Technologia śledzenia zmienionych bloków (CBT) programu VMware służy do śledzenia zmian między cyklami replikacji. Na początku cyklu replikacji wykonywana jest migawka maszyny wirtualnej, a śledzenie zmienionych bloków służy do pobierania zmian między bieżącą migawką a ostatnią pomyślnie zreplikowanymi migawkami. Tylko dane, które uległy zmianie od poprzedniego ukończonego cyklu replikacji, są replikowane w celu zachowania synchronizacji replikacji maszyny wirtualnej. Na końcu każdego cyklu replikacji jest zwalniana migawka, a konsolidacja migawek jest wykonywana dla maszyny wirtualnej.
Podczas wykonywania operacji migracji na replikowanej maszynie wirtualnej istnieje cykl replikacji różnicowej na żądanie, który replikuje pozostałe zmiany od ostatniego cyklu replikacji. Po zakończeniu cyklu na żądanie replika dyski zarządzane odpowiadające maszynie wirtualnej są używane do tworzenia maszyny wirtualnej na platformie Azure. Przed wyzwoleniem migracji/trybu failover należy zamknąć lokalną maszynę wirtualną. Zamknięcie maszyny wirtualnej zapewnia zerową utratę danych podczas migracji.
Po pomyślnym zakończeniu migracji i uruchomieniu maszyny wirtualnej na platformie Azure upewnij się, że zatrzymasz replikację maszyny wirtualnej. Zatrzymanie replikacji spowoduje usunięcie dysków pośrednich (dysków inicjujących), które zostały utworzone podczas replikacji danych, a także uniknąć naliczania dodatkowych opłat skojarzonych z transakcjami magazynu na tych dyskach.
Cykle replikacji
Uwaga
Upewnij się, że sprawdzasz dostępność migawek z wcześniejszych prób replikacji lub z innych aplikacji innych firm. Nie można włączyć śledzenia zmian na maszynie wirtualnej, jeśli migawki są już obecne dla maszyny wirtualnej. Usuń istniejące migawki lub włącz śledzenie bloków zmian na maszynie wirtualnej.
Cykle replikacji odnoszą się do okresowego procesu przesyłania danych ze środowiska lokalnego do dysków zarządzanych platformy Azure. Pełny cykl replikacji składa się z następujących kroków:
- Tworzenie migawki programu VMware dla każdego dysku skojarzonego z maszyną wirtualną
- Przekazywanie danych do konta magazynu dzienników na platformie Azure
- Migawka wydania
- Konsolidowanie dysków VMware
Mówi się, że cykl zostanie ukończony po skonsolidowanie dysków.
Składniki związane z replikacją
Składniki lokalne: urządzenie usługi Azure Migrate ma następujące składniki, które są odpowiedzialne za replikację
- Agent DRA
- Agent bramy
Składniki platformy Azure: Poniższa tabela zawiera podsumowanie różnych artefaktów platformy Azure utworzonych podczas korzystania z metody bez agenta migracji maszyn wirtualnych VMware.
Składnik | Region (Region) | Subskrypcja | opis |
---|---|---|---|
Magazyn usługi Recovery Services | Region projektu usługi Azure Migrate | Subskrypcja projektu usługi Azure Migrate | Służy do organizowania replikacji danych |
Service Bus | Region docelowy | Subskrypcja projektu usługi Azure Migrate | Służy do komunikacji między usługą w chmurze i urządzeniem usługi Azure Migrate |
Konto magazynu dzienników | Region docelowy | Subskrypcja projektu usługi Azure Migrate | Służy do przechowywania danych replikacji, które są odczytywane przez usługę i stosowane na dysku zarządzanym klienta |
Konto magazynu bramy | Region docelowy | Subskrypcja projektu usługi Azure Migrate | Służy do przechowywania stanów maszyn podczas replikacji |
Magazyn kluczy | Region docelowy | Subskrypcja projektu usługi Azure Migrate | Zarządza parametry połączenia dla usługi Service Bus i kluczy dostępu dla konta magazynu dzienników |
Maszyna wirtualna platformy Azure | Region docelowy | Subskrypcja docelowa | Maszyna wirtualna utworzona na platformie Azure podczas migracji |
Dyski zarządzane platformy Azure | Region docelowy | Subskrypcja docelowa | Dyski zarządzane dołączone do maszyn wirtualnych platformy Azure |
Karty interfejsu sieciowego | Region docelowy | Subskrypcja docelowa | Karty sieciowe dołączone do maszyn wirtualnych utworzonych na platformie Azure |
Wymagane uprawnienia
Po rozpoczęciu replikacji po raz pierwszy zalogowany użytkownik musi mieć przypisane następujące role:
- Właściciel lub współautor i Administracja istrator dostępu użytkowników w grupie zasobów projektu usługi Azure Migrate i docelowej grupie zasobów
W przypadku kolejnych replikacji zalogowany użytkownik musi mieć przypisane następujące role:
- Właściciel lub współautor w grupie zasobów projektu usługi Azure Migrate i docelowej grupie zasobów
Oprócz ról opisanych powyżej zalogowany użytkownik będzie potrzebował następującego uprawnienia na poziomie subskrypcji — Microsoft.Resources/subscriptions/resourceGroups/read
Integralność danych
W każdym cyklu replikacji istnieją dwa etapy, które zapewniają integralność danych między dyskiem lokalnym (dyskiem źródłowym) i dyskiem repliki na platformie Azure (dysk docelowy).
Najpierw sprawdzamy, czy każdy sektor, który zmienił się na dysku źródłowym, jest replikowany na dysk docelowy. Walidacja jest wykonywana przy użyciu map bitowych. Dysk źródłowy jest podzielony na sektory 512 bajtów. Każdy sektor na dysku źródłowym jest mapowany na bit w mapie bitowej. Po rozpoczęciu replikacji danych mapa bitowa jest tworzona dla wszystkich zmienionych bloków (w cyklu różnicowym) na dysku źródłowym, który musi zostać zreplikowany. Podobnie, gdy dane są przesyłane na docelowy dysk platformy Azure, tworzona jest mapa bitowa. Po pomyślnym zakończeniu transferu danych usługa w chmurze porównuje dwie mapy bitowe, aby upewnić się, że żaden zmieniony blok nie zostanie pominięty. W przypadku niezgodności między mapami bitowymi cykl jest uznawany za niepowodzenie. Ponieważ każdy cykl jest ponownie synchronizowany, niezgodność zostanie naprawiona w następnym cyklu.
Następnie upewnimy się, że dane przesyłane do dysków platformy Azure są takie same jak dane replikowane z dysków źródłowych. Każdy przekazany blok jest kompresowany i szyfrowany przed zapisaniem go jako obiekt blob na koncie magazynu dzienników. Obliczamy sumę kontrolną tego bloku przed kompresją. Ta suma kontrolna jest przechowywana jako metadane wraz z skompresowanymi danymi. Po dekompresji suma kontrolna danych jest obliczana i porównywana z sumą kontrolną obliczoną w środowisku źródłowym. Jeśli występuje niezgodność, dane nie są zapisywane na dyskach platformy Azure, a cykl jest uznawany za niepowodzenie. Ponieważ każdy cykl jest ponownie synchronizowany, niezgodność zostanie naprawiona w następnym cyklu.
Zabezpieczenia
Urządzenie usługi Azure Migrate kompresuje dane i szyfruje przed przekazaniem. Dane są przesyłane za pośrednictwem bezpiecznego kanału komunikacyjnego za pośrednictwem protokołu HTTPS i używają protokołu TLS 1.2 lub nowszego. Ponadto usługa Azure Storage automatycznie szyfruje dane, gdy są utrwalane w chmurze (szyfrowanie magazynowane).
Stan replikacji
Gdy maszyna wirtualna przechodzi replikację (kopiowanie danych), istnieje kilka możliwych stanów:
- Replikacja początkowa w kolejce: maszyna wirtualna jest kolejkowana do replikacji (lub migracji), ponieważ mogą istnieć inne maszyny wirtualne korzystające z zasobów lokalnych (podczas replikacji lub migracji). Po udostępnieniu zasobów ta maszyna wirtualna zostanie przetworzona.
- Replikacja początkowa w toku: maszyna wirtualna jest zaplanowana na potrzeby replikacji początkowej.
- Replikacja początkowa: maszyna wirtualna przechodzi replikację początkową. Gdy maszyna wirtualna jest w trakcie replikacji początkowej, nie można kontynuować migracji testowej i migracji. Replikację można zatrzymać tylko na tym etapie.
- Replikacja początkowa (x%): replikacja początkowa jest aktywna i postępuje przez x%.
- Synchronizacja różnicowa: maszyna wirtualna może przechodzić cykl replikacji różnicowej, który replikuje pozostały współczynnik zmian danych od ostatniego cyklu replikacji.
- Wstrzymywanie w toku: maszyna wirtualna przechodzi aktywny cykl replikacji różnicowej i zostanie wstrzymana w pewnym czasie.
- Wstrzymano: cykle replikacji zostały wstrzymane. Cykle replikacji można wznowić, wykonując operację wznawiania replikacji.
- Wznawianie w kolejce: maszyna wirtualna jest w kolejce do wznowienia replikacji, ponieważ istnieją inne maszyny wirtualne, które obecnie zużywają zasoby lokalne.
- Wznawianie w toku (x%): cykl replikacji jest wznawiany dla maszyny wirtualnej i przechodzi przez x%.
- Zatrzymaj replikację w toku: Trwa oczyszczanie replikacji. Po zatrzymaniu replikacji zostaną usunięte pośrednie dyski zarządzane (dyski inicjowane) utworzone podczas replikacji. Dowiedz się więcej.
- Zakończono migrację w toku: Czyszczenie migracji jest w toku. Po zakończeniu migracji zostaną usunięte pośrednie dyski zarządzane (dyski inicjowane) utworzone podczas replikacji. Dowiedz się więcej.
- — jeśli maszyna wirtualna została pomyślnie zmigrowana i/lub po zatrzymaniu replikacji, stan zmieni się na "-". Po zatrzymaniu replikacji/zakończeniu migracji i pomyślnym zakończeniu operacji maszyna wirtualna zostanie usunięta z listy replikowanych maszyn. Maszynę wirtualną można znaleźć na karcie Maszyny wirtualne w kreatorze replikacji.
Inne stany
- Replikacja początkowa nie powiodła się: nie można skopiować danych początkowych dla maszyny wirtualnej. Postępuj zgodnie ze wskazówkami dotyczącymi korygowania, aby rozwiązać ten problem.
- Oczekiwanie na naprawę: wystąpił problem w cyklu replikacji. Możesz wybrać link, aby zrozumieć możliwe przyczyny i akcje do skorygowania (zgodnie z obowiązującymi). Jeśli wybrano opcję Automatyczna naprawa replikacji , wybierając pozycję Tak po wyzwoleniu replikacji maszyny wirtualnej, narzędzie spróbuje go naprawić. W przeciwnym razie wybierz maszynę wirtualną i wybierz pozycję Napraw replikację. Jeśli nie wybrano opcji Automatyczna naprawa replikacji lub jeśli powyższy krok nie zadziałał, zatrzymaj replikację maszyny wirtualnej, zresetuj zmienione śledzenie bloków na maszynie wirtualnej, a następnie skonfiguruj ponownie replikację.
- Napraw replikację w kolejce: maszyna wirtualna jest w kolejce do naprawy replikacji, ponieważ istnieją inne maszyny wirtualne korzystające z zasobów lokalnych. Gdy zasoby będą bezpłatne, maszyna wirtualna zostanie przetworzona na potrzeby replikacji naprawy.
- Ponowna synchronizacja (x%): maszyna wirtualna przechodzi ponowną synchronizację danych. Może się tak zdarzyć, jeśli wystąpił problem/niezgodność podczas replikacji danych.
- Zatrzymaj replikację/ukończenie migracji nie powiodło się: wybierz link, aby zrozumieć możliwe przyczyny niepowodzenia i akcji korygowania (zgodnie z obowiązującymi).
Uwaga
Niektóre maszyny wirtualne są umieszczane w stanie w kolejce, aby zapewnić minimalny wpływ na środowisko źródłowe z powodu użycia operacji we/wy na sekundę magazynu. Te maszyny wirtualne są przetwarzane na podstawie logiki planowania zgodnie z opisem w następnej sekcji.
Stan migracji/testowania migracji
- Oczekiwanie na migrację testową: maszyna wirtualna jest w fazie replikacji różnicowej i można teraz przeprowadzić migrację testową (lub migrację).
- Oczekiwanie na wyczyszczenie migracji testowej: po zakończeniu migracji testowej wykonaj czyszczenie migracji testowej, aby uniknąć opłat na platformie Azure.
- Gotowość do migracji: maszyna wirtualna jest gotowa do migracji na platformę Azure.
- Migracja w toku w kolejce: maszyna wirtualna jest kolejkowana do migracji, ponieważ istnieją inne maszyny wirtualne, które zużywają zasoby lokalne podczas replikacji (lub migracji). Gdy zasoby będą bezpłatne, maszyna wirtualna zostanie przetworzona.
- Trwa testowanie migracji/migracji: maszyna wirtualna przechodzi testową migrację/migrację. Możesz wybrać link, aby sprawdzić bieżące zadanie migracji.
- Data, sygnatura czasowa: data i sygnatura czasowa migracji migracji/testu.
- –: Replikacja początkowa jest w toku. Migrację lub migrację testową można wykonać po przejściu procesu replikacji do fazy synchronizacji różnicowej (replikacji przyrostowej).
Inne stany
- Ukończono z informacjami: Zadanie migracji/testowania migracji zostało ukończone z informacjami. Możesz wybrać link, aby sprawdzić ostatnie zadanie migracji pod kątem możliwych przyczyn i akcji korygowania (zgodnie z obowiązującymi).
- Niepowodzenie: zadanie migracji/migracji testowej nie powiodło się. Możesz wybrać link, aby sprawdzić ostatnie zadanie migracji pod kątem możliwych przyczyn i akcji do skorygowania.
Logika planowania
Replikacja początkowa jest zaplanowana podczas konfigurowania replikacji dla maszyny wirtualnej. Następuje po niej replikacje przyrostowe (replikacje różnicowe).
Cykle replikacji różnicowej są zaplanowane w następujący sposób:
- Pierwszy cykl replikacji różnicowej jest zaplanowany natychmiast po zakończeniu cyklu replikacji początkowej
- Następne cykle replikacji różnicowej są zaplanowane zgodnie z następującą logiką: min[max[1 hour, (Poprzedni czas cyklu replikacji różnicowej/2)], 12 godzin]
Oznacza to, że kolejna replikacja różnicowa zostanie zaplanowana nie wcześniej niż jedna godzina i nie później niż 12 godzin. Jeśli na przykład maszyna wirtualna trwa cztery godziny dla cyklu replikacji różnicowej, następny cykl replikacji różnicowej jest zaplanowany w ciągu dwóch godzin, a nie w ciągu następnej godziny.
Uwaga
Logika planowania jest inna po zakończeniu replikacji początkowej. Pierwszy cykl różnicowy jest zaplanowany natychmiast po zakończeniu replikacji początkowej, a kolejne cykle są zgodne z logiką planowania opisaną powyżej.
- Po wyzwoleniu migracji dla maszyny wirtualnej przed migracją jest wykonywany cykl replikacji różnicowej na żądanie (cykl replikacji różnicowej przed przejściem w tryb failover).
Priorytetyzacja maszyn wirtualnych dla różnych etapów replikacji
- Bieżące replikacje maszyn wirtualnych są priorytetowe w przypadku zaplanowanych replikacji (nowe replikacje)
- Cykl przed przejściem w tryb failover (replikacja różnicowa na żądanie) ma najwyższy priorytet, po którym następuje cykl replikacji początkowej. Cykl replikacji różnicowej ma najmniejszy priorytet.
Oznacza to, że za każdym razem, gdy zostanie wyzwolona operacja migracji, cykl replikacji na żądanie dla maszyny wirtualnej jest zaplanowany, a inne trwające replikacje zostaną wycofane, jeśli rywalizują o zasoby.
Ograniczenia:
Użyjemy poniższych ograniczeń, aby upewnić się, że nie przekraczamy limitów liczby operacji we/wy na sekundę w sieci SAN.
- Każde urządzenie usługi Azure Migrate obsługuje replikację 52 dysków równolegle
- Każdy host ESXi obsługuje 8 dysków. Każdy host ESXi ma bufor NFC 32 MB. W związku z tym możemy zaplanować 8 dysków na hoście (każdy dysk zajmuje 4 MB buforu dla środowiska IR, odzyskiwania po awarii).
- Każdy magazyn danych może mieć maksymalnie 15 migawek dysków. Jedynym wyjątkiem jest to, że maszyna wirtualna ma więcej niż 15 dysków.
Replikacja skalowana w poziomie
Usługa Azure Migrate obsługuje współbieżną replikację 500 maszyn wirtualnych. Podczas planowania replikacji ponad 300 maszyn wirtualnych należy wdrożyć urządzenie skalowane w poziomie. Urządzenie skalowane w poziomie jest podobne do podstawowego urządzenia usługi Azure Migrate, ale składa się tylko z agenta bramy w celu ułatwienia transferu danych na platformę Azure. Na poniższym diagramie przedstawiono zalecany sposób korzystania z urządzenia skalowalnego w poziomie.
Urządzenie skalowalne w poziomie można wdrożyć w dowolnym momencie po skonfigurowaniu urządzenia podstawowego, ale nie jest wymagane, dopóki nie będzie 300 maszyn wirtualnych replikujących jednocześnie. Jeśli istnieje 300 maszyn wirtualnych replikujących jednocześnie, należy wdrożyć urządzenie skalowane w poziomie, aby kontynuować.
Zatrzymaj replikację/Zakończ migrację
Po zatrzymaniu replikacji zostaną usunięte pośrednie dyski zarządzane (dyski inicjowane) utworzone podczas replikacji. Replikację można zatrzymać tylko podczas aktywnej replikacji. Możesz wybrać opcję Ukończ migrację , aby zatrzymać replikację po przeprowadzeniu migracji maszyny wirtualnej.
Maszyna wirtualna, dla której jest zatrzymana replikacja, może zostać zreplikowana przez ponowne włączenie replikacji. Jeśli maszyna wirtualna została zmigrowana, możesz wznowić replikację i migrację ponownie.
Najlepszym rozwiązaniem jest zawsze ukończenie migracji po pomyślnym przeprowadzeniu migracji maszyny wirtualnej na platformę Azure, aby upewnić się, że nie są naliczane dodatkowe opłaty za transakcje magazynu na pośrednich dyskach zarządzanych (dyski inicjujące). W niektórych przypadkach zauważysz, że zatrzymanie replikacji zajmuje trochę czasu. Jest to spowodowane tym, że za każdym razem, gdy zatrzymasz replikację, bieżący cykl replikacji zostanie ukończony (tylko wtedy, gdy maszyna wirtualna jest w synchronizacji różnicowej) przed usunięciem artefaktów.
Wpływ zmian
Staramy się zminimalizować ilość transferu danych w każdym cyklu replikacji, umożliwiając składanie danych jak najwięcej przed zaplanowanym następnym cyklem. Ponieważ replikacja bez agenta składa się w danych, wzorzec zmian jest ważniejszy niż współczynnik zmian. Gdy plik zostanie zapisany ponownie i ponownie, szybkość nie ma dużego wpływu. Jednak wzorzec, w którym każdy inny sektor jest zapisywany, powoduje wysoki współczynnik zmian w następnym cyklu.
Zarządzanie replikacją
Ograniczanie przepływności
Przepustowość replikacji można zwiększyć lub zmniejszyć przy użyciu zasad NetQosPolicy. Prefiks AppName używany w polityce NetQosPolicy to "GatewayWindowsService.exe".
Możesz utworzyć zasady na urządzeniu usługi Azure Migrate w celu ograniczenia ruchu replikacji z urządzenia, tworząc zasady takie jak następujące:
New-NetQosPolicy -Name "ThrottleReplication" -AppPathNameMatchCondition "GatewayWindowsService.exe" -ThrottleRateActionBitsPerSecond 1MB
Uwaga
Dotyczy to wszystkich replikowanych maszyn wirtualnych z urządzenia usługi Azure Migrate jednocześnie.
Możesz również zwiększyć i zmniejszyć przepustowość replikacji na podstawie harmonogramu przy użyciu przykładowego skryptu.
Okno zaciemniania
Usługa Azure Migrate udostępnia mechanizm oparty na konfiguracji, za pomocą którego klienci mogą określić interwał czasu, w którym nie chcą kontynuować żadnych replikacji. Ten interwał czasu jest nazywany oknem zaciemniania. Potrzeba zaciemnienia okna może wystąpić w wielu scenariuszach, takich jak ograniczenie środowiska źródłowego lub gdy klienci chcą przeprowadzić replikację tylko w godzinach innych niż służbowe itp.
Uwaga
- Istniejące cykle replikacji na początku okna zaciemnienia zostaną zakończone przed wstrzymaniem replikacji.
- W przypadku każdej migracji zainicjowanej podczas okna zaciemnienia ostateczna replikacja nie zostanie uruchomiona, co spowoduje niepowodzenie migracji.
Dla urządzenia można określić okno zaciemnienia, tworząc/aktualizując plik GatewayDataWorker.json w folderze C:\ProgramData\Microsoft Azure\Config. Typowy plik będzie mieć postać:
{
"BlackoutWindows": "List of blackout windows"
}
Lista okien zaciemnienia jest ciągiem rozdzielanym |w formacie "DayOfWeek; Starttime; Czas trwania". Czas trwania można określić w dniach, godzinach i minutach. Na przykład okna zaciemnienia można określić jako:
{
"BlackoutWindows": "Monday;7:00;7h | Tuesday;8:00;1d7h | Wednesday;16:00;1d | Thursday;18:00;5h | Friday;13:00;8m"
}
Pierwsza wartość w powyższym przykładzie wskazuje okno zaciemnienia rozpoczynające się co poniedziałek o godzinie 7:00 czasu lokalnego (czas na urządzeniu) i trwające 7 godzin.
Po utworzeniu/zaktualizowaniu GatewayDataWorker.json przy użyciu tej zawartości usługa bramy na urządzeniu musi zostać ponownie uruchomiona, aby te zmiany zaczęły obowiązywać.
W scenariuszu skalowalnym w poziomie urządzenie podstawowe i urządzenie skalowane w poziomie niezależnie honoruje okna zaciemnienia. Najlepszym rozwiązaniem jest zapewnienie spójności okien między urządzeniami.
Następne kroki
Migrowanie maszyn wirtualnych VMware za pomocą migracji bez agenta.