Delen via


Zelfstudie: Online migreren van een Virtuele Azure-machine of een on-premises PostgreSQL-server naar Azure Database for PostgreSQL met de preview-versie van de migratieservice

VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server

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 met behulp van Azure Portal en Azure CLI.

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.

  • Uw Flexibele Azure Database for PostgreSQL-server configureren
  • De migratietaak configureren
  • De migratie bewaken
  • De migratie controleren wanneer deze is voltooid

Vereisten

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

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

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 exemplaar van Azure Database for PostgreSQL - Flexible Server maken
  • Wanneer u migreert tussen PostgreSQL-versies (primaire of secundaire versie), moet u de compatibiliteit tussen uw database en toepassing controleren door de releaseopmerkingen te bekijken voor mogelijke belangrijke wijzigingen.

CDC inschakelen als bron

  • test_decoding De invoegtoepassing voor logische decodering legt de gewijzigde records van de bron vast.
  • Stel in het PostgreSQL-bronexemplaren de volgende parameters en waarden in het configuratiebestand postgresql.conf in:
    • Set wal_level = logical
    • Set max_replication_slots voor een waarde groter dan 1 moet de waarde groter zijn dan het aantal databases dat is geselecteerd voor migratie.
    • Set max_wal_senders op een waarde die groter is dan 1, moet worden ingesteld op ten minste dezelfde als max_replication_slots, plus het aantal afzenders dat al door uw exemplaar wordt gebruikt.
    • De wal_sender_timeout parameter beëindigt replicatieverbindingen die langer inactief zijn dan het opgegeven aantal milliseconden. De standaardwaarde voor een on-premises PostgreSQL-database is 60000 milliseconden (60 seconden). Als u de waarde instelt op 0 (nul), wordt het time-outmechanisme uitgeschakeld en is dit een geldige instelling voor migratie.

Als u wilt voorkomen dat er onvoldoende ruimte beschikbaar is voor de onlinemigratie, moet u ervoor zorgen dat u voldoende tablespaceruimte hebt met behulp van een ingerichte beheerde schijf. Om dit te bereiken, schakelt u de serverparameter azure.enable_temp_tablespaces_on_local_ssd op de flexibele server uit 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.

  • Aanvullende aandachtspunten voor netwerken:

pg_hba.conf-configuratie: om connectiviteit tussen de postgreSQL-exemplaren van de bron en het doel te vergemakkelijken, is het essentieel om het bestand pg_hba.conf te verifiëren en te wijzigen. Dit bestand bevat clientverificatie en moet zo worden geconfigureerd dat de doelpostgreSQL verbinding kan maken met de bron. Voor wijzigingen in het bestand pg_hba.conf moet doorgaans opnieuw worden opgestart van het PostgreSQL-bronexemplaren.

Het bestand pg_hba.conf bevindt zich in de gegevensmap van de PostgreSQL-installatie. Dit bestand moet worden gecontroleerd en geconfigureerd als de brondatabase een on-premises PostgreSQL-server of een PostgreSQL-server is die wordt gehost op een Azure-VM.

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 doelexemplaren van Azure Database for PostgreSQL - Flexible Server ondersteunde extensies in die zijn geïdentificeerd in het PostgreSQL-bronexemplaren.

Zie Extensies in Azure Database for PostgreSQL voor meer informatie.

Notitie

Opnieuw opstarten is vereist wanneer u wijzigingen aanbrengt in de shared_preload_libraries parameter.

Serverparameters controleren

  • U moet de serverparameterwaarden handmatig configureren in de Azure Database for PostgreSQL – Flexibele server op basis van de serverparameterwaarden die in de bron zijn geconfigureerd.

Gebruikers en rollen controleren

  • De gebruikers en verschillende rollen moeten handmatig worden gemigreerd naar de Azure Database for PostgreSQL - Flexibele server. Voor het migreren van gebruikers en rollen kunt u dit gebruiken pg_dumpall --globals-only -U <<username> -f <<filename>>.sql.
  • Azure Database for PostgreSQL: de flexibele server biedt geen ondersteuning voor superuser; gebruikers met rollen van superuser moeten worden verwijderd voordat de migratie wordt uitgevoerd.

De migratie uitvoeren

U kunt migreren met behulp van Azure Portal of de Azure CLI.

In dit artikel wordt u begeleid bij het gebruik van Azure Portal om uw PostgreSQL-database te migreren van een Azure-VM of een on-premises 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. Ga als volgt te werk:

  1. Open uw webbrowser en ga naar de portal. Voer uw referenties in om u aan te melden. De standaardweergave is uw service-dashboard.

  2. Ga naar uw Azure Database for PostgreSQL Flexible Server-doel.

  3. Schuif op het tabblad Overzicht van flexibele server in het linkermenu omlaag naar Migratie en selecteer deze.

    Schermopname van de migratieselectiepagina in Azure Portal.

  4. Selecteer de knop Maken om te migreren van een virtuele Azure-machine (VM) of een on-premises PostgreSQL-server naar de flexibele server. Als dit de eerste keer is dat u de migratieservice gebruikt, wordt er een leeg raster weergegeven met een prompt om uw eerste migratie te starten.

    Schermopname van Migratie maken.

    Als u al migraties naar uw flexibele serverdoel hebt gemaakt, bevat het raster informatie over geprobeerde migraties.

  5. Selecteer de knop Maken. Vervolgens doorloopt u een reeks tabbladen op basis van wizards om een migratie naar dit flexibele serverdoel te maken vanaf de PostgreSQL-bronserver.

Instellingen

Het eerste tabblad is het instellingstabblad, waarbij de gebruiker de migraties start door migratiedetails op te geven, zoals de migratienaam en het brontype.

Schermopname van de migratie van setup.

  • 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-VM of on-premises selecteren.

  • Met migratieoptie 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.
    • Migreren : slaat validaties over en start migraties.
    • Valideren en migreren: voert validatie uit voordat een migratie wordt geactiveerd. De migratie wordt alleen geactiveerd als er geen validatiefouten zijn.

Het kiezen van de optie Valideren of Valideren en migreren is altijd een goede gewoonte bij het uitvoeren van premigratievalidaties voordat u de migratie uitvoert. Raadpleeg deze documentatie voor meer informatie over de premigratievalidatie.

Met de migratiemodus kunt u de modus voor de migratie kiezen. Offline is de standaardoptie.

Selecteer de knop Volgende: Verbinding maken met bron .

Runtime-server

De Migration Runtime-server is een gespecialiseerde functie binnen de migratieservice in Azure Database for PostgreSQL, ontworpen om tijdens de migratie te fungeren als een tussenliggende server. Het is een afzonderlijk exemplaar van Azure Database for PostgreSQL - Flexible 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.

Schermopname van de migratieruntimeserverpagina.

Ga naar de Migration Runtime-server voor meer informatie over de Runtime-server.

Verbinding maken met bron

Op het tabblad Verbinding maken met bron wordt u gevraagd om details te geven met betrekking tot de bron die is geselecteerd op het tabblad Setup dat de bron van de databases is.

Schermopname van Connectsourcemigration.

  • Servernaam : geef de hostnaam of het IP-adres van het postgreSQL-bronexemplaren op
  • Poort - Poortnummer van de bronserver
  • Aanmeldingsnaam van de serverbeheerder - Gebruikersnaam van de postgreSQL-bronserver
  • Wachtwoord - Wachtwoord van de PostgreSQL-bronserver
  • SSL-modus : ondersteunde waarden hebben de voorkeur en zijn vereist. Wanneer de SSL op de PostgreSQL-bronserver IS UITGESCHAKELD, gebruikt u de SSLMODE=voorkeur. Als de SSL op de bronserver ON is, gebruikt u SSLMODE=require. SSL-waarden kunnen worden bepaald in het bestand postgresql.conf.
  • Verbinding testen: voert de connectiviteitstest tussen het doel en de bron uit. Zodra de verbinding is geslaagd, kunnen gebruikers doorgaan met de volgende stap. Anders moet u de netwerkproblemen tussen het doel en de bron identificeren en de gebruikersnaam/het wachtwoord voor de bron controleren. Testverbinding duurt enkele minuten om een verbinding tot stand te brengen tussen het doel en de bron

Selecteer na de geslaagde testverbinding de volgende: Migratiedoel selecteren

Migratiedoel selecteren

Op het tabblad Migratiedoel worden metagegevens weergegeven voor het flexibele serverdoel, zoals de abonnementsnaam, resourcegroep, servernaam, locatie en PostgreSQL-versie.

Schermopname van Connecttargetmigration.

  • Gebruikersnaam van beheerder - Gebruikersnaam van beheerder van de PostgreSQL-doelserver
  • Wachtwoord - Wachtwoord van de PostgreSQL-doelserver
  • Aangepaste FQDN/IP (optioneel): het aangepaste FQDN-/IP-veld 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 zijn zoalsflexibleserver.example.com, of een PostgreSQL-FQDN, zoals flexibleserver.postgres.database.azure.com, als de aangepaste DNS-server de DNS-zone postgres.database.azure.com bevat of query's doorstuurt naar 168.63.129.16, waar de FQDN wordt omgezet in de openbare of privé-DNS-zone van 198.1.0.2Azure.
  • Verbinding testen: voert de connectiviteitstest tussen het doel en de bron uit. Zodra de verbinding is geslaagd, kunnen gebruikers doorgaan met de volgende stap. Anders moeten we de netwerkproblemen tussen het doel en de bron identificeren en de gebruikersnaam/het wachtwoord voor het doel verifiëren. Het duurt enkele minuten voordat de testverbinding tussen het doel en de bron tot stand is gebracht.

Selecteer na de geslaagde testverbinding de volgende: Database(s) selecteren voor migratie

Databases selecteren voor migratie

Op dit tabblad bevindt zich een lijst met gebruikersdatabases in de bronserver die is geselecteerd op het tabblad Setup. U kunt maximaal acht databases selecteren en migreren in één migratiepoging. Als er meer dan acht gebruikersdatabases zijn, wordt het migratieproces herhaald tussen de bron- en doelservers voor de volgende set databases.

Schermopname van FetchDBmigration.

Nadat u de databases hebt geselecteerd, selecteert u de 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 de startknop.

Schermopname van samenvattingsmigratie.

De migratie bewaken

Nadat u de startknop hebt geselecteerd, wordt er binnen een paar seconden een melding weergegeven waarin staat dat de validatie of het maken van de migratie is geslaagd. U wordt automatisch omgeleid naar de blade Migratie van Flexibele server, met een nieuwe vermelding voor de onlangs gemaakte validatie of migratie.

Schermopname van het bewaken van de migratie in Azure Portal.

Het raster met de migraties bevat de volgende kolommen: Naam, Status, Migratiemodus, Migratietype, Bronserver, Bronservertype, Databases, **Duur en Begintijd. De vermeldingen worden weergegeven in aflopende volgorde van de begintijd, met de meest recente vermelding bovenaan. U kunt de knop Vernieuwen gebruiken om de status van de validatie of migratie te vernieuwen. Selecteer de migratienaam in het raster om de bijbehorende details weer te geven.

Wanneer de validatie of migratie is gemaakt, wordt deze verplaatst naar de status InProgress en de substatus PerformingPreRequisiteSteps . Het duurt 2 tot 3 minuten voordat de werkstroom de migratie-infrastructuur en netwerkverbindingen heeft ingesteld.

Migratiedetails

Op het tabblad Setup hebben we de migratieoptie geselecteerd als Migreren en Valideren. In dit scenario worden validaties eerst uitgevoerd voordat de migratie wordt gestart. Nadat de substatus PerformingPreRequisiteSteps 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.

De validatieresultaten worden weergegeven op het tabblad Validatie en de migratie wordt bewaakt op het tabblad Migratie .

Schermopname van detailsmigratie.

Enkele mogelijke migratiestatussen:

Migratiestatussen

Toestand Beschrijving
Wordt uitgevoerd 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 voltooid en is voltooid.
WaitingForUserAction Alleen van toepassing op onlinemigratie. Wacht totdat de actie van de gebruiker cutover uitvoert.

Migratiesubstates

Substate Beschrijving
PerformingPreRequisiteSteps De installatie van de infrastructuur wordt uitgevoerd voor gegevensmigratie.
Validatie wordt uitgevoerd Validatie wordt uitgevoerd.
Gegevens migreren Gegevensmigratie wordt uitgevoerd.
Voltooien van Migratie Migratie bevindt zich in de laatste fasen van voltooiing.
Voltooid De migratie is voltooid.
Mislukt Migratie is mislukt.

Validatiesubstates

Substate Beschrijving
Mislukt Validatie is mislukt.
Geslaagd Validatie is geslaagd.
Waarschuwing Validatie is in waarschuwing.

Cutover

Als de onlinemigratie zowel migreren als valideren en migreren bevat, moet de gebruiker een cutover-actie uitvoeren. Nadat het kopiëren/klonen van de basisgegevens is voltooid, wordt de migratie verplaatst naar de WaitingForUserAction status en het WaitingForCutoverTrigger substraat. 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. Latency De waarde is 0 of dicht bij 0. De Latency informatie kan worden verkregen via het scherm met migratiedetails, zoals hieronder wordt weergegeven:
  • latency de waarde afneemt tot 0 of dicht bij 0
  • De latency waarde 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, zodat Latency deze dicht bij 0 kunnen komen en er vervolgens een cutover wordt gestart.

De cutover-bewerking past alle wijzigingen in behandeling van de bron toe op het doel en voltooit de migratie. Als u een cutover activeert, zelfs met niet-nul Latency, , stopt de replicatie tot dat tijdstip. Alle gegevens op de bron totdat het cutover-punt wordt toegepast op het doel. Als u een latentie van 15 minuten ondervindt op het cutover-punt, worden alle gewijzigde 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 wordt verplaatst naar de Succeeded status wanneer de Migrating Data substatus of de cutover (in onlinemigratie) is voltooid. Als er een probleem is met de Migrating Data substatus, wordt de migratie verplaatst naar een Failed status.

De migratie annuleren

U kunt lopende validaties of migraties annuleren. De werkstroom moet de status InProgress hebben om te worden geannuleerd. U kunt een validatie of migratie niet annuleren met de status Geslaagd of Mislukt .

Als u een validatie annuleert, wordt verdere validatieactiviteit gestopt en wordt de validatie verplaatst naar de status Geannuleerd.

Als u een migratie annuleert, wordt verdere migratieactiviteit op uw doelserver gestopt en wordt 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 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 verbindingsreeks s te laten verwijzen naar een flexibele server.
  • Bewaak de prestaties van de database nauwkeurig om te zien of er prestatieafstemming nodig is.