Zelfstudie: Migreren/upgraden van Azure Database for PostgreSQL - Enkele server naar Azure Database for PostgreSQL - Enkele server online met behulp van DMS via de Azure Portal

U kunt Azure Database Migration Service gebruiken om de databases met minimale downtime te migreren van een exemplaar van Azure Database for PostgreSQL - Single Server naar dezelfde of een andere versie van Azure Database for PostgreSQL - Single Server of Azure Database for PostgresSQL - Flexible Server. In deze zelfstudie migreert u de voorbeelddatabase DVD Rental van Azure Database for PostgreSQL v10 naar Azure Database for PostgresSQL - Single Server 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.

Belangrijk

Migratie van Azure Database for PostgreSQL wordt ondersteund voor PostgreSQL versie 9.x en hoger. U kunt deze zelfstudie ook gebruiken om te migreren van een exemplaar van Azure Database for PostgreSQL naar een ander exemplaar van Azure Database for PostgreSQL of naar een exemplaar van Hyperscale (Citus). Voor de migratie van PostgreSQL 9.5 en 9.6 zijn extra bevoegdheden voor logische replicatie in het bronexemplaren vereist.

Vereisten

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

  • Controleer de status van migratiescenario's die worden ondersteund door Azure Database Migration Service voor ondersteunde combinaties van migratie en versie.

  • Een bestaand exemplaar van Azure Database for PostgreSQL versie 10 en hoger met de database DVD Rental.

    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 10 kan bijvoorbeeld alleen worden gemigreerd naar Azure Database for PostgreSQL 10 of 11 maar niet naar Azure Database for PostgreSQL 9.6.

  • Maak een Azure Database for PostgreSQL-server of maak een Azure Database for PostgreSQL - Hyperscale (Citus)-server als de doeldatabaseserver om gegevens naar te migreren.

  • Maak een virtueel Microsoft Azure-netwerk voor Azure Database Migration Service met behulp van het implementatiemodel Azure Resource Manager. 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.

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

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

  • Maak een firewallregel op serverniveau voor het doel van 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 de Azure Database for PostgreSQL bron in.

  • Stel in het exemplaar van Azure Database for PostgreSQL dat als bron wordt gebruikt de volgende serverparameters in:

    • max_replication_slots = [aantal sleuven], aanbevolen instelling is tien 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

Notitie

De bovenstaande serverparameters zijn statisch en het exemplaar van Azure Database for PostgreSQL moet opnieuw worden opgestart om ze van kracht te laten worden. Zie Parameters van Azure Database for PostgreSQL Server configureren voor meer informatie over het in- en uitschakelen van serverparameters.

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 schema-dumpbestand wilt maken voor de database dvdrental:

    pg_dump -O -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental -s -x > dvdrentalSchema.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.

    Raadpleeg het artikel Create an Azure Database for PostgreSQL server in the Azure portal (Een Azure Database for PostgreSQL-server maken in Azure Portal) of Create an Azure Database for PostgreSQL - Hyperscale (Citus) server in the Azure portal (Een Azure Database for PostgreSQL - Hyperscale (Citus)-server maken in de Azure-portal) voor meer informatie over hoe u een database maakt en verbindt.

    Notitie

    Een exemplaar van Azure Database for PostgreSQL - Hyperscale (Citus) heeft slechts één database: citus.

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

  1. Selecteer in de Azure-portal Een resource maken, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service uit de vervolgkeuzelijst.

    Azure Marketplace

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Azure Database Migration Service-exemplaar maken

  3. Geef in het scherm Migratieservice maken een naam op voor de service, het abonnement, een nieuwe of bestaande resourcegroep en de locatie.

  4. Selecteer een bestaand virtueel netwerk of maak een nieuw netwerk.

    Het virtuele netwerk biedt Azure Database Migration Service toegang tot de bronserver van PostgreSQL en het doelexemplaar van Azure Database for PostgreSQL.

    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.

  5. Selecteer een prijscategorie.

    Zie voor meer informatie over de kosten en prijscategorieën de Pagina met prijzen.

    Instellingen configureren van een Azure Database Migration Service-exemplaar

  6. Selecteer Beoordelen en maken om de service te maken.

    Het maken van een service duurt ongeveer 10 tot 15 minuten.

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.

    Zoek alle exemplaren van Azure Database Migration Service

  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.

  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.

    Notitie

    Kies PostgreSQL bij Bronservertype, ook al is de bronserver een exemplaar van Azure Database for PostgreSQL.

  4. Selecteer in de sectie Het type activiteit kiezen de optie Onlinegegevensmigratie.

    Azure Database Migration Service-project maken

    Notitie

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

  5. Selecteer Opslaan, lees de vereisten om met Azure Database Migration Service gegevens te migreren en selecteer vervolgens Activiteit maken en uitvoeren.

Geef brondetails op

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

    Scherm Brondetails toevoegen

    Notitie

    Details zoals Servernaam, Serverpoort en Databasenaam vindt u in de portal van Azure Database for PostgreSQL.

  2. Selecteer Opslaan.

Doeldetails opgeven

  1. Geef in het scherm Doeldetails de verbindingsgegevens op voor de Hyperscale (Citus)-doelserver. Dit is het vooraf ingerichte exemplaar van Hyperscale (Citus) waarnaar het schema DVD Rentals is geïmplementeerd met behulp van pg_dump.

    Scherm Doeldetails

    Notitie

    U kunt migreren van een exemplaar van Azure Database for PostgreSQL naar een ander exemplaar van Azure Database for PostgreSQL met één server of naar een Hyperscale (Citus)-server.

  2. Selecteer Opslaan, en klik vervolgens in het scherm Toewijzen aan doeldatabases, wijs de bron- en de doeldatabase voor de migratie toe.

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

    Scherm Toewijzen aan doeldatabases

  3. Selecteer Opslaan en accepteer vervolgens de standaardwaarden in het scherm Migratie-instellingen.

    Scherm Migratie-instellingen

  4. Selecteer Opslaan, geef op het scherm Migratieoverzicht in het tekstvak Naam activiteit een naam op voor de migratieactiviteit, en controleer vervolgens het overzicht om te verzekeren dat de bron- en doeldetails overeenkomen met wat u eerder hebt opgegeven.

    Scherm Migratieoverzicht

De migratie uitvoeren

  • Selecteer Migratie uitvoeren.

Het venster van de migratieactiviteit wordt weergegeven en de status van de activiteit moet nu Back-up wordt uitgevoerd zijn. Mogelijk treedt de volgende fout op wanneer u een upgrade uitvoert van Azure Database for PostgreSQL 9.5 of 9.6:

Een scenario heeft een onbekende fout gerapporteerd. 28000: no pg_hba.conf entry for replication connection from host "40.121.141.121", user "sr"

Dit komt doordat PostgreSQL niet over de juiste bevoegdheden beschikt om vereiste logische replicatieartefacten te maken. Als u de vereiste bevoegdheden wilt inschakelen, kunt u het volgende doen:

  1. Open de instellingen voor verbindingsbeveiliging voor de bronserver Azure Database for PostgreSQL die u wilt migreren/upgraden.
  2. Voeg een nieuwe firewallregel toe met een naam die eindigt op _replrule en voeg het IP-adres uit het foutbericht toe aan de velden Eerste IP-adres en Eind-IP-adres. Voor het bovenstaande foutvoorbeeld:

Naam firewallregel = sr_replrule; eerste IP-adres = 40.121.141.121; eind-IP-adres = 40.121.141.121

  1. Klik op Opslaan en wacht tot de wijziging is doorgevoerd.
  2. Probeer de DMS-activiteit opnieuw.

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.

    Migratievoortgang controleren

  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.

    Details van Alle gegevens worden geladen

    Details van Incrementele gegevenssynchronisatie

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.

    Scherm Cutover voltooien

  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.

Notitie

Azure Database Migration Service kan worden gebruikt voor het uitvoeren van upgrades van belangrijke versies met een lagere downtime in Azure Database for PostgreSQL - Single Server. U configureert eerst een doeldatabase met de gewenste hogere versie, netwerkinstellingen en parameters van PostgresSQL. Daarna kunt u de migratie naar de doeldatabases initiëren met behulp van de hierboven beschreven procedure. Na de cutover naar de doeldatabaseserver kunt u de verbindingsreeks voor uw toepassing bijwerken zodat deze naar de doeldatabaseserver verwijst.

Volgende stappen