Zelfstudie: PostgreSQL online migreren naar Azure Database for PostgreSQL met behulp van DMS (klassiek) via Azure Portal
Belangrijk
U wordt aangeraden de nieuwe migratieservice in Azure Database for PostgreSQL te gebruiken voor een meer gestroomlijnde en efficiënte migratie-ervaring. Deze service vereenvoudigt het proces door ondersteuning te bieden voor verschillende bronomgevingen, waardoor u probleemloos kunt overstappen naar Azure Database for PostgreSQL.
Zie het artikel Wat is Azure Database Migration Service?
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.
Als 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 PostgreSQL Community Edition. De bronversie van PostgreSQL Server moet = 9.4 zijn >. Zie Ondersteunde PostgreSQL-versies in Azure Database for PostgreSQL - Flexible Server 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 migreren naar Azure Database for PostgreSQL >= 12 versie, maar niet naar Azure Database for PostgreSQL 11.
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.
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 (Network Security Group) 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 voor uw brondatabase(s) gebruikt, moet u mogelijk firewallregels toevoegen om de Azure Database Migration Service toegang te geven tot de brondatabase(s) voor migratie.
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 REPLICATIErol op de server hebben 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.
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.
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 Azure Portal voor meer informatie over het maken van verbinding en het maken van een database.
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 de 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.
Meld u aan bij het Azure-portaal. Zoek en selecteer Abonnementen.
Selecteer het abonnement waarin u het Azure Database Migration Service-exemplaar wilt maken en selecteer vervolgens Resourceproviders.
Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.
Een Azure Database Migration Service-exemplaar maken
Selecteer in het menu van de Azure-portal of op de startpagina de optie Een resource maken. Zoek en selecteer Azure Database Migration Service.
Selecteer in het scherm Azure Database Migration ServiceMaken.
Selecteer het juiste bronservertype en het doelservertype en kies de optie Database Migration Service (klassiek).
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.
- Selecteer Volgende: Netwerken.
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.
Selecteer Beoordelen + Maken om de details te bekijken en selecteer Vervolgens Maken om de service te maken.
Na enkele ogenblikpen wordt uw exemplaar van de Azure Database Migration-service gemaakt en klaar voor gebruik:
Een migratieproject maken
Nadat de service is gemaakt, zoek deze op in de Azure-portal, open hem en maak vervolgens een nieuw migratieproject.
Selecteer in het Azure Portal Alle diensten, zoek naar Azure Database Migration Service, en selecteer vervolgens Azure Database Migration Service.
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.
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.
Selecteer onlinegegevensmigratie in de sectie Migratieactiviteitstype.
U kunt ook Alleen project maken kiezen om het migratieproject nu te maken en de migratie later uit te voeren.
Selecteer Activiteit maken en uitvoeren om Azure Database Migration Service te gebruiken om gegevens te migreren.
Brondetails opgeven
Geef in het scherm Brondetails toevoegen de verbindingsgegevens op voor het bronexemplaar van PostgreSQL.
Doeldetails opgeven
Geef in het scherm Doeldetails de verbindingsgegevens op voor de Azure Database for PostgreSQL - Flexible-doelserver. Dit is het vooraf ingerichte exemplaar waarop het schema is geïmplementeerd met behulp van pg_dump.
Selecteer Volgende:Selecteer databases en wijs vervolgens in het scherm Databases selecteren de bron en de 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.
Selecteer Volgende:Selecteer tabellen en selecteer vervolgens in het scherm Tabellen selecteren de vereiste tabellen die moeten worden gemigreerd.
Selecteer Volgende:Migratie-instellingen configureren en accepteer de standaardwaarden in het scherm Migratie-instellingen configureren.
Geef in het tekstvak Activiteitsnaam in het scherm Migratieoverzicht een naam op voor de migratieactiviteit en controleer vervolgens de samenvatting om ervoor te zorgen dat de bron- en doeldetails overeenkomen met wat u eerder hebt opgegeven.
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.
De migratie bewaken
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.
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.
Migratie-cutover uitvoeren
Nadat de eerste volledige lading is voltooid, worden de databases gemarkeerd als Gereed voor cutover.
Wanneer u klaar bent om de databasemigratie te voltooien, selecteert u Cutover starten.
Wacht totdat het item Wijzigingen in behandeling wordt weergegeven
0
om ervoor te zorgen dat alle binnenkomende transacties naar de brondatabase zijn gestopt, schakel het selectievakje Bevestigen in en selecteer Vervolgens Toepassen.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.