Share via


Zelfstudie: PostgreSQL migreren naar online Azure Database for PostgreSQL met behulp van DMS (klassiek) via de Azure Portal

U kunt Azure Database Migration Service gebruiken om de databases met minimale downtime voor de toepassing te migreren van een on-premises PostgreSQL-exemplaar naar Azure Database for MySQL. In deze zelfstudie migreert u de listdb-voorbeelddatabase van een on-premises exemplaar van PostgreSQL 13.10 naar Azure Database for PostgreSQL met behulp van de onlinemigratieactiviteit in Azure Database Migration Service.

In deze zelfstudie leert u het volgende:

  • Migreer het voorbeeldschema met behulp van het hulpprogramma pg_dump.
  • Maak een exemplaar van de Azure Database Migration Service.
  • Maak een migratieproject in Azure Database Migration Service.
  • De migratie uitvoeren.
  • Houd de migratie in de gaten.
  • Voer de migratie-cutover uit.

Notitie

Als u Azure Database Migration Service gebruikt om een onlinemigratie uit te voeren, is het vereist dat u een exemplaar maakt op basis van de prijscategorie Premium. De schijf wordt versleuteld om diefstal van gegevens tijdens het migratieproces te voorkomen.

Belangrijk

Voor een optimale migratie-ervaring raadt Microsoft u aan een exemplaar van Azure Database Migration Service te maken in dezelfde Azure-regio als de doeldatabase. Het verplaatsen van gegevens naar regio's of geografieën kan het migratieproces vertragen en fouten veroorzaken.

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

  • Download en installeer de PostgreSQL-communityeditie. De bronversie van de PostgreSQL-server moet = 9.4 zijn >. Zie Ondersteunde PostgreSQL-databaseversies voor meer informatie.

    Houd er ook rekening mee dat de doelversie van Azure Database for PostgreSQL gelijk moet zijn aan of hoger moet zijn dan de on-premises PostgreSQL-versie. PostgreSQL 12 kan bijvoorbeeld worden gemigreerd naar versie Azure Database for PostgreSQL >= 12, maar niet naar Azure Database for PostgreSQL 11.

  • Een Azure-database maken voor PostgreSQL-server.

  • Maak een Microsoft Azure Virtual Network voor Azure Database Migration Service met behulp van het Azure Resource Manager-implementatiemodel. Dit geeft site-naar-site-verbinding met uw on-premises bronservers met behulp van ExpressRoute of VPN. Voor meer informatie over het maken van een virtueel netwerk raadpleegt u de documentatie over virtuele netwerken en dan met name de quickstart-artikelen met stapsgewijze informatie.

    Notitie

    Als u bij de installatie van een virtueel netwerk gebruikmaakt van ExpressRoute met netwerkpeering voor Microsoft, voegt u de volgende service-eindpunten toe aan het subnet waarin de service wordt ingericht:

    • Eindpunt van de doeldatabase (bijvoorbeeld SQL-eindpunt, Azure Cosmos DB-eindpunt, enzovoort)
    • Opslageindpunt
    • Service Bus-eindpunt

    Deze configuratie is noodzakelijk omdat Azure Database Migration Service geen internetverbinding biedt.

  • Zorg ervoor dat de NSG-regels (netwerkbeveiligingsgroep) voor uw virtuele netwerk de uitgaande poort 443 van ServiceTag voor ServiceBus, Storage en AzureMonitor niet blokkeren. Zie het artikel Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie over verkeer filteren van verkeer via de netwerkbeveiligingsgroep voor virtuele netwerken.

  • Configureer uw Windows Firewall voor toegang tot de database-engine.

  • Stel uw Windows-firewall open voor toegang van Azure Database Migration Service tot de oorspronkelijke PostgreSQL Server. Standaard verloopt dit via TCP-poort 5432.

  • Wanneer u een firewallapparaat gebruikt voor de brondatabase(s), moet u mogelijk firewallregels toevoegen om voor de Azure Database Migration Service toegang tot de brondatabase(s) voor de migratie toe te staan.

  • Maak een firewallregel op serverniveau voor Azure Database for PostgreSQL om Azure Database Migration Service toegang te bieden tot de doeldatabases. Geef het subnetbereik van het virtuele netwerk op dat wordt gebruikt voor Azure Database Migration Service.

  • Schakel logische replicatie in het bestand postgresql.config in en stel de volgende parameters in:

    • wal_level = logical
    • max_replication_slots = [aantal sleuven], aanbevolen instelling is vijf sleuven
    • max_wal_senders = [aantal gelijktijdige taken]: met de parameter max_wal_senders stelt u het aantal taken in dat gelijktijdig kan worden uitgevoerd. De aanbevolen instelling is 10 taken
  • De gebruiker moet de rol REPLICATION hebben op de server die als host fungeert voor de brondatabase.

Belangrijk

Alle tabellen in uw bestaande database hebben een primaire sleutel nodig om ervoor te zorgen dat de wijzigingen kunnen worden gesynchroniseerd met de doeldatabase.

Het voorbeeldschema migreren

Om alle databaseobjecten zoals tabelschema’s, indexen en opgeslagen procedures te voltooien, moeten we het schema uit de brondatabase extraheren en op de database toepassen.

  1. Gebruik de opdracht pg_dump -s om een dumpbestand van het schema te maken voor een database.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Als u bijvoorbeeld een schemadumpbestand wilt maken voor de listdb-database :

    pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sql
    

    Zie voor meer informatie over het gebruik van het hulpprogramma pg_dump de voorbeelden in de zelfstudie pg-dump.

  2. Maak een lege database maken in uw doelomgeving, dit is Azure Database for PostgreSQL.

    Zie het artikel Een Azure Database for PostgreSQL server maken in de Azure Portal voor meer informatie over het verbinden en maken van een database.

  3. Importeer het schema in de doeldatabase die u hebt gemaakt, door het dumpbestand van het schema te herstellen.

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Bijvoorbeeld:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d migratedb < listdbSchema.sql
    

    Notitie

    De migratieservice verwerkt intern het in-/uitschakelen van refererende sleutels en triggers om een betrouwbare en robuuste gegevensmigratie te garanderen. Als gevolg hiervan hoeft u zich geen zorgen te maken over het aanbrengen van wijzigingen in het doeldatabaseschema.

De resourceprovider registreren

Registreer de Microsoft.DataMigration-resourceprovider voordat u uw eerste Database Migration Service-exemplaar maakt.

  1. Meld u aan bij Azure Portal. Zoek en selecteer Abonnementen.

    Portal-abonnementen weergeven

  2. Selecteer het abonnement waarin u het Azure Database Migration Service-exemplaar wilt maken en selecteer vervolgens Resourceproviders.

    Resourceproviders weergeven

  3. Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.

    Resourceprovider registreren

Een Azure Database Migration Service-exemplaar maken

  1. Selecteer in het menu van de Azure-portal of op de startpagina de optie Een resource maken. Zoek en selecteer Azure Database Migration Service.

    Azure Marketplace

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Azure Database Migration Service-exemplaar maken

    Selecteer het juiste bronservertype en doelservertype en kies de optie Database Migration Service (klassiek).

    Selecteer Database Migration Service (klassiek) scenario

  3. Ga in het basisscherm Migratieservice maken als volgt te werk:

    • Selecteer het abonnement.
    • Maak een nieuwe resourcegroep of kies een bestaande resourcegroep.
    • Geef een naam op voor het exemplaar van de Azure Database Migration Service.
    • Selecteer de locatie waarop u het exemplaar van Azure Database Migration Service wilt maken.
    • Kies Azure als de servicemodus.
    • Selecteer een prijscategorie. Zie voor meer informatie over de kosten en prijscategorieën de Pagina met prijzen.

    Basisinstellingen configureren van een Azure Database Migration Service-exemplaar

    • Selecteer Volgende: Netwerken.
  4. Ga in het netwerkscherm Migratieservice maken als volgt te werk:

    • Selecteer een bestaand virtueel netwerk of maak een nieuw netwerk. Het virtuele netwerk biedt Azure Database Migration Service toegang tot de bronserver en het doelexemplaren. Zie het artikel Een virtueel netwerk maken met de Azure-portal voor meer informatie over het maken van een virtueel netwerk in de Azure-portal.

    Netwerkinstellingen configureren van een Azure Database Migration Service-exemplaar

    • Selecteer Beoordelen en maken om de details te bekijken en selecteer vervolgens Maken om de service te maken.

    • Na enkele ogenblikpen is uw exemplaar van de Azure Database Migration-service gemaakt en klaar voor gebruik:

    Migratieservice gemaakt

Een migratieproject maken

Nadat de service is gemaakt, zoek deze op in de Azure-portal, open hem en maak vervolgens een nieuw migratieproject.

  1. Selecteer in de Azure-portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.

    Schermopname van een Azure Database Migration Service Zoeken.

  2. Zoek in het scherm Azure Database Migration service naar de naam van de Azure Database Migration Service-instantie die u hebt gemaakt, selecteer de instantie en selecteer vervolgens Nieuw migratieproject.

    Schermopname van het Azure Database Migration Service-exemplaar doorzoeken.

  3. Geef in het scherm Nieuw migratieproject een naam op voor het project, selecteer in het tekstvak Bronservertype de optie PostgreSQL en selecteer in het tekstvak Doelservertype de optie Azure Database for PostgreSQL.

  4. Selecteer in de sectie Type migratieactiviteitde optie Onlinegegevensmigratie.

    Schermopname van een nieuw migratieproject maken.

    Notitie

    U kunt ook Alleen project maken kiezen om het migratieproject nu te maken en de migratie later uit te voeren.

  5. Selecteer Activiteit maken en uitvoeren om Azure Database Migration Service te gebruiken om gegevens te migreren.

Geef brondetails op

  1. Geef in het scherm Brondetails toevoegen de verbindingsgegevens op voor het bronexemplaar van PostgreSQL.

    Schermopname van het scherm Brondetails toevoegen.

Doeldetails opgeven

  1. Geef in het scherm Doeldetails de verbindingsgegevens op voor de doel-Azure Database for PostgreSQL - Flexibele server. Dit is het vooraf ingerichte exemplaar waarnaar het schema is geïmplementeerd met behulp van pg_dump.

    Schermopname van het scherm Doeldetails toevoegen.

  2. Klik op Volgende:Databases selecteren en wijs in het scherm Databases selecteren de bron- en doeldatabase toe voor migratie.

    Als de doeldatabase de naam van de dezelfde database als de bron-database bevat, wordt in Azure Database Migration Service de doeldatabase standaard geselecteerd.

    Schermopname van een kaartdatabase met het doelscherm.

  3. Klik op Volgende:Tabellen selecteren en selecteer vervolgens in het scherm Tabellen selecteren de vereiste tabellen die moeten worden gemigreerd.

    Schermopname van een scherm met het selecteren van de tabellen voor migratie.

  4. Klik op Volgende:Migratie-instellingen configureren en accepteer de standaardwaarden in het scherm Migratie-instellingen configureren .

    Schermopname van het configureren van het scherm migratie-instellingen.

  5. Geef in het scherm Migratieoverzicht in het tekstvak Activiteitsnaam een naam op voor de migratieactiviteit en controleer vervolgens het overzicht om ervoor te zorgen dat de bron- en doelgegevens overeenkomen met wat u eerder hebt opgegeven.

    Schermopname van het scherm migratieoverzicht.

De migratie uitvoeren

  • Selecteer Migratie starten.

    Het venster van de migratieactiviteit wordt weergegeven en de status van de activiteit moet nu Back-up wordt uitgevoerd zijn.

Bewaak de migratie

  1. Selecteer op het scherm van de migratieactiviteit de optie Vernieuwen om de weergave bij te werken totdat de Status van de migratie als Voltooid wordt weergegeven.

    Schermopname van het scherm migratiebewaking.

  2. Als de migratie is voltooid, selecteert u onder Databasenaam een specifieke database om de migratiestatus voor de bewerkingen Alle gegevens worden geladen en Incrementele gegevenssynchronisatie te bekijken.

    Notitie

    Alle gegevens worden geladen toont de migratiestatus van de eerste lading terwijl Incrementele gegevenssynchronisatie de CDC-status (Change Data Capture) toont.

    Schermopname van het scherm met details van de volledige belasting van de migratie.

    Schermopname van het detailscherm voor incrementele belasting van de migratie.

Migratie-cutover uitvoeren

Nadat de eerste volledige lading is voltooid, worden de databases gemarkeerd als Gereed voor cutover.

  1. Wanneer u klaar bent om de databasemigratie te voltooien, selecteert u Cutover starten.

  2. Wacht tot de teller Wijzigingen in behandeling op 0 staat om er zeker van te zijn dat alle inkomende transacties naar de brondatabase zijn gestopt. Schakel dan het selectievakje Bevestigen in en selecteer Toepassen.

    Schermopname van het voltooiingsscherm van de cutover.

  3. Wanneer de databasemigratie de status Voltooid heeft, maakt u de reeksen opnieuw (indien van toepassing) en verbindt u uw toepassingen met de nieuwe doelinstantie van Azure Database for PostgreSQL.

Volgende stappen