Självstudie: Migrera PostgreSQL till Azure Database for PostgreSQL online med DMS (klassisk) via Azure Portal
Viktigt!
Vi rekommenderar att du använder den nya migreringstjänsten i Azure Database for PostgreSQL för en mer effektiviserad och effektiv migreringsupplevelse. Den här tjänsten förenklar processen genom att stödja en mängd olika källmiljöer, vilket säkerställer en problemfri övergång till Azure Database for PostgreSQL.
Mer information om Azure Database Migration Service finns i artikeln Vad är Azure Database Migration Service?
Du kan använda Azure Database Migration Service för att migrera databaserna från en lokal PostgreSQL-instans till Azure Database for PostgreSQL med minimal stilleståndstid för programmet. I den här självstudien migrerar du listdb-exempeldatabasen från en lokal instans av PostgreSQL 13.10 till Azure Database for PostgreSQL med hjälp av onlinemigreringsaktiviteten i Azure Database Migration Service.
I den här självstudien lär du dig att:
- Migrera exempelschemat med hjälp av verktyget pg_dump.
- Skapa en instans av Azure Database Migration Service.
- Skapa ett migreringsprojekt i Azure Database Migration Service.
- Köra migreringen.
- Övervaka migreringen.
- Utför snabb migrering.
Att använda Azure Database Migration Service för att utföra en onlinemigrering kräver att du skapar en instans baserat på premiumprisnivån. Vi krypterar disken för att förhindra datastöld under migreringsprocessen
Viktigt!
För en optimal migrering rekommenderar Microsoft att du skapar en instans av 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.
Förutsättningar
För att slutföra den här kursen behöver du:
Ladda ned och installera PostgreSQL Community Edition. PostgreSQL-källserverversionen måste vara >= 9.4. Mer information finns i PostgreSQL-versioner som stöds i Azure Database for PostgreSQL – flexibel server.
Observera också att Azure Database for PostgreSQL-målversionen måste vara lika med eller senare än den lokala PostgreSQL-versionen. PostgreSQL 12 kan till exempel migrera till Azure Database for PostgreSQL >= 12 version men inte till Azure Database for PostgreSQL 11.
Skapa ett virtuellt Azure-nätverk för Azure Database Migration Service genom att använda Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning för dina lokala källservrar genom att använda antingen ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i dokumentationen för virtuellt nätverk, och särskilt snabbstartsartiklarna med stegvis information.
Om du använder ExpressRoute med nätverkspeering till Microsoft under konfigurationen av virtuella nätverk lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:
- Måldatabasslutpunkt (till exempel SQL-slutpunkt, Azure Cosmos DB-slutpunkt och så vidare)
- Lagringsslutpunkt
- Service Bus-slutpunkt
Den här konfigurationen är nödvändig eftersom Azure Database Migration Service saknar Internetanslutning.
Se till att NSG-reglerna (Network Security Group) för ditt virtuella nätverk inte blockerar utgående port 443 för ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om trafikfiltrering för virtuella nätverk NSG finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.
Konfigurera din Windows-brandvägg för databasmotoråtkomst.
Öppna Windows-brandväggen så att Azure Database Migration Service kommer åt käll-PostgreSQL Server, som har standardinställningen TCP-port 5432.
När du använder en brandväggsinstallation framför dina källdatabaser kan du behöva lägga till brandväggsregler så att Azure Database Migration Service kan komma åt källdatabaserna för migrering.
Skapa en brandväggsregel på servernivå för Azure Database for PostgreSQL för att tillåta åtkomst till måldatabaserna för Azure Database Migration Service. Ange undernätsintervallet för det virtuella nätverk som används för Azure Database Migration Service.
Aktivera logisk replikering i filen postgresql.config och ange följande parametrar:
- wal_level = logical
- max_replication_slots = [antal platser] rekommenderar vi att du anger fem 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
Användaren måste ha REPLICATION-rollen på den server som är värd för källdatabasen.
Viktigt!
Alla tabeller i din befintliga databas 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.sql
Om du till exempel vill skapa en schemadumpfil för listdb-databasen :
pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sql
Mer 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.
Importera schemat till måldatabasen som du skapade genom att återställa schemadumpfilen.
psql -h hostname -U db_username -d db_name < your_schema.sql
Till exempel:
psql -h mypgserver-20170401.postgres.database.azure.com -U postgres -d migratedb < listdbSchema.sql
Kommentar
Migreringstjänsten hanterar internt aktivering/inaktivering av 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
Registrera resursprovidern Microsoft.DataMigration innan du skapar din första instans av Database Migration Service.
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 Resursprovidrar.
Sök efter migrering och välj sedan Registrera dig för Microsoft.DataMigration.
Skapa en Azure Database Migration Service-instans
I menyn Azure Portal eller på startsidan väljer du Skapa en resurs. Sök efter och välj Azure Database Migration Service.
På sidan Azure Database Migration Service väljer du Skapa.
Välj lämplig typ av källserver och målservertyp och välj alternativet Databasmigreringstjänst (klassisk).
På skärmen Skapa grunderna för Migreringstjänsten :
- Välj prenumerationen.
- Skapa en ny resursgrupp eller välj en befintlig.
- Ange ett namn för instansen av Azure Database Migration Service.
- Välj den plats där du vill skapa instansen av Azure Database Migration Service.
- Välj Azure som tjänstläge.
- Välj en prisnivå. Mer information om kostnader och prisnivåer finns på sidan med priser.
- Välj Nästa: Nätverk.
På skärmen Skapa migreringstjänstnätverk:
- Välj ett befintligt virtuellt nätverk eller skapa ett nytt. Det virtuella nätverket ger Azure Database Migration Service åtkomst till källservern och målinstansen. 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 Granska + Skapa för att granska informationen och välj sedan Skapa för att skapa tjänsten.
Efter en liten stund skapas din instans av Azure Database Migration Service och är redo att användas:
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-instans som du skapade, väljer instansen och väljer sedan + Nytt migreringsprojekt.
På skärmen Nytt migreringsprojekt anger du ett namn för projektet. I textrutan Källservertyp väljer du PostgreSQL. I textrutan Målservertyp väljer du Azure Database for PostgreSQL.
I avsnittet Migreringsaktivitetstyp väljer du Online-datamigrering.
Alternativt kan du välja Skapa projekt endast för att skapa migreringsprojektet nu och köra migreringen senare.
Välj Skapa och kör aktivitet för att använda Azure Database Migration Service för att migrera data.
Ange källinformation
På skärmen Lägg till källinformation anger du anslutningsinformationen för PostgreSQL-källinstansen.
Ange målinformation
På skärmen Målinformation anger du anslutningsinformationen för azure database for PostgreSQL – flexibel server som är den fördefinierade instans som schemat distribuerades till med hjälp av pg_dump.
Välj Nästa:Välj databaser och mappa sedan källan och måldatabasen för migrering på skärmen Välj databaser .
Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.
Välj Nästa:Välj tabeller och välj sedan de obligatoriska tabeller som måste migreras på skärmen Välj tabeller .
Välj Nästa:Konfigurera migreringsinställningar och godkänn sedan standardvärdena på skärmen Konfigurera migreringsinställningar .
På skärmen Migreringssammanfattning i textrutan Aktivitetsnamn anger du ett namn för migreringsaktiviteten och granskar sedan sammanfattningen för att se till att käll- och målinformationen matchar det du tidigare angav.
Köra migreringen
Välj Starta migrering.
Migreringsaktivitetsfönstret visas och aktivitetens status bör uppdateras så att den visas som Säkerhetskopiering pågår.
Ö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, under Databasnamn, väljer du en specifik databas för att komma till migreringsstatusen för fullständig datainläsning och inkrementella datasynkroniseringsåtgärder .
Kommentar
Fullständig datainläsning visar den inledande belastningsmigreringsstatusen, medan Inkrementell datasynkronisering visar cdc-status (change data capture).
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 visas
0
för att se till att alla inkommande transaktioner till källdatabasen har stoppats, markera kryssrutan Bekräfta och välj sedan Använd.När databasmigreringsstatusen visar Slutförd återskapar du sekvenser (om tillämpligt) och ansluter dina program till den nya målinstansen av Azure Database for PostgreSQL.