Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt u begeleid bij het migreren van een PostgreSQL-exemplaar van uw on-premises of virtuele Azure-machines (VM's) naar een flexibele Azure Database for PostgreSQL-server in de onlinemodus.
De migratieservice in Azure Database for PostgreSQL is een volledig beheerde service die is geïntegreerd in Azure Portal en Azure CLI. Het is ontworpen om uw migratietraject naar de flexibele Azure Database for PostgreSQL-server te vereenvoudigen.
- Vereiste voorwaarden
- De migratie uitvoeren
- De migratie bewaken
- De overgang starten
- De migratie controleren wanneer deze is voltooid
Vereiste voorwaarden
U hebt de volgende vereisten nodig om de migratie te starten:
Voordat u de migratie met de Azure Database for PostgreSQL-migratieservice start, is het belangrijk om te voldoen aan de volgende vereisten, speciaal ontworpen voor onlinemigratiescenario's.
- De bronversie controleren
- Test_decoding installeren - Bronconfiguratie
- Doelinstellingen configureren
- CDC inschakelen als bron
- Netwerkconfiguratie configureren
- Extensies inschakelen
- Serverparameters controleren
- Gebruikers en rollen controleren
De bronversie controleren
De bronversie van de PostgreSQL-server moet 9.5 of hoger zijn.
Als de postgreSQL-bronversie kleiner is dan 9.5, moet u deze upgraden naar 9.5 of hoger voordat u de migratie start.
Test_decoding installeren - Broninstallatie
- test_decoding ontvangt WAL via het logische decoderingsmechanisme en decodeert het tot tekstweergaven van de uitgevoerde bewerkingen.
- In Amazon RDS voor PostgreSQL is de test_decoding-invoegtoepassing vooraf geïnstalleerd en gereed voor logische replicatie. Hierdoor kunt u eenvoudig logische replicatiesites instellen en WAL-wijzigingen streamen, waardoor gebruiksvoorbeelden zoals change data capture (CDC) of replicatie naar externe systemen worden vergemakkelijkt.
- Zie de PostgreSQL-documentatie voor meer informatie over de testdecoderingsinvoegtoepassing
Doelinstellingen configureren
- Voordat u migreert, moet azure Database for PostgreSQL - Flexibele server worden gemaakt.
- De SKU die is ingericht voor Azure Database for PostgreSQL – flexibele server moet overeenkomen met de bron.
- Als u een nieuwe Azure Database for PostgreSQL wilt maken, gaat u naar Een flexibele Azure Database for PostgreSQL-server maken
CDC inschakelen als bron
-
test_decodingDe plug-in voor logische decodering vangt de gewijzigde records van de bron op. - Voer de volgende opdracht uit om de migratiegebruiker toegang te geven tot replicatiebevoegdheden:
GRANT rds_replication TO <<username>>;
Wijzig in de bron, postgreSQL-instantie, de volgende parameters door een nieuwe parametergroep te maken:
- Stel
rds.logical_replication = 1in - Ingesteld
max_replication_slotsop een waarde die groter is dan één. De waarde moet groter zijn dan het aantal databases dat is geselecteerd voor migratie. - Ingesteld
max_wal_sendersop een waarde groter dan één. Dit moet ten minste hetzelfde zijn alsmax_replication_slots, plus het aantal afzenders dat al op uw exemplaar wordt gebruikt. - De
wal_sender_timeoutparameter eindigt inactieve replicatieverbindingen langer dan het opgegeven aantal milliseconden. De standaardinstelling voor een AWS RDS for PostgreSQL-exemplaar is30000 milliseconds (30 seconds). Als u de waarde instelt op 0 (nul), wordt het time-outmechanisme uitgeschakeld en is dit een geldige instelling voor migratie.
- Stel
Zorg er op de flexibele doelserver voor dat de onlinemigratie geen opslagruimte meer heeft om de logboeken op te slaan. Zorg er dan voor dat u voldoende tabelruimte hebt met behulp van een ingerichte beheerde schijf. Om dit te bereiken, schakelt u de serverparameter
azure.enable_temp_tablespaces_on_local_ssduit voor de duur van de migratie en herstelt u deze naar de oorspronkelijke status na de migratie.
Netwerkconfiguratie configureren
Het instellen van het netwerk is essentieel voor de juiste werking van de migratieservice. Zorg ervoor dat de PostgreSQL-bronserver kan communiceren met de Azure Database for PostgreSQL-doelserver. De volgende netwerkconfiguraties zijn essentieel voor een geslaagde migratie.
Ga naar de netwerkhandleiding voor migratieservice voor informatie over de netwerkinstallatie.
Extensies inschakelen
Als u wilt zorgen voor een geslaagde migratie met behulp van de migratieservice in Azure Database for PostgreSQL, moet u mogelijk extensies verifiëren voor uw postgreSQL-bronexemplaren. Extensies bieden functionaliteit en functies die mogelijk vereist zijn voor uw toepassing. Zorg ervoor dat u de extensies op het PostgreSQL-bronexemplaren controleert voordat u het migratieproces start.
Schakel in het doelexemplaar van de Azure Database for PostgreSQL-flexibele server de ondersteunde extensies in die zijn geïdentificeerd in het PostgreSQL-bronexemplaar.
Zie Extensies en modules voor meer informatie.
Serverparameters controleren
Deze parameters worden niet automatisch gemigreerd naar de doelomgeving en moeten handmatig worden geconfigureerd.
Koppel de serverparameterwaarden van de PostgreSQL-brondatabase aan de Azure Database for PostgreSQL door toegang te krijgen tot de sectie Serverparameters in Azure Portal en de waarden dienovereenkomstig handmatig bij te werken.
Sla de parameterwijzigingen op en start de Azure Database for PostgreSQL opnieuw om zo nodig de nieuwe configuratie toe te passen.
Gebruikers en rollen nagaan
Wanneer u migreert naar Azure Database for PostgreSQL, is het essentieel om de migratie van gebruikers en rollen afzonderlijk aan te pakken, omdat hiervoor handmatige tussenkomst is vereist:
Handmatige migratie van gebruikers en rollen: gebruikers en hun bijbehorende rollen moeten handmatig worden gemigreerd naar azure Database for PostgreSQL. Om dit proces te vergemakkelijken, kunt u het
pg_dumpallhulpprogramma met de--globals-onlyvlag gebruiken om globale objecten, zoals rollen en gebruikersaccounts, te exporteren. Voer de volgende opdracht uit, waarbij u<<username>>de werkelijke gebruikersnaam en<<filename>>de gewenste naam van het uitvoerbestand vervangt:pg_dumpall --globals-only -U <<username>> -f <<filename>>.sqlBeperking voor supergebruikersrollen: Azure Database for PostgreSQL biedt geen ondersteuning voor supergebruikersrollen. Daarom moeten gebruikers met supergebruikersbevoegdheden deze bevoegdheden vóór de migratie verwijderen. Zorg ervoor dat u de machtigingen en rollen dienovereenkomstig aanpast.
Door deze stappen te volgen, kunt u ervoor zorgen dat gebruikersaccounts en -rollen correct worden gemigreerd naar Azure Database for PostgreSQL zonder problemen met betrekking tot supergebruikersbeperkingen.
Hoge beschikbaarheid (betrouwbaarheid) en leesreplica's in het doel uitschakelen
Het uitschakelen van hoge beschikbaarheid (betrouwbaarheid) en leesreplica's in de doelomgeving is essentieel. Deze functies moeten alleen worden ingeschakeld nadat de migratie is voltooid.
Door deze richtlijnen te volgen, kunt u een soepel migratieproces garanderen zonder de toegevoegde variabelen die zijn geïntroduceerd door HA en Leesreplica's. Zodra de migratie is voltooid en de database stabiel is, kunt u doorgaan met het inschakelen van deze functies om de beschikbaarheid en schaalbaarheid van uw databaseomgeving in Azure te verbeteren.
De migratie uitvoeren
U kunt migreren met behulp van Azure Portal of Azure CLI.
In dit artikel wordt u begeleid bij het gebruik van Azure Portal om uw PostgreSQL-database te migreren van een Amazon RDS for PostgreSQL-server naar een Azure Database for PostgreSQL. Met Azure Portal kunt u verschillende taken uitvoeren, waaronder databasemigratie. Als u de stappen in deze zelfstudie volgt, kunt u uw database naadloos overdragen naar Azure en profiteren van de krachtige functies en schaalbaarheid.
De migratietaak configureren
De migratieservice wordt geleverd met een eenvoudige, wizardgebaseerde ervaring in Azure Portal.
Gebruik de Azure-portal:
Selecteer uw Azure Database voor PostgreSQL-flexibele server.
Selecteer Migratie in het resourcemenu.
Selecteer Maken om via een reeks wizard-tabbladen een migratie naar een flexibele server vanaf on-premises of een Azure VM te starten.
Opmerking
De eerste keer dat u de migratieservice gebruikt, wordt er een leeg raster weergegeven met een prompt om uw eerste migratie te starten.
Als migraties naar uw flexibele serverdoel al zijn gemaakt, bevat het raster nu informatie over geprobeerde migraties.
Configuratie
U moet meerdere details opgeven met betrekking tot de migratie, zoals de migratienaam, het type bronserver, de optie en de modus.
De migratienaam is de unieke id voor elke migratie naar dit flexibele serverdoel. Dit veld accepteert alleen alfanumerieke tekens en accepteert geen speciale tekens, behalve een afbreekstreepje (-). De naam kan niet beginnen met een afbreekstreepje en moet uniek zijn voor een doelserver. Er kunnen geen twee migraties naar hetzelfde flexibele serverdoel dezelfde naam hebben.
Bronservertype : afhankelijk van uw PostgreSQL-bron, kunt u azure Virtual Machine of on-premises server selecteren.
Migratieoptie : hiermee kunt u validaties uitvoeren voordat u een migratie activeert. U kunt een van de volgende opties kiezen:
- Valideren : controleert de gereedheid van uw server en database voor migratie naar het doel.
- Valideren en migreren : voert validatie uit voordat een migratie wordt geactiveerd. Als er geen validatiefouten zijn, wordt de migratie gestart.
Het kiezen van de optie Valideren of Valideren en migreren is altijd een goede gewoonte voor het uitvoeren van premigratievalidaties voordat u de migratie uitvoert.
Bezoek premigratie voor meer informatie over premigratievalidatie.
- Met de migratiemodus kunt u de modus voor de migratie kiezen. Offline is de standaardoptie. In dit geval wijzigen we deze in Online.
Selecteer Volgende: Runtime-server.
Runtime-server
De migratieruntimeserver is een gespecialiseerde functie binnen de migratieservice in Azure Database for PostgreSQL, ontworpen om tijdens de migratie als een tussenliggende server te fungeren. Het is een afzonderlijk exemplaar van een flexibele Azure Database for PostgreSQL-server dat niet de doelserver is, maar wordt gebruikt om de migratie van databases vanuit een bronomgeving te vergemakkelijken die alleen toegankelijk is via een particulier netwerk.
Ga voor meer informatie over de runtimeserver naar de Migratieruntime-server.
Bronserver
Op het tabblad Bronserver wordt u gevraagd om details te geven die betrekking hebben op de bron die is geselecteerd op het tabblad Setup . Dit is de bron van de databases.
- Servernaam : geef de naam van de host of het IP-adres van de postgreSQL-bronserver op.
- Poort : poortnummer van de bronserver.
- Beheerdersaanmelding : de naam van de beheerdergebruiker van de postgreSQL-bronserver.
- Wachtwoord : wachtwoord van de aanmelding van de beheerder die is opgegeven om verbinding te maken met de PostgreSQL-bronserver.
-
SSL-modus : ondersteunde waarden zijn
preferredenrequired. Wanneer de SSL op de postgreSQL-bronserver isOFF, gebruikt uprefer. Als de SSL op de bronserver isON, gebruikt u derequire. SSL-waarden kunnen worden bepaald in het bestand postgresql.conf van de bronserver. - Testverbinding : voert de connectiviteitstest tussen het doel en de bron uit. Zodra de verbinding tot stand is gebracht, kunt u doorgaan naar het volgende tabblad. Deze test is bedoeld om connectiviteitsproblemen te identificeren die mogelijk bestaan tussen de doel- en bronservers, inclusief verificatie met behulp van de opgegeven referenties. Het tot stand brengen van een testverbinding duurt enkele seconden.
Nadat de testverbinding is geslaagd, selecteert u Volgende: Doelserver.
Doelserver
Op het tabblad Doelserver worden metagegevens weergegeven voor het doel van de flexibele server, zoals de abonnementsnaam, resourcegroep, servernaam, locatie en PostgreSQL-versie.
- Aanmelding van de beheerder : de naam van de beheerder van de PostgreSQL-doelserver.
- Wachtwoord - Wachtwoord voor de beheerdersaanmelding die is opgegeven om verbinding te maken met de doel-PostgreSQL-server.
-
Aangepaste FQDN of IP-adres: het aangepaste FQDN- of IP-adresveld is optioneel en kan worden gebruikt wanneer het doel zich achter een aangepaste DNS-server bevindt of aangepaste DNS-naamruimten heeft, waardoor het alleen toegankelijk is via specifieke FQDN's of IP-adressen. Dit kan bijvoorbeeld vermeldingen bevatten zoals
production-flexible-server.example.com,198.1.0.2of een PostgreSQL-FQDN, zoalsproduction-flexible-server.postgres.database.azure.com, als de aangepaste DNS-server de DNS-zonepostgres.database.azure.combevat of query's doorstuurt voor deze zone naar168.63.129.16, waar de FQDN wordt omgezet in de openbare of privé-DNS-zone van Azure. - Testverbinding : voert de connectiviteitstest tussen de bron en het doel uit. Zodra de verbinding tot stand is gebracht, kunt u doorgaan naar het volgende tabblad. Deze test is bedoeld om connectiviteitsproblemen te identificeren die mogelijk bestaan tussen de bron- en doelservers, inclusief verificatie met behulp van de opgegeven referenties. Het tot stand brengen van een testverbinding duurt enkele seconden.
Selecteer na de geslaagde testverbinding de volgende: Databases die u wilt valideren of migreren
Databases die moeten worden gevalideerd of gemigreerd
Op het tabblad Databases voor het valideren of migreren kunt u een lijst met gebruikersdatabases kiezen die u wilt migreren vanaf uw PostgreSQL-bronserver.
Nadat u de databases hebt geselecteerd, selecteert u Volgende: Samenvatting.
Samenvatting
Het tabblad Samenvatting bevat een overzicht van alle bron- en doeldetails voor het maken van de validatie of migratie. Controleer de details en selecteer Validatie en migratie starten.
De validatie of migratie annuleren
U kunt lopende validaties of migraties annuleren. De werkstroom moet in de status In uitvoering zijn om geannuleerd te worden. U kunt een validatie of migratie niet annuleren in de status Geslaagd of Mislukt .
Als u een validatie annuleert, worden verdere validatieactiviteiten gestopt en wordt de validatie verplaatst naar de status Geannuleerd .
Als u een migratie annuleert, wordt verdere migratieactiviteit op uw doelserver gestopt en krijgt het de status Geannuleerd. Wijzigingen op de doelserver worden niet verwijderd of teruggedraaid. Zorg ervoor dat u de databases op uw doelserver neer zet die betrokken zijn bij een geannuleerde migratie.
De migratie bewaken
Nadat u de knop Validatie en migratie starten hebt geselecteerd, wordt er binnen een paar seconden een melding weergegeven om te zeggen dat de validatie of het maken van de migratie is geslaagd. U wordt automatisch omgeleid naar de migratiepagina van de flexibele server. De vermelding toont Status als Wordt uitgevoerd. Het duurt 2 tot 3 minuten om de migratie-infrastructuur in te stellen en netwerkverbindingen te controleren.
Het raster met de migraties bevat de volgende kolommen: Naam, Status, Migratiemodus, Migratietype, Bronserver, Bronservertype, Databases, Duur en Begintijd. De items worden gesorteerd op begintijd in aflopende volgorde, met de meest recente vermelding bovenaan. U kunt de knop Vernieuwen op de werkbalk gebruiken om de status van de validatie of migratieuitvoering te vernieuwen.
Migratiedetails
Selecteer de migratienaam in het raster om de bijbehorende details weer te geven.
Houd er rekening mee dat u in de vorige stappen, toen u deze migratie maakte, de migratieoptie hebt geconfigureerd als Valideren en migreren. In dit scenario worden eerst validaties uitgevoerd voordat de migratie wordt gestart. Nadat de substatus vereiste stappen uitvoeren is voltooid, wordt de werkstroom verplaatst naar de substatus van validatie die wordt uitgevoerd.
Als de validatie fouten bevat, wordt de migratie verplaatst naar de status Mislukt .
Als de validatie zonder fouten is voltooid, wordt de migratie gestart en wordt de werkstroom verplaatst naar de substatus van Gegevens migreren.
Validatiedetails zijn beschikbaar op exemplaar- en databaseniveau.
-
Validatiedetails voor bijvoorbeeld
- Bevat validatie met betrekking tot de connectiviteitscontrole, de bronversie, dat wil gezegd PostgreSQL-versie >= 9.5 en serverparametercontrole, of de extensies zijn ingeschakeld in de serverparameters van de flexibele Server van Azure Database for PostgreSQL.
-
Validatie- en migratiedetails voor databases
- Het bevat validatie van de afzonderlijke databases die betrekking hebben op extensies en sorteringsondersteuning in flexibele Azure Database for PostgreSQL-server.
U kunt de validatiestatus en de migratiestatus zien op de pagina met migratiedetails.
Enkele mogelijke migratiestatussen:
Migratiestatus
| Toestand | Description |
|---|---|
| In uitvoering | De installatie van de migratie-infrastructuur wordt uitgevoerd of de werkelijke gegevensmigratie wordt uitgevoerd. |
| Geannuleerd | De migratie wordt geannuleerd of verwijderd. |
| Mislukt | De migratie is mislukt. |
| Validatie is mislukt | De validatie is mislukt. |
| Geslaagd | De migratie is geslaagd en voltooid. |
| Wachten op actie van gebruiker | Wachten op actie van de gebruiker om de overschakeling uit te voeren. |
Migratiedetails
| Deelstatus | Description |
|---|---|
| Vereiste stappen uitvoeren | De infrastructuur wordt momenteel opgezet voor gegevensmigratie. |
| Validatie wordt uitgevoerd | Validatie wordt uitgevoerd. |
| Database op de doellocatie verwijderen | De reeds bestaande database op de doelserver laten vallen. |
| Gegevens migreren | Gegevensmigratie wordt uitgevoerd. |
| Migratie voltooien | Migratie bevindt zich in de laatste fasen van voltooiing. |
| Volbracht | De migratie is voltooid. |
| Mislukt | De migratie is mislukt. |
Validatiesubstatussen
| Deelstatus | Description |
|---|---|
| Mislukt | Validatie is mislukt. |
| Geslaagd | Validatie is geslaagd. |
| Warning | Validatie heeft een waarschuwing. |
De overgang starten
U kunt de cutover initiëren met behulp van Azure Portal of Azure CLI.
Voor de optie Valideren en migreren moet de gebruiker een extra stap voltooien om de cutover-actie te activeren. Nadat het kopiëren of klonen van de basisgegevens is voltooid, wordt de migratie verplaatst naar de Waiting for user action status en de Waiting for cutover trigger substatus. In deze status kan de gebruiker de cutover activeren vanuit de portal door de migratie te selecteren.
Voordat u cutover start, is het belangrijk om ervoor te zorgen dat:
- Schrijfbewerkingen naar de bron worden gestopt.
latencyDe waarde is 0 of dicht bij 0. Delatencyinformatie kan worden verkregen via het scherm met migratiedetails, zoals hieronder wordt weergegeven: -
latencyde waarde afneemt tot 0 of dicht bij 0 - De
latencywaarde geeft aan wanneer het doel voor het laatst is gesynchroniseerd met de bron. Schrijven naar de bron kan op dit moment worden gestopt en er kan een cutover worden gestart. Als er veel verkeer bij de bron is, is het raadzaam om eerst schrijfbewerkingen te stoppen, zodatlatencydeze dicht bij 0 kunnen komen en er vervolgens een cutover wordt gestart.
De cutover-bewerking past alle wijzigingen in behandeling van de bronserver toe op de doelserver en voltooit de migratie. Als u een cutover activeert, zelfs met een niet-nulwaarde latency, stopt de replicatie tot op dat moment. Alle gegevens van de bron tot het cutover-punt worden overgebracht naar het doel. Als u een latentie van 15 minuten ondervindt op het cutover-punt, worden alle wijzigingen in de gegevens in de afgelopen 15 minuten toegepast op het doel.
De tijd is afhankelijk van de achterstand van wijzigingen in de afgelopen 15 minuten. Daarom wordt aanbevolen dat de latentie naar nul of bijna nul gaat voordat de cutover wordt geactiveerd.
- De migratie gaat naar de
Succeeded-status wanneer deMigrating data-substatus is voltooid of nadat de cutover als onderdeel van de onlinemigratie succesvol is afgerond. Als er een probleem is met deMigrating datasubstatus, wordt de migratie verplaatst naar eenFailedstatus.
De migratie controleren wanneer deze is voltooid
Nadat u de databases hebt voltooid, moet u de gegevens tussen de bron en het doel handmatig valideren en controleren of alle objecten in de doeldatabase zijn gemaakt.
Na de migratie kunt u de volgende taken uitvoeren:
Controleer de gegevens op uw flexibele server en zorg ervoor dat dit een exacte kopie is van het bronexemplaar.
Schakel na verificatie de optie voor hoge beschikbaarheid in op uw flexibele server indien nodig.
Wijzig de SKU van de flexibele server zodat deze overeenkomt met de toepassingsbehoeften. Voor deze wijziging moet de databaseserver opnieuw worden opgestart.
Als u serverparameters wijzigt van de standaardwaarden in het bronexemplaar, kopieert u die serverparameterwaarden in de flexibele server.
Kopieer andere serverinstellingen, zoals tags, waarschuwingen en firewallregels (indien van toepassing), van het bronexemplaar naar de flexibele server.
Breng wijzigingen aan in uw toepassing om de verbindingsreeksen naar een flexibele server te laten verwijzen.
Bewaak de prestaties van de database nauwkeurig om te zien of er prestatieafstemming nodig is.