Kurz: Migrace/upgrade Azure Database for PostgreSQL – Jednoúčelový server na Azure Database for PostgreSQL – Jeden server online pomocí DMS přes Azure Portal
Pomocí Azure Database Migration Service můžete migrovat databáze z Azure Database for PostgreSQL – instance jednoho serveru na stejnou nebo jinou verzi Azure Database for PostgreSQL – instance jednoúčelového serveru nebo Azure Database for PostgreSQL – flexibilní server s minimálními výpadky. V tomto kurzu provedete migraci ukázkové databáze DVD z Azure Database for PostgreSQL v10 na Azure Database for PostgreSQL – Jednoúčelový server 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 přímou migraci.
Poznámka
Použití Azure Database Migration Service k provedení online migrace vyžaduje vytvoření instance na základě cenové úrovně Premium. Disk zašifrujeme, abychom zabránili krádeži dat během procesu migrace.
Důležité
Pro optimální migraci 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 se podporuje pro PostgreSQL verze 9.x a novější. Tento kurz můžete použít také k migraci z jedné instance Azure Database for PostgreSQL na jinou instanci Azure Database for PostgreSQL nebo instanci Hyperscale (Citus). 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 a zjistěte podporované kombinace migrace a verzí.
Existující Azure Database for PostgreSQL verze 10 a novější instance s databází DVD Rental.
Všimněte si také, že cílová verze Azure Database for PostgreSQL musí být stejná jako místní verze PostgreSQL nebo novější. Například PostgreSQL 10 může migrovat na Azure Database for PostgreSQL 10 nebo 11, ale ne na Azure Database for PostgreSQL 9.6.
Vytvořte Azure Database for PostgreSQL server nebo vytvořte server Azure Database for PostgreSQL – Hyperscale (Citus) jako cílový databázový server, do který chcete migrovat data.
Vytvořte Virtual Network Microsoft Azure pro Azure Database Migration Service pomocí modelu nasazení Azure Resource Manager. Další informace o vytvoření virtuální sítě najdete v dokumentaci k Virtual Network a zejmé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 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 zdroj, které Azure Database Migration Service umožní 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 cíl Azure Database for PostgreSQL, které Azure Database Migration Service umožní 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 zdroji Azure Database for PostgreSQL.
V Azure Database for PostgreSQL instanci, která se používá jako zdroj, nastavte následující parametry serveru:
- max_replication_slots = [počet slotů], doporučujeme nastavit 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 aby se projevily, budou vyžadovat restartování Azure Database for PostgreSQL instance. Další informace o přepínání parametrů serveru najdete v tématu Konfigurace parametrů Azure Database for PostgreSQL serveru.
Důležité
Všechny tabulky v existující databázi potřebují primární klíč, aby bylo možné synchronizovat změny 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.sql
Pokud například chcete vytvořit soubor s výpisem schématu pro databázi dvdrental :
pg_dump -O -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental -s -x > dvdrentalSchema.sql
Další 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 připojení a vytvoření databáze najdete v článku Vytvoření Azure Database for PostgreSQL serveru v Azure Portal nebo Vytvoření serveru Azure Database for PostgreSQL – Hyperscale (Citus) v Azure Portal.
Poznámka
Instance Azure Database for PostgreSQL – Hyperscale (Citus) má jenom 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.sql
Příklad:
psql -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sql
Poznámka
Služba Migration Service interně zpracovává povolení/zakázání cizích klíčů a triggery, aby byla zajištěna spolehlivá a robustní migrace dat. V důsledku toho si nemusíte dělat starosti s prováděním jakýchkoli úprav schématu cílové databáze.
Registrace poskytovatele prostředků
Než vytvoříte první instanci služby Database Migration Service, zaregistrujte poskytovatele prostředků Microsoft.DataMigration.
Přihlaste se k webu Azure Portal. Vyhledejte a vyberte Předplatná.
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 proMicrosoft.DataMigration.
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é instanci Azure Database for PostgreSQL.
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čí přibližně během 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 Azure Database Migration Service instance, kterou jste vytvořili, vyberte instanci a pak vyberte + Nový projekt migrace.
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
V 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
Případně můžete zvolit Vytvořit projekt jenom a vytvořit projekt migrace teď 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í pro zdrojovou instanci PostgreSQL.
Poznámka
Můžete najít podrobnosti, například "Název serveru", "Port serveru", "Název databáze" atd. na portálu Azure Database for PostgreSQL.
Vyberte Uložit.
Zadání podrobností o cíli
Na obrazovce Podrobnosti cíle zadejte podrobnosti o připojení pro cílový server Hyperscale (Citus), což je předem zřízená instance Hyperscale (Citus), do které bylo schéma Zapůjčení DVD nasazeno pomocí pg_dump.
Poznámka
Můžete migrovat z instance Azure Database for PostgreSQL na jinou Azure Database for PostgreSQL instanci s jedním serverem nebo na server Hyperscale (Citus).
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 zobrazoval jako probíhající zálohování. Při upgradu z Azure Database for PostgreSQL 9.5 nebo 9.6 může dojít k následující chybě:
Scénář ohlásil neznámou chybu. 28000: žádná položka pg_hba.conf pro připojení replikace z hostitele "40.121.141.121", uživatel "sr"
Důvodem je to, ž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 Database for PostgreSQL, ze které se pokoušíte migrovat nebo upgradovat.
- Přidejte nové pravidlo brány firewall s názvem končícím na "_replrule" a přidejte IP adresu z chybové zprávy do polí počáteční IP adresa a Koncová IP adresa. Výše uvedený příklad chyby:
Název pravidla firewallu = 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.
- Opakujte aktivitu DMS.
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 vyberte v části Název databáze konkrétní databázi, abyste se dostali ke stavu migrace operací Úplné načtení dat a Přírůstková synchronizace dat .
Poznámka
Úplné načtení dat zobrazuje stav migrace počátečního načtení, zatímco přírůstková synchronizace dat zobrazuje stav zachytávání dat změn (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, dokud se čítač čekajících změn zobrazí 0 , aby se zajistilo, že všechny příchozí transakce do zdrojové databáze jsou zastavené, zaškrtněte políčko Potvrdit a pak vyberte Použít.
Když se u migrace databáze zobrazí stav Dokončeno, vytvořte znovu sekvence (pokud jsou k dispozici) a připojte aplikace k nové cílové instanci Azure Database for PostgreSQL.
Poznámka
Azure Database Migration Service lze použít k provádění upgradů hlavních verzí s omezenými výpadky na jednoúčelovém serveru Azure Database for PostgreSQL. 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í výše popsaného postupu. Po přímé 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?.