Självstudie: Migrera/uppgradera Azure DB for PostgreSQL – enskild server till Azure DB for PostgreSQL – enskild server online med DMS via Azure Portal
Du kan använda Azure Database Migration Service för att migrera databaserna från en instans av Azure Database for PostgreSQL – enskild server till samma eller en annan version av Azure Database for PostgreSQL – enskild serverinstans eller Azure Database for PostgreSQL – flexibel server med minimal avbrottstid. I den här självstudien migrerar du exempeldatabasen DVD-uthyrning från en Azure Database for PostgreSQL v10 till Azure Database for PostgreSQL – enskild server med hjälp av onlinemigreringsaktiviteten i Azure Database Migration Service.
I den här guiden får du lära dig att:
- Migrera exempelschemat med hjälp av pg_dump verktyget.
- Skapa en instans av Azure Database Migration Service.
- Skapa ett migreringsprojekt i Azure Database Migration Service.
- Köra migreringen.
- Övervaka migreringen.
- Utför en migreringsrover.
Anteckning
Om Azure Database Migration Service ska kunna utföra en onlinemigrering måste du skapa en instans Premium på prisnivån. Vi krypterar disken för att förhindra datastöld under migreringsprocessen
Viktigt
För en optimal migreringsupplevelse rekommenderar Microsoft att du skapar en instans Azure Database Migration Service i samma Azure-region som måldatabasen. Att flytta data mellan regioner eller geografiska områden kan göra migreringsprocessen långsammare och leda till fel.
Viktigt
Migrering från Azure Database for PostgreSQL stöds för PostgreSQL version 9.x och senare. Du kan också använda den här självstudien för att migrera från en Azure Database for PostgreSQL-instans till en annan Azure Database for PostgreSQL instans eller Hyperskala (Citus)-instans. Observera att migrering från PostgreSQL 9.5 och 9.6 kräver extra behörighet för logisk replikering i källinstansen.
Förutsättningar
För att slutföra den här kursen behöver du:
Kontrollera status för migreringsscenarier som stöds av Azure Database Migration Service migrering och versionskombinationer som stöds.
En befintlig Azure Database for PostgreSQL version 10 och senare med dvd-uthyrningsdatabasen.
Observera också att Azure Database for PostgreSQL måste vara lika med eller senare än den lokala PostgreSQL-versionen. PostgreSQL 10 kan till exempel migrera till Azure Database for PostgreSQL 10 eller 11, men inte till Azure Database for PostgreSQL 9.6.
Skapa en Azure Database for PostgreSQL-server eller skapa en Azure Database for PostgreSQL – Hyperskala (Citus)-server som måldatabasservern att migrera data till.
Skapa en Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager distributionsmodellen. Mer information om hur du skapar ett virtuellt nätverk finns i Virtual Network-dokumentationenoch i synnerhet snabbstartsartiklarna med stegvisa detaljer.
Se till att reglerna för nätverkssäkerhetsgruppen (NSG) för ditt virtuella nätverk inte blockerar den utgående porten 443 för ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om filtrering av nätverkssäkerhetsgrupper för virtuella nätverk finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.
Skapa en brandväggsregel på servernivå för Azure Database for PostgreSQL att tillåta Azure Database Migration Service åtkomst till källdatabaserna. Ange undernätsintervallet för det virtuella nätverk som används för Azure Database Migration Service.
Skapa en brandväggsregel på servernivå för Azure Database for PostgreSQL att tillåta Azure Database Migration Service åtkomst till måldatabaserna. Ange undernätsintervallet för det virtuella nätverk som används för Azure Database Migration Service.
Aktivera logisk replikering i den Azure DB for PostgreSQL datakällan.
Ange följande serverparametrar i den Azure Database for PostgreSQL som används som källa:
- max_replication_slots = [antal platser] rekommenderar vi att du anger tio platser
- max_wal_senders = [antalet samtidiga uppgifter] – parametern max_wal_senders anger antal samtidiga aktiviteter som kan köras, rekommenderad inställning är 10 uppgifter
Anteckning
Ovanstående serverparametrar är statiska och kräver en omstart av din Azure Database for PostgreSQL för att de ska gälla. Mer information om hur du växlar serverparametrar finns i Konfigurera Azure Database for PostgreSQL serverparametrar.
Viktigt
Alla tabeller i den befintliga databasen behöver en primärnyckel för att säkerställa att ändringar kan synkroniseras till måldatabasen.
Migrera exempelschemat
För att slutföra alla databasobjekt som tabellscheman, index och lagrade procedurer måste vi extrahera schemat från källdatabasen och tillämpa det på databasen.
Använd pg_dump -s-kommandot för att skapa en schemadumpfil för en databas.
pg_dump -o -h hostname -U db_username -d db_name -s > your_schema.sqlOm du till exempel vill skapa en schemadumpfil för dvdrental-databasen:
pg_dump -o -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental -s -O -x > dvdrentalSchema.sqlMer information om hur du använder verktyget pg_dump finns i exemplen i självstudien pg-dump.
Skapa en tom databas i målmiljön, vilken är Azure Database for PostgreSQL.
Mer information om hur du ansluter och skapar en databas finns i artikeln Skapa en Azure Database for PostgreSQL-server i Azure Portal eller Skapa en Azure Database for PostgreSQL – Hyperskala (Citus)-server i Azure Portal.
Anteckning
En instans av Azure Database for PostgreSQL – Hyperskala (Citus) har bara en enda databas: citus.
Importera schemat till måldatabasen som du skapade genom att återställa schemadumpfilen.
psql -h hostname -U db_username -d db_name < your_schema.sqlEtt exempel:
psql -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sqlAnteckning
Migreringstjänsten hanterar internt aktivera/inaktivera externa nycklar och utlösare för att säkerställa en tillförlitlig och robust datamigrering. Därför behöver du inte bekymra dig om att göra några ändringar i måldatabasschemat.
Registrera resursprovidern Microsoft.DataMigration
Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursproviders.

Sök efter migrering och välj sedan Registrera för Microsoft.DataMigration.

Skapa en DMS-instans
I Azure Portal väljer du + Skapa en resurs, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Service i listrutan.

På sidan Azure Database Migration Service väljer du Skapa.

På skärmen Skapa migreringstjänst anger du ett namn, prenumerationen, en ny eller befintlig resursgrupp och platsen för tjänsten.
Välj ett befintligt virtuellt nätverk eller skapa ett nytt.
Det virtuella nätverket ger Azure Database Migration Service åtkomst till PostgreSQL-källservern och målinstansen Azure Database for PostgreSQL målservern.
Mer information om hur du skapar ett virtuellt nätverk i Azure Portal finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure Portal.
Välj en prisnivå.
Mer information om kostnader och prisnivåer finns på sidan med priser.

Välj Granska + skapa för att skapa tjänsten.
Det tar cirka 10 till 15 minuter att skapa tjänsten.
Skapa ett migreringsprojekt
När tjänsten har skapats letar du reda på den i Azure Portal, öppnar den och skapar sedan ett nytt migreringsprojekt.
I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

På skärmen Azure Database Migration Services söker du efter namnet på den Azure Database Migration Service som du skapade, väljer instansen och väljer sedan + Ny migrering Project.
På sidan Nytt migreringsprojekt anger du ett namn för projektet. I textrutan Typ av källserver väljer du PostgreSQL, i textrutan Målservertyp väljer du Azure Database for PostgreSQL.
Anteckning
Välj PostgreSQL i Källservertyp även om källservern är en Azure Database for PostgreSQL instans.
I avsnittet Välj typ av aktivitet väljer du Online-datamigrering.

Anteckning
Alternativt kan du välja Skapa endast projekt för att skapa migreringsprojektet nu och köra migreringen senare.
Välj Spara, notera kraven för att använda Azure Database Migration Service för att migrera data och välj sedan Skapa och kör aktivitet.
Ange källinformation
På skärmen Lägg till källinformation anger du anslutningsinformationen för PostgreSQL-källinstansen.

Anteckning
Du hittar information som "Servernamn", "Serverport", "Databasnamn" osv. i Azure Database for PostgreSQL portalen.
Välj Spara.
Ange målinformation
På skärmen Målinformation anger du anslutningsinformationen för mål-Hyperskala (Citus)-servern, som är den före etablerade instansen av Hyperskala (Citus) som schemat för DVD-uthyrning har distribuerats till med hjälp av pg_dump.

Anteckning
Du kan migrera från en Azure Database for PostgreSQL-instans till en annan Azure Database for PostgreSQL en enskild serverinstans eller till en Hyperskala (Citus) server.
Välj Spara och mappa sedan på sidan Mappa till måldatabaser käll- och måldatabasen för migrering.
Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.

Välj Spara och acceptera sedan standardvärdena på skärmen Migreringsinställningar.

Välj Spara. I rutan Aktivitetsnamn på skärmen Migreringssammanfattning anger du ett namn för migreringsaktiviteten och granskar sedan sammanfattningen för att se till att informationen för källa och mål matchar det du angav tidigare.

Köra migreringen
- Välj Kör migrering.
Migreringsaktivitetsfönstret visas och Status för aktiviteten bör uppdateras så att den visas som Säkerhetskopiering pågår. Du kan stöta på följande fel när du uppgraderar från Azure DB for PostgreSQL 9.5 eller 9.6:
Ett scenario rapporterade ett okänt fel. 28000: ingen pg_hba.conf-post för replikeringsanslutning från värden "40.121.141.121", användaren "sr"
Det beror på att PostgreSQL inte har rätt behörigheter för att skapa nödvändiga artefakter för logisk replikering. Om du vill aktivera behörigheter som krävs kan du göra följande:
- Öppna anslutningssäkerhetsinställningarna för källservern Azure DB for PostgreSQL som du försöker migrera/uppgradera från.
- Lägg till en ny brandväggsregel med ett namn som slutar med "_replrule" och lägg till IP-adressen från felmeddelandet i fälten start-IP och slut-IP. För ovanstående felexempel –
Brandväggsregelnamn = sr_replrule; Start-IP = 40.121.141.121; Slut-IP = 40.121.141.121
- Klicka på Spara och låt ändringen slutföras.
- Försök att utföra DMS-aktiviteten igen.
Övervaka migreringen
På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Slutförd.

När migreringen är klar går du till Databasnamn och väljer en specifik databas för att komma till migreringsstatusen för åtgärderna Fullständig datainläsning och Inkrementell datasynkronisering.
Anteckning
Fullständig datainläsning visar den första inläsningsmigreringsstatusen, medan inkrementell datasynkronisering visar status för ändringsdatainfångst (CDC).


Utföra snabbmigrering
När den fullständiga inläsningen är klar är databaserna märkta med Klar för snabbmigrering.
När du är redo att slutföra databasmigreringen väljer du Starta snabb.
Vänta tills räknaren Väntande ändringar visar 0 för att se till att alla inkommande transaktioner till källdatabasen stoppas, markera kryssrutan Bekräfta och välj sedan Tillämpa.

När status för databasmigrering visar Slutfört återskapar du sekvenser (om tillämpligt) och ansluter dina program till den nya målinstansen av Azure Database for PostgreSQL.
Anteckning
Azure Database Migration Service kan användas för att utföra större versionsuppgraderingar med minskad stilleståndstid i Azure Database for PostgreSQL – enskild server. Först konfigurerar du en måldatabas med önskad högre PostgreSQL-version, nätverksinställningar och parametrar. Sedan kan du initiera migreringen till måldatabaserna med hjälp av proceduren som beskrivs ovan. När du har övergången till måldatabasservern kan du uppdatera programmets anslutningssträng så att den pekar på måldatabasservern.
Nästa steg
- Information om kända problem och begränsningar när du utför onlinemigreringar till Azure Database for PostgreSQL finns i artikeln Kända problem och lösningar för Azure Database for PostgreSQL-onlinemigreringar.
- Mer information om Azure Database Migration Service finns i artikeln What is the Azure Database Migration Service? (Vad är Azure Database Migration Service?).
- Information om hur Azure Database for PostgreSQL finns i artikeln Vad är Azure Database for PostgreSQL?.