Kurz: Migrace/upgrade Azure DB for PostgreSQL – Jeden server na Azure DB for PostgreSQL – Jeden server online s využitím DMS přes Azure Portal
Pomocí nástroje Azure Database Migration Service můžete migrovat databáze z instance Azure Database for PostgreSQL – jeden server do stejné nebo jiné verze služby Azure Database for PostgreSQL – instance jednosměnného serveru nebo z Azure Database for PostgreSQL – flexibilního serveru s minimálními výpadky. V tomto kurzu budete migrovat ukázkovou databázi DVD Rental z Azure Database for PostgreSQL v10 na jeden server Azure Database for PostgreSQL pomocí aktivity online migrace v Azure Database Migration Service.
V tomto kurzu se naučíte:
- Migrujte ukázkové schéma pomocí nástroje pg_dump.
- Vytvořte instanci služby Azure Database Migration Service.
- Vytvořte projekt migrace v Azure Database Migration Service.
- Spuštění migrace
- Monitorujte migraci.
- Proveďte migraci jako přímku.
Poznámka
Použití Azure Database Migration Service k provedení online migrace vyžaduje vytvoření instance na základě cenové Premium úrovně. Zašifrujeme disk, aby se zabránilo krádeži dat během procesu migrace.
Důležité
Aby byla migrace optimální, Microsoft doporučuje vytvořit instanci Azure Database Migration Service ve stejné oblasti Azure jako cílová databáze. Přenášení dat mezi oblastmi geografickými lokalitami může zpomalit proces migrace a způsobit chyby.
Důležité
Migrace z Azure Database for PostgreSQL je podporovaná pro PostgreSQL verze 9.x a novější. Tento kurz můžete použít také k migraci z jedné instance Azure Database for PostgreSQL do jiné instance Azure Database for PostgreSQL instance Hyperscale (Citus) instance. Upozorňujeme, že migrace z PostgreSQL 9.5 a 9.6 vyžaduje ve zdrojové instanci další oprávnění logické replikace.
Požadavky
Pro absolvování tohoto kurzu je potřeba provést následující:
Zkontrolujte stav scénářů migrace podporovaných Azure Database Migration Service podporovaných kombinací migrace a verzí.
Stávající instance Azure Database for PostgreSQL verze 10 a novější s databází DVD Rental.
Upozorňujeme také, že cílová Azure Database for PostgreSQL verze musí být stejná jako místní verze PostgreSQL nebo novější. PostgreSQL 10 může například migrovat na Azure Database for PostgreSQL 10 nebo 11, ale ne na Azure Database for PostgreSQL 9.6.
Vytvořte server Azure Database for PostgreSQL nebo vytvořte server Azure Database for PostgreSQL – Hyperscale (Citus) jako cílový databázový server, na který chcete migrovat data.
Vytvořte Microsoft Azure Virtual Network pro Azure Database Migration Service pomocí modelu nasazení Azure Resource Manager nasazení. Další informace o vytvoření virtuální sítě najdete v článku Virtual Network azejména v článcích Rychlý start s podrobnými podrobnostmi.
Ujistěte se, že pravidla skupiny zabezpečení sítě (NSG) pro vaši virtuální síť neblokují odchozí port 443 služby ServiceTag pro ServiceBus, Storage a AzureMonitor. Další podrobnosti o filtrování provozu NSG virtuální sítě najdete v článku Filtrování síťového provozu pomocí skupin zabezpečení sítě.
Vytvořte pravidlo brány firewall na úrovni serveru pro Azure Database for PostgreSQL, které Azure Database Migration Service přístup ke zdrojovým databázím. Zadejte rozsah podsítě virtuální sítě používané pro Azure Database Migration Service.
Vytvořte pravidlo brány firewall na úrovni serveru pro Azure Database for PostgreSQL, které Azure Database Migration Service přístup k cílovým databázím. Zadejte rozsah podsítě virtuální sítě používané pro Azure Database Migration Service.
Povolte logickou replikaci ve Azure DB for PostgreSQL zdroji.
Nastavte následující parametry serveru v instanci Azure Database for PostgreSQL, která se používá jako zdroj:
- max_replication_slots = [počet slotů], doporučujeme nastavit na deset slotů.
- max_wal_senders = [počet souběžných úloh] - parametr max_wal_senders nastaví počet souběžných úloh, které můžete spustit, doporučujeme nastavení na 10 úloh
Poznámka
Výše uvedené parametry serveru jsou statické a budou vyžadovat restartování vaší Azure Database for PostgreSQL, aby se tyto parametry projeví. Další informace o přepínání parametrů serveru najdete v tématu Konfigurace Azure Database for PostgreSQL serveru.
Důležité
Všechny tabulky ve stávající databázi potřebují primární klíč, aby bylo možné změny synchronizovat s cílovou databází.
Migrace ukázkového schématu
K dokončení všech databázových objektů, jako jsou schémata tabulek, indexy a uložené procedury, potřebujeme extrahovat schéma ze zdrojové databáze a použít ho na databázi.
Pomocí příkazu pg_dump -s můžete vytvořit soubor schématu s výpisem paměti pro databázi.
pg_dump -o -h hostname -U db_username -d db_name -s > your_schema.sqlPokud například chcete vytvořit soubor se schématem výpisu paměti pro databázi dvdrental:
pg_dump -o -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental -s -O -x > dvdrentalSchema.sqlDalší informace o používání nástroje pg_dump, viz příklady v kurzu pg-dump.
Vytvořte prázdnou databázi v cílovém prostředí, což je Azure Database for PostgreSQL.
Podrobnosti o tom, jak se připojit a vytvořit databázi, najdete v článku Vytvoření serveru Azure Database for PostgreSQL v Azure Portal nebo Vytvoření serveru Azure Database for PostgreSQL – Hyperscale (Citus) vAzure Portal .
Poznámka
Instance služby Azure Database for PostgreSQL – Hyperscale (Citus) má pouze jednu databázi: citus.
Importujte schéma do cílové databáze, kterou jste vytvořili pomocí obnovení souboru se schématem výpisu paměti.
psql -h hostname -U db_username -d db_name < your_schema.sqlPříklad:
psql -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sqlPoznámka
Služba Migration Service interně zpracovává povolení nebo zákaz cizích klíčů a triggerů, aby zajistila spolehlivou a robustní migraci dat. V důsledku toho se nemusíte starat o žádné úpravy schématu cílové databáze.
Registrace poskytovatele prostředků Microsoft.DataMigration
Přihlaste se k webu Azure Portal. Vyhledejte a vyberte odběry.

Vyberte předplatné, ve kterém chcete vytvořit instanci Azure Database Migration Service a pak vyberte poskytovatelé prostředků.

Vyhledejte migraci a pak vyberte zaregistrovat pro migraci Microsoft. data.

Vytvoření instance DMS
Na webu Azure Portal vyberte + Vytvořit prostředek, vyhledejte „Azure Database Migration Service“ a pak v rozevíracím seznamu vyberte Azure Database Migration Service.

Na obrazovce Azure Database Migration Service vyberte Vytvořit.

Na obrazovce Vytvořit službu Migration Service zadejte název, předplatné, novou nebo existující skupinu prostředků a umístění služby.
Vyberte existující virtuální síť nebo vytvořte novou.
Virtuální síť poskytuje Azure Database Migration Service přístup ke zdrojovému serveru PostgreSQL a cílové Azure Database for PostgreSQL instanci.
Další informace o tom, jak vytvořit virtuální síť v Azure Portal, najdete v článku Vytvoření virtuální sítě pomocí Azure Portal.
Vyberte cenovou úroveň.
Další informace o nákladech a cenových úrovních najdete na stránce s cenami.

Vyberte Zkontrolovat a vytvořit a vytvořte službu.
Vytvoření služby se dokončí během přibližně 10 až 15 minut.
Vytvoření projektu migrace
Po vytvoření služby ji vyhledejte na webu Azure Portal, otevřete ji a pak vytvořte nový projekt migrace.
Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

Na obrazovce Azure Database Migration Services vyhledejte název vytvořené instance Azure Database Migration Service, vyberte instanci a pak vyberte + Nová migrace Project .
Na obrazovce Nový projekt migrace zadejte název projektu, v textovém poli Typ zdrojového serveru vyberte PostgreSQL a v textovém poli Typ cílového serveru vyberte Azure Database for PostgreSQL.
Poznámka
Jako Typ zdrojového serveru zvolte PostgreSQL, i když je zdrojový server Azure Database for PostgreSQL instance.
V části Zvolte typ aktivity vyberte Online migrace dat.

Poznámka
Alternativně můžete zvolit možnost Vytvořit projekt pouze a vytvořit teď projekt migrace a provést migraci později.
Vyberte Uložit, poznamenejte si požadavky na úspěšné použití Azure Database Migration Service k migraci dat a pak vyberte Vytvořit a spustit aktivitu.
Zadání podrobností o zdroji
Na obrazovce Přidat podrobnosti o zdroji zadejte podrobnosti o připojení ke zdrojové instanci PostgreSQL.

Poznámka
Podrobnosti, jako je název serveru, port serveru, název databáze atd., najdete na Azure Database for PostgreSQL Portal.
Vyberte Uložit.
Zadání podrobností o cíli
Na obrazovce Podrobnosti cíle zadejte podrobnosti o připojení k cílovému serveru Hyperscale (Citus), což je předem zřízená instance Hyperscale (Citus), na kterou bylo schéma DVD Rentals nasazeno pomocí pg_dump.

Poznámka
Můžete migrovat z instance Azure Database for PostgreSQL na jinou instanci Azure Database for PostgreSQL s jedním serverem nebo na Hyperscale (Citus) server.
Vyberte Uložit a pak na obrazovce Mapovat na cílové databáze namapujte zdrojovou a cílovou databázi pro migraci.
Pokud cílová databáze obsahuje stejný název databáze jako zdrojová databáze, Azure Database Migration Service ve výchozím nastavení vybere cílovou databázi.

Vyberte Uložit a pak na obrazovce Nastavení migrace přijměte výchozí hodnoty.

Vyberte Uložit, na obrazovce Shrnutí migrace do textového pole Název aktivity zadejte název aktivity migrace a pak zkontrolujte souhrnné informace a ujistěte se, že podrobnosti zdroje a cíle odpovídají dříve zadaným informacím.

Spuštění migrace
- Vyberte Spustit migraci.
Zobrazí se okno aktivity migrace a stav aktivity by se měl aktualizovat tak, aby se zobrazuje jako Probíhající zálohování. Při upgradu z Azure DB for PostgreSQL 9.5 nebo 9.6 může dojít k následující chybě:
Scénář nahlásil neznámou chybu. 28000: žádná položka pg_hba.conf pro připojení replikace z hostitele 40.121.141.121, uživatel "sr"
Je to proto, že PostgreSQL nemá příslušná oprávnění k vytváření požadovaných artefaktů logické replikace. Pokud chcete povolit požadovaná oprávnění, můžete provést následující akce:
- Otevřete nastavení Zabezpečení připojení pro zdrojový server Azure DB for PostgreSQL, ze které se pokoušíte migrovat nebo upgradovat.
- Přidejte nové pravidlo brány firewall s názvem končící na "_replrule" a přidejte IP adresu z chybové zprávy do polí Počáteční IP adresa a Koncová IP adresa. V případě výše uvedeného příkladu chyby :
Název pravidla brány firewall = sr_replrule; Počáteční IP adresa = 40.121.141.121; Koncová IP adresa = 40.121.141.121
- Klikněte na Uložit a nechte změnu dokončit.
- Zkuste aktivitu DMS zopakovat.
Monitorování migrace
Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Dokončeno.

Po dokončení migrace v části Název databáze vyberte konkrétní databázi a pro operace přírůstkové synchronizace dat se dostanete do stavu migrace úplného načtení dat.
Poznámka
Úplné načtení dat ukazuje stav migrace počátečního načtení, zatímco přírůstková synchronizace dat zobrazuje stav zachytávání změn dat (CDC).


Provedení přímé migrace
Po dokončení počátečního úplného načtení se databáze označí jako Připraveno k přímé migraci.
Jakmile budete připraveni dokončit migraci databází, vyberte Spustit přímou migraci.
Počkejte, až se na čítač Čekající změny zobrazí 0, abyste zajistili zastavení všech příchozích transakcí do zdrojové databáze, zaškrtněte políčko Potvrdit a pak vyberte Použít.

Když se ve stavu migrace databáze zobrazí Dokončeno, vytvořte znovu sekvence (pokud je to možné) a připojte své aplikace k nové cílové instanci Azure Database for PostgreSQL.
Poznámka
Azure Database Migration Service můžete použít k provádění upgradů hlavní verze s menšími výpadky v Azure Database for PostgreSQL – jeden server. Nejprve nakonfigurujete cílovou databázi s požadovanou vyšší verzí PostgreSQL, nastavením sítě a parametry. Pak můžete zahájit migraci do cílových databází pomocí postupu popsaného výše. Po přechodu na cílový databázový server můžete aktualizovat připojovací řetězec aplikace tak, aby odkazovat na cílový databázový server.
Další kroky
- Informace o známých problémech a omezeních při provádění online migrací do služby Azure Database for PostgreSQL najdete v článku Známé problémy s online migracemi do služby Azure Database for PostgreSQLa jejich řešení.
- Informace o službě Azure Database Migration Service najdete v článku Co je Azure Database Migration Service?.
- Informace o Azure Database for PostgreSQL najdete v článku Co je Azure Database for PostgreSQL?.