Dela via


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 en Azure Database for PostgreSQL-server.

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

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

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

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

  1. Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

    Skärmbild av Visa portalprenumerationer.

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

    Skärmbild av Visa resursprovidrar.

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

    Skärmbild av Registrera resursprovider.

Skapa en Azure Database Migration Service-instans

  1. I menyn Azure Portal eller på startsidan väljer du Skapa en resurs. Sök efter och välj Azure Database Migration Service.

    Skärmbild som visar Azure Marketplace.

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

    Skärmbild av Skapa Azure Database Migration Service-instans.

    Välj lämplig typ av källserver och målservertyp och välj alternativet Databasmigreringstjänst (klassisk).

    Skärmbild av scenariot Välj databasmigreringstjänst (klassisk).

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

    Skärmbild av grundläggande inställningar för konfigurera Azure Database Migration Service-instans.

    • Välj Nästa: Nätverk.
  4. 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.

    Skärmbild av Konfigurera nätverksinställningar för Azure Database Migration Service-instansen.

    • 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:

    Migreringstjänsten har skapats

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.

  1. I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

    Skärmbild av en Search Azure Database Migration Service.

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

    Skärmbild av en sökning i Azure Database Migration Service-instansen.

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

  4. I avsnittet Migreringsaktivitetstyp väljer du Online-datamigrering.

    Skärmbild av ett Skapa ett nytt migreringsprojekt.

    Alternativt kan du välja Skapa projekt endast för att skapa migreringsprojektet nu och köra migreringen senare.

  5. Välj Skapa och kör aktivitet för att använda Azure Database Migration Service för att migrera data.

Ange källinformation

  1. På skärmen Lägg till källinformation anger du anslutningsinformationen för PostgreSQL-källinstansen.

    Skärmbild av skärmen Lägg till källinformation.

Ange målinformation

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

    Skärmbild av skärmen Lägg till målinformation.

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

    Skärmbild av en kartdatabas med målskärmen.

  3. Välj Nästa:Välj tabeller och välj sedan de obligatoriska tabeller som måste migreras på skärmen Välj tabeller .

    Skärmbild av att välja tabeller för migreringsskärmen.

  4. Välj Nästa:Konfigurera migreringsinställningar och godkänn sedan standardvärdena på skärmen Konfigurera migreringsinställningar .

    Skärmbild av skärmen för att konfigurera migreringsinställning.

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

    Skärmbild av skärmen för migreringssammanfattning.

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

  1. På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Slutförd.

    Skärmbild av skärmen för migreringsövervakning.

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

    Skärmbild av skärmen med fullständig inläsningsinformation för migrering.

    Skärmbild av skärmen med inkrementell inläsningsinformation för migrering.

Utföra snabbmigrering

När den fullständiga inläsningen är klar är databaserna märkta med Klar för snabbmigrering.

  1. När du är redo att slutföra databasmigreringen väljer du Starta snabb.

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

    Skärmbild av skärm för snabb slutförande.

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