Självstudie: Migrera PostgreSQL till Azure DB for PostgreSQL online med DMS via Azure Portal

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 avbrottstid till programmet. I den här självstudien migrerar du exempeldatabasen DVD Rental från en lokal instans av PostgreSQL 9.6 till Azure Database for PostgreSQL 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 pg_dump verktyg.
  • Skapa en instans av Azure Database Migration Service.
  • Skapa ett migreringsprojekt i Azure Database Migration Service.
  • Köra migreringen.
  • Övervaka migreringen.
  • Utför en migreringsmigrering.

Anteckning

Om Azure Database Migration Service utföra en onlinemigrering måste du skapa en instans baserat på prisnivån Premium. 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.

Förutsättningar

För att slutföra den här kursen behöver du:

  • Ladda ned och installera PostgreSQL Community Edition 9.4, 9.5, 9.6 eller 10. PostgreSQL-källserverversionen måste vara 9.4, 9.5, 9.6, 10, 11 eller 12. Mer information finns i artikeln Versioner av PostgreSQL Database som stöds.

    Observera också att målversionen Azure Database for PostgreSQL måste vara lika med eller senare än den lokala PostgreSQL-versionen. PostgreSQL 9.6 kan till exempel migrera till Azure Database for PostgreSQL 9.6, 10 eller 11, men inte till Azure Database for PostgreSQL 9.5. Migreringar till PostgreSQL 13+ stöds inte för närvarande.

  • Skapa en Azure Database for PostgreSQL server eller skapa en Azure Database for PostgreSQL – Hyperskala (Citus) server.

  • Skapa en Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning till dina lokala källservrar med hjälp av ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i Virtual Network-dokumentationenoch i synnerhet snabbstartsartiklarna med stegvisa detaljer.

    Anteckning

    Om du använder ExpressRoute med nätverks-peering till Microsoft under installationen av det virtuella nätverket lägger du till följande tjänstslutpunkter i undernätet där tjänsten ska etableras:

    • Måldatabasslutpunkt (till exempel SQL-slutpunkt Cosmos DB slutpunkt och så vidare)
    • Lagringsslutpunkt
    • Service Bus-slutpunkt

    Den här konfigurationen är nödvändig Azure Database Migration Service saknar Internetanslutning.

  • Kontrollera 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 NSG-trafikfiltrering för virtuella nätverk 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 åtkomst till PostgreSQL-källservern, som som standard är TCP-port 5432.

  • När du använder en brandväggsinstallation framför dina källdatabaser kanske du måste lägga till brandväggsregler för att tillåta Azure Database Migration Service att komma åt källdatabaserna för migrering.

  • Skapa en brandväggsregel på servernivå för Azure Database for PostgreSQL att ge 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 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

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.

  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 dvdrental-databasen:

    pg_dump -o -h localhost -U postgres -d dvdrental -s -O -x > dvdrentalSchema.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 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.

  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
    

    Ett exempel:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental citus < dvdrentalSchema.sql
    

    Anteckning

    Migreringstjänsten hanterar aktivera/inaktivera externa nycklar och utlösare internt 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

  1. Logga in på Azure Portal och välj Alla tjänster och sedan Prenumerationer.

    Visa portalprenumerationer

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

    Visa resursprovidrar

  3. Sök efter migrering och välj sedan Registrera till höger om Microsoft.DataMigration.

    Registrera resursprovider

Skapa en DMS-instans

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

    Azure Marketplace

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

    Skapa Azure Database Migration Service-instans

  3. På skärmen Skapa migreringstjänst anger du ett namn, prenumerationen, en ny eller befintlig resursgrupp och platsen för tjänsten.

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

  5. Välj en prisnivå.

    Mer information om kostnader och prisnivåer finns på sidan med priser.

    Konfigurera Azure Database Migration Service-instansinställningar

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

  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.

    Leta upp alla instanser av Azure Database Migration Service

  2. 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 + Nytt migreringsprojekt.

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

  4. I avsnittet Välj typ av aktivitet väljer du Online-datamigrering.

    Skapa Azure Database Migration Service projekt

    Anteckning

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

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

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

    Skärmen Lägg till källinformation

  2. Välj Spara.

Ange målinformation

  1. På skärmen Målinformation anger du anslutningsinformationen för Hyperskala (Citus)-målservern, som är den före etablerade instansen av Hyperskala (Citus) som schemat för DVD-uthyrning distribuerades till med hjälp av pg_dump.

    Skärmen Målinformation

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

    Skärmen Mappa till måldatabaser

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

    Skärmen Migreringsinställningar

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

    Sammanfattningsskärm för migrering

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.

Övervaka migreringen

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

    Övervaka migreringsprocessen

  2. 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ärder för 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).

    Fullständig information om databelastning

    Information om inkrementell datasynkronisering

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

    Skärmen För att slutföra övergången

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

Nästa steg