Fáze migrace a důležité informace
Úspěšná migrace vyrovnává aspekty napříč několika fázemi.
Fáze migrace
Migrace probíhají v několika fázích. Nejprve naplánujte rozsah migrace: zjišťování a hodnocení databázových prostředků, obchodní požadavky, jako je výpadek, a náhradní plán, pokud migrace selže. Pak připravte migraci zřízením vhodných prostředků a nastavením připojení mezi zdrojovým a cílovým prostředím. Jakmile je přístup k migraci nastavený a prostředky jsou připravené, obecně chcete provést suchý běh v přípravném prostředí, abyste před migrací do produkčního prostředí identifikovali problémy. Nakonec proveďte konečnou migraci a ověřte její probíhající a úspěšné dokončení.
Tento modul se zaměřuje na fáze přípravy (2) a konečné migrace (4, 5).
Posouzení migrace
Měli byste vyhodnotit požadavky na výpadky aplikací, kompatibilitu verzí, sítě a zabezpečení, výkon, náklady a provozní kontinuitu.
Výpadek aplikace
Jednou z prvních věcí, které byste měli zvážit, je to, kolik výpadků může váš obchodní scénář pojmout. Odpověď důrazně omezuje dostupné možnosti migrace.
Nejlepší výpadek je ten, který si uživatelé nevšimnou. V praxi jsou migrace komplexními postupy a rozhodnutí týkající se důležitých aspektů v tomto modulu určují požadovaný výpadek. Kompromisy zahrnují dostupnost v porovnání s náklady a rizikem migrace. Vzhledem ke složitosti, která se týká snížení výpadků na minuty nebo dokonce sekund, je důležité otestovat předpoklady a určit, kolik výpadků migrace je přijatelné.
Offline migrace
Při offline migraci je nutné aplikaci vypnout, aby se databáze přesunula. To zaručuje, že během migrace nedojde k žádným změnám dat. Tento přístup ale vyžaduje odstranění databáze, aby se export dat dokončuje. Výpadek bude minimálně trvat, dokud bude trvat přenos dat. Offline migrace zahrnuje:
- Odpojení všech aplikací od zdrojové databáze
- Export obsahu zdrojové databáze
- Import zdrojových dat do cílové databáze.
- Po dokončení importu se aplikace znovu připojují k cílové databázi.
Některé aplikace mají naplánovaná časová období údržby během období nízkého provozu. To jsou skvělé časy k provádění offline migrací.
Přírůstková offline migrace snižuje výpadky přesunutím velké části dat před přechodem aplikace do offline režimu. Nejprve migrujte úplnou zálohu databáze. Potom migrujte změny do databáze, ke které došlo od předchozí migrace. Pokud čas potřebný k migraci těchto nových změn spadá do přijatelného výpadku, přeneste aplikaci offline, aby ukotvit data a dokončit migraci. Možná zjistíte, že jeden přírůstek migrace je dostatečný, aby se snížil výpadek o řád nebo více, zejména pro databáze s roky historie. U rozsáhlých a zaneprázdněných databází možná budete muset migrovat několik přírůstků, abyste dosáhli přijatelného výpadku.
Online migrace
Při online migraci můžete výrazně snížit nebo dokonce eliminovat potřebu výpadků tím, že během migrace replikujete změny ze zdrojového serveru na cílový server a po úplné synchronizaci replikace přepnete na cílový server.
Někdy je výpadek nežádoucí nebo dokonce nepřijatelný. V tomto případě není možné "ukotvit" stav databáze vypnutím aplikace. Místo toho se zdrojová databáze během normálních operací replikuje do cílové databáze. Když je cíl plně vystižen zdrojem, aplikace přesáhne cílovou databázi.
Online migrace vyžaduje, abyste:
- Začněte replikovat zdrojová databáze do cílové databáze.
- Když je cílová databáze zachycena, zablokujte zdrojovou databázi tím, že pozastavíte aplikaci nebo vynutíte, aby zápisy selhaly povolením režimu jen pro čtení.
- Když je cílová databáze 100 % zachycena změnami, vypněte replikaci v cíli.
- Přesměrujte všechny klienty na cílovou databázi a obnovte operace.
- Vypněte starší zdrojová databáze.
Porovnání online a offline migrací
I když offline migrace vyžadují výpadek, technika přírůstkové migrace popsaná dříve výrazně snižuje výpadky. Několik přírůstků může zmenšit konečnou migraci na data za den nebo méně. Automatizované služby, jako je Azure DMS, minimalizují výpadky provedením řady menších migrací. Přírůstkové offline migrace je také možné provést ručně, pokud nastavení sítě brání automatizaci.
Online migrace koordinuje citlivou operaci napříč databázovými a aplikačními týmy. Klientské aplikace musí být nástroje pro řádné reakce na selhání zápisu, aby se zabránilo ztrátě dat během migrace. Klienti musí také podporovat připojení k novému databázovému serveru, aniž by přerušili uživatelské prostředí. Pokud tyto nástroje aplikace ještě neexistují, může být sestavení poměrně nákladné.
Kompatibilita verzí
Většina operací aplikací je kompatibilní s upgrady MySQL. V některých případech ale komponenty aplikace nebo využití databáze můžou fungovat pouze s některými verzemi MySQL.
Zkontrolujte, jestli jsou všechny komponenty aplikace kompatibilní s cílovou verzí databáze. Zvažte oddělení upgradů verzí od migrací, které přemísťují nebo překonfigurují databázi. Pokud například migrujete z místního prostředí MySQL 5.7 na flexibilní server Azure Database for MySQL se systémem MySQL 8.0, zvažte migraci z místního prostředí na flexibilní server Azure Database for MySQL se systémem MySQL 5.7 a následným upgradem z verze 5.7 na 8.0.
Sítě a zabezpečení
Migrace databází vyžadují přenos dat ze zdrojové databáze do cíle. Jak se to stane a jak rychle, závisí do značné míry na propojení mezi dvěma sítěmi. Pokud nemůžete navázat živé připojení ze zdroje k cíli, budete muset přenést fyzické datové soubory jiným způsobem, například přes zprostředkující pracovní stanici nebo server. V takovém případě se ujistěte, že máte dostatek místa na disku pro uložení snímků do jednotlivých systémů.
Během migrace je také důležité zvážit požadavky na zabezpečení. Budete potřebovat odpovídající ověřování a oprávnění ke zdrojovým a cílovým databázím. Můžete také chtít vytvořit účty služeb, abyste provedli některé nebo všechny kroky migrace, a po dokončení můžete jejich přístup odebrat.
Bez ohledu na to, jestli je zdrojová databáze místní nebo umístěná v jiném poskytovateli cloudu, nastavení sítě obvykle nepovoluje externí připojení. Budete muset nakonfigurovat síť tak, aby umožňovala připojení k Azure.
Pokud je zdrojová databáze místní a objem dat je velký, může být přesun terabajtů dat přes běžné připojení k internetu nepraktické. V tomto scénáři zvažte nastavení připojení Azure ExpressRoute mezi vaší sítí a Azure.
I když používáte ExpressRoute, připojení, které je zapnuté, pravděpodobně také obsluhuje jiný provoz a tyto dva můžou vzájemně kolidovat. V závislosti na kolizí může být výkon stávajících aplikací a proces migrace významný.
Výkon
Migrace databází jsou skvělou příležitostí ke zvýšení kapacity změnou velikosti infrastruktury. Využití databáze může těžit ze zvýšeného využití procesoru, paměti RAM nebo vstupně-výstupních prostředků.
Před zřízením cílového serveru zvažte aktuální využití databáze. Monitorujte metriky výkonu, jako je využití procesoru, společně s růstem prognózy a smlouvami SLA a rozhodněte se, jestli byste měli přidělit větší velikost výpočetních prostředků. Naopak můžete zjistit, že vaše kapacita je přetížená a že snížení velikosti šetří náklady.
Náklady
Při migraci do Azure můžete využít transparentní ceny. Pomocí vybrané skladové položky a dalších parametrů, jako je redundance a vysoká dostupnost, vám cenová kalkulačka Azure umožňuje odhadnout náklady po migraci během plánování. Pomocí kalkulačky můžete také informovat kompromisy, například dostupnost a náklady.
Kontinuita podnikových procesů
Migrace databází je vhodná doba ke kontrole metrik a cílů provozní kontinuity. Může být vhodné změnit zásady uchovávání záloh nebo přejít na geograficky redundantní zálohy nebo vysokou dostupnost. Vezměte v úvahu dobu provozu a dobu obnovení smlouvy SLA a výpadku. Migrace také poskytují reálné příklady umístění nové databáze z fyzických datových souborů, které můžou informovat plány zotavení po havárii.