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.

  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 mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -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-source.postgres.database.azure.com  -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sql
    

    Anteckning

    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

  1. Logga in på Azure-portalen. Sök efter och välj 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 för 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 + Ny migrering Project.

  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.

    Anteckning

    Välj PostgreSQL i Källservertyp även om källservern är en Azure Database for PostgreSQL instans.

  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

    Anteckning

    Du hittar information som "Servernamn", "Serverport", "Databasnamn" osv. i Azure Database for PostgreSQL portalen.

  2. Välj Spara.

Ange målinformation

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

    Skärmen Målinformation

    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.

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

  1. Öppna anslutningssäkerhetsinställningarna för källservern Azure DB for PostgreSQL som du försöker migrera/uppgradera från.
  2. 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

  1. Klicka på Spara och låt ändringen slutföras.
  2. Försök att utföra DMS-aktiviteten igen.

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

    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.

    Fullständig skärm för ö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.

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