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.

  1. 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.

  2. 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.

  3. 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.

  1. Přihlaste se k webu Azure Portal. Vyhledejte a vyberte Předplatná.

    Zobrazení předplatných na portálu

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

    Zobrazení poskytovatelů prostředků

  3. Vyhledejte migraci a pak vyberte Zaregistrovat proMicrosoft.DataMigration.

    Registrace poskytovatele prostředků

Vytvoření instance DMS

  1. 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.

    Azure Marketplace

  2. Na obrazovce Azure Database Migration Service vyberte Vytvořit.

    Vytvoření instance služby Azure Database Migration Service

  3. 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.

  4. 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.

  5. Vyberte cenovou úroveň.

    Další informace o nákladech a cenových úrovních najdete na stránce s cenami.

    Konfigurace nastavení instance služby Azure Database Migration Service

  6. 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.

  1. Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

    Vyhledání všech instancí Azure Database Migration Service

  2. 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.

  3. 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.

  4. V části Zvolte typ aktivity vyberte Online migrace dat.

    Vytvoření projektu Azure Database Migration Service

    Poznámka

    Případně můžete zvolit Vytvořit projekt jenom a vytvořit projekt migrace teď a provést migraci později.

  5. 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

  1. Na obrazovce Přidat podrobnosti o zdroji zadejte podrobnosti o připojení pro zdrojovou instanci PostgreSQL.

    Obrazovka Přidat podrobnosti zdroje

    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.

  2. Vyberte Uložit.

Zadání podrobností o cíli

  1. 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.

    Obrazovka Podrobnosti cíle

    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).

  2. 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.

    Obrazovka Mapování na cílové databáze

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

    Obrazovka nastavení migrace

  4. 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.

    Obrazovka souhrnu migrace

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:

  1. Otevřete nastavení zabezpečení připojení pro zdrojový server Azure Database for PostgreSQL, ze které se pokoušíte migrovat nebo upgradovat.
  2. 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

  1. Klikněte na Uložit a nechte změnu dokončit.
  2. Opakujte aktivitu DMS.

Monitorování migrace

  1. Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Dokončeno.

    Monitorování procesu migrace

  2. 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).

    Úplné podrobnosti o načtení dat

    Podrobnosti o přírůstkové synchronizaci dat

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.

  1. Jakmile budete připraveni dokončit migraci databází, vyberte Spustit přímou migraci.

  2. 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.

    Kompletní obrazovka přímé migrace

  3. 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