Share via


Zelfstudie: Migreren van Azure Database for PostgreSQL - Enkele server naar Azure Database for PostgreSQL - Flexible Server met behulp van de migratieservice

VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server

Met behulp van Azure Portal kunt u een exemplaar van Azure Database for PostgreSQL – Enkele server migreren naar Azure Database for PostgreSQL – Flexible Server. In deze zelfstudie voeren we een migratie uit van een voorbeelddatabase van een Azure Database for PostgreSQL enkele server naar een flexibele PostgreSQL-server met behulp van Azure Portal.

  • Uw Flexibele Azure Database for PostgreSQL-server configureren
  • De migratietaak configureren
  • De migratie bewaken
  • De migratie annuleren
  • Na de migratie

U kunt migreren met behulp van Azure Portal.

Vereisten (offline)

Voordat u met de migratieservice in Azure Database for PostgreSQL begint, moet u voldoen aan de volgende vereisten, die van toepassing zijn op offlinemigratiescenario's.

De bronversie controleren

De bronversie van PostgreSQL moet zijn >= 9.5. Als de postgreSQL-bronversie kleiner is dan 9.5, voert u vóór de migratie een upgrade uit van de PostgreSQL-bronversie naar 9.5 of hoger.

Doelinstallatie

  • Azure Database for PostgreSQL moet vóór de migratie worden ingesteld in Azure.

  • De SKU die voor Azure Database for PostgreSQL is gekozen, moet overeenkomen met de specificaties van de brondatabase om compatibiliteit en adequate prestaties te garanderen.

  • Raadpleeg de volgende koppeling voor gedetailleerde instructies voor het maken van een nieuwe Azure Database for PostgreSQL: Quickstart: Server maken.

Netwerk instellen

De juiste netwerkconfiguratie is essentieel voor een geslaagde verbinding tussen de bron en het doel tijdens de migratie. Hier volgt een handleiding voor het tot stand brengen van de netwerkverbinding voor verschillende scenario's:

Netwerkvereisten voor migratie:

  • ExpressRoute/IPsec VPN/VPN-tunneling: bij het verbinden van uw on-premises/AWS-bron met Azure moet u mogelijk een ExpressRoute-, IPsec-VPN- of VPN-tunneling instellen om beveiligde gegevensoverdracht te vergemakkelijken.

  • VNET-peering: Peering van virtuele netwerken tot stand brengen tussen de twee afzonderlijke VNets om directe netwerkconnectiviteit mogelijk te maken, een vereiste voor migratie tussen de Virtuele Azure-machine en de Azure Database for PostgreSQL.

Verbinding maken iviteitsscenario's:

De volgende tabel kan helpen bij het instellen van het netwerk tussen de bron en het doel.

Source Target Verbinding maken iviteitstips
Openbaar Openbaar Er is geen andere actie vereist als de bron is opgenomen in de firewallregels van het doel.
Privé Openbaar Deze configuratie wordt niet ondersteund; gebruik pg_dump/pg_restore voor gegevensoverdracht.
Openbaar Persoonlijk Er is geen andere actie vereist als de bron is opgenomen in de firewallregels van het doel.
Privé Privé Stel een ExpressRoute-, IPsec-VPN-, VPN-tunneling of peering van virtuele netwerken tussen de bron en het doel in.
Privé Privé-eindpunt Deze configuratie wordt niet ondersteund; neem contact op met Microsoft Ondersteuning.

Aanvullende aandachtspunten voor netwerken:

  • pg_hba.conf-configuratie: om connectiviteit tussen de bron- en doelexemplaren van PostgreSQL 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.

Notitie

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. Voor PostgreSQL-exemplaren op AWS RDS of vergelijkbare beheerde services is het bestand pg_hba.conf niet rechtstreeks toegankelijk of van toepassing. In plaats daarvan wordt de toegang beheerd via de geleverde beveiligings- en netwerktoegangsconfiguraties van de service.

Ga naar de netwerkhandleiding voor migratieservice in Azure Database for PostgreSQL - Flexible Server voor meer informatie over het instellen van netwerken.

Uitbreidingen

Extensies zijn extra functies die kunnen worden toegevoegd aan PostgreSQL om de functionaliteit ervan te verbeteren. Extensies worden ondersteund in Azure Database for PostgreSQL, maar moeten handmatig worden ingeschakeld. Volg deze stappen om extensies in te schakelen:

  • Gebruik de opdracht Selecteren in de bron om alle extensies weer te geven die worden gebruikt - select extname,extversion from pg_extension;

  • Zoek naar de serverparameter azure.extensions op de pagina Serverparameter op uw Azure Database for PostgreSQL. Schakel de extensies in de bron in PostgreSQL in.

  • Sla de parameterwijzigingen op en start de Azure Database for PostgreSQL opnieuw om zo nodig de nieuwe configuratie toe te passen.

    Schermopname van extensies.

  • Controleer of de lijst een van de volgende extensies bevat:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

Zo ja, zoekt u op de pagina met serverparameters naar de parameter shared_preload_libraries. Deze parameter geeft de set extensiebibliotheken aan die vooraf zijn geladen bij het opnieuw opstarten van de server.

Serverparameters

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.

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.

Uw Flexibele Azure Database for PostgreSQL-server configureren

  • Maak de flexibele doelserver. Raadpleeg de quickstart Een flexibele Azure Database for PostgreSQL-server maken met behulp van de portal voor begeleide stappen.

  • Allowlist-extensies waarvan de bibliotheken moeten worden geladen bij het starten van de server. Het is essentieel dat de extensie op de acceptatielijst staat voordat u een migratie start.

  • Controleer of de gegevensdistributie tussen de tabellen van een database scheef is, waarbij de meeste gegevens in één (of weinig) tabellen aanwezig zijn. Als deze scheef is, kan de migratiesnelheid langzamer zijn dan verwacht. In dit geval kan de migratiesnelheid worden verhoogd door de grote tabel parallel te migreren.

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 de flexibele server in het linkermenu omlaag naar Migratie en selecteer deze.

    Schermopname van de pagina Flexibel overzicht.

  4. Selecteer de knop Maken om een migratie van één server naar een flexibele server te starten. 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 het migratietabblad in flexibele server.

    Als u al migraties naar uw flexibele serverdoel hebt gemaakt, bevat het raster informatie over migraties die zijn geprobeerd om dit doel te bereiken vanaf de enkele server.

  5. Selecteer de knop Migreren van één server . U doorloopt een reeks tabbladen op basis van een wizard om een migratie naar dit flexibele serverdoel te maken vanaf een bronserver met één server.

U kunt het migratieproces ook starten vanaf de Azure Database for PostgreSQL Enkele server.

  1. Open uw webbrowser en ga naar de portal. Als u zich wilt aanmelden, moet u uw referenties invoeren. De standaardweergave is uw service-dashboard.

  2. Wanneer u de enkele server selecteert, kunt u een banner met betrekking tot migratie bekijken op het tabblad Overzicht. Selecteer Nu migreren om aan de slag te gaan.

    Schermopname van het starten van de migratie vanaf het tabblad Enkele server.

  3. U gaat naar een pagina met twee opties. Als u al een flexibele server hebt gemaakt en deze wilt gebruiken als doel, kiest u Bestaande selecteren en selecteert u de bijbehorende details van het abonnement, de resourcegroep en de servernaam. Zodra de selecties zijn gemaakt, selecteert u de wizard Naar migratie gaan en gaat u verder met de instructies in de sectie Setup van deze pagina.

    Schermopname van het kiezen van een bestaande optie voor flexibele servers.

  4. Als u een nieuwe flexibele server wilt maken, selecteert u Nieuwe maken en selecteert u Ga naar de wizard Maken. Met deze actie wordt u door het proces voor het maken van flexibele servers geleid en wordt de flexibele server geïmplementeerd.

    Schermopname van het kiezen van een nieuwe flexibele serveroptie.

Nadat u de flexibele server hebt geïmplementeerd, volgt u de stappen 3 tot en met 5 onder De migratietaak configureren.

Tabblad Setup

Het eerste tabblad is Setup. Als u dit hebt gemist, moet u de toegestane extensies toestaan, zoals wordt weergegeven in Het is essentieel om deze extensies toe te staan voordat u een migratie start.

Schermopname van de details die horen bij het tabblad Instellen voor offline.

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.

Het bronservertype geeft de bron aan. In dit geval is het Azure Database for PostgreSQL Enkele server

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. Migratie wordt alleen geactiveerd als er geen validatiefouten zijn.

Het is altijd een goed idee om de optie Valideren of Valideren en migreren te kiezen om premigratievalidaties uit te voeren voordat u de migratie uitvoert.

Als de preview-versie van de onlinemigratie is geselecteerd, moet logische replicatie zijn ingeschakeld op de bronserver met één server. Als deze niet is ingeschakeld, schakelt de migratieservice automatisch logische replicatie in op de bronserver met één server. Replicatie kan ook handmatig worden ingesteld op het tabblad Replicatie in het deelvenster Eén server door het ondersteuningsniveau voor Azure-replicatie in te stellen op Logisch. Bij beide benaderingen wordt de bronserver met één server opnieuw opgestart.

Selecteer de knop Volgende: Verbinding maken naar bron.

Tabblad Bron

Op het tabblad Bron wordt u gevraagd om details te geven met betrekking tot de enkele server. Dit is de bron van de databases.

Nadat u het abonnement en de resourcegroep hebt geselecteerd, wordt in de vervolgkeuzelijst voor servernamen enkele servers weergegeven onder die resourcegroep in verschillende regio's. Selecteer de bron waaruit u databases wilt migreren. U kunt databases migreren van één server naar een flexibele doelserver in dezelfde regio. Migraties tussen regio's zijn alleen ingeschakeld voor India-, China- en UAE-servers.

Nadat u de bron voor één server hebt gekozen, worden de aanmeldingsnaamvakken Location, PostgreSQL en Server admin automatisch ingevuld. De aanmeldingsnaam van de serverbeheerder is de gebruikersnaam van de beheerder die wordt gebruikt om de enkele server te maken. Voer in het vak Wachtwoord het wachtwoord in voor die gebruiker met beheerdersrechten. De migratieservice migreert individuele serverdatabases als de beheerder.

Nadat u alle velden hebt ingevuld, selecteert u de Verbinding maken naar de bronkoppeling. Hiermee wordt gecontroleerd of de ingevoerde bronservergegevens juist zijn en of de bronserver bereikbaar is.

Schermopname van de details van de brondatabaseserver.

Selecteer de knop Volgende: Selecteer de knop Migratiedoel om door te gaan.

Doeltabblad

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

Schermopname van de details van de doeldatabaseserver.

Voor de aanmeldingsnaam van de serverbeheerder geeft het tabblad de gebruikersnaam van de beheerder weer die wordt gebruikt tijdens het maken van het flexibele serverdoel. Voer het bijbehorende wachtwoord in voor de gebruiker met beheerdersrechten. Nadat u het wachtwoord hebt ingevuld, selecteert u de Verbinding maken om de doelkoppeling te koppelen. Hiermee wordt gecontroleerd of de opgegeven doelservergegevens juist zijn en de doelserver bereikbaar is.

Selecteer de knop Volgende om de databases te selecteren die u wilt migreren.

Selecteer Databases voor het migratietabblad

Op dit tabblad ziet u een lijst met gebruikersdatabases in de enkele server. 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. Standaard worden geselecteerde databases met dezelfde naam op het doel overschreven.

Schermopname van databases die moeten worden gemigreerd.

Selecteer de knop Volgende om de details te bekijken.

Samenvatting

Het tabblad Samenvatting bevat een overzicht van alle details voor het maken van de validatie of migratie. Controleer de details en selecteer op de startknop.

Schermopname van details die moeten worden gecontroleerd voor de migratie.

De migratieportal bewaken

Nadat u de startknop 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 pagina Migratie van Flexibele server. Dit heeft een nieuwe vermelding voor de onlangs gemaakte validatie of migratie.

Schermopname van onlangs gemaakte migratiedetails.

Het raster met de migraties bevat deze kolommen: Naam, Status, Migratietype, Migratiemodus, Bronserver, Bronservertype, Databases, Begintijd en Duur. 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. U kunt ook de migratienaam in het raster selecteren om de bijbehorende details te bekijken.

Wanneer de validatie of migratie is gemaakt, wordt deze verplaatst naar de status InProgress en de substatus PerformingPreRequisiteSteps . De werkstroom duurt 2-3 minuten om de migratie-infrastructuur en netwerkverbindingen in te stellen.

Laten we eens kijken hoe u migraties kunt bewaken voor elke migratieoptie.

Valideren

Nadat de substatus PerformingPreRequisiteSteps is voltooid, wordt de validatie verplaatst naar de substatus van validatie die wordt uitgevoerd op de bron- en doelserver om de gereedheid voor migratie te beoordelen.

De validatie wordt verplaatst naar de status Geslaagd als alle validaties de status Geslaagd of Waarschuwing hebben.

Schermopname van het validatieraster.

Het validatieraster heeft de

  • Validatiedetails voor bijvoorbeeld en validatiedetails voor databasessecties , die de validatieregels vertegenwoordigen die worden gebruikt om de gereedheid van de migratie te controleren.
  • Validatiestatus : vertegenwoordigt het resultaat voor elke regel en kan een van de drie waarden hebben
    • Geslaagd: als er geen fouten zijn gevonden.
    • Mislukt : als er validatiefouten zijn.
    • Waarschuwing: als er validatiewaarschuwingen zijn.
  • Duur : de tijd die nodig is voor de validatiebewerking.
  • Begin- en eindtijd : begin- en eindtijd van de validatiebewerking in UTC.

De validatiestatus wordt verplaatst naar de status Mislukt als er fouten zijn in de validatie. Selecteer de validatienaam of databasenaamvalidatie die is mislukt en een uitwaaiervenster bevat de details en de corrigerende actie die u moet ondernemen om deze fout te voorkomen.

Schermopname van het validatieraster met de status Mislukt.

Migrate

Nadat het substraat PerformingPreRequisiteSteps is voltooid, wordt de migratie verplaatst naar het substraat van De migratie van gegevens wanneer het klonen/kopiëren van de databases plaatsvindt. De tijd die nodig is om de migratie te voltooien, is afhankelijk van de grootte en vorm van de databases die u migreert. De migratie is snel als de gegevens meestal gelijkmatig zijn verdeeld over alle tabellen. Scheve tabelgrootten duren relatief langer.

Wanneer u een van de databases in de migratie selecteert, wordt er een uitwaaiervenster weergegeven. Het bevat het aantal tabellen: gekopieerd, in de wachtrij geplaatst, kopiëren en fouten, afgezien van de status van de databasemigratie.

Schermopname van het migratieraster met alle DB-details.

De migratie wordt verplaatst naar de status Geslaagd wanneer de status Gegevens migreren is voltooid. Als er een probleem is met de status Gegevens migreren, wordt de migratie verplaatst naar de status Mislukt .

Schermopname van het migratieresultaat.

Zodra de migratie is verplaatst naar de status Geslaagd , zijn schema's en gegevensmigratie van uw enkele server naar uw flexibele serverdoel voltooid. U kunt de knop Vernieuwen op de pagina gebruiken om hetzelfde te bevestigen.

Schermopname van de voltooide migraties.

Valideren en migreren

In deze optie 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.

U kunt de resultaten van Valideren en Migreren zien zodra de bewerking is voltooid.

Schermopname van het tabblad Validaties op de detailpagina.

De migratie annuleren met behulp van de portal

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

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 . Met de actie Annuleren worden alle wijzigingen die door de migratieservice op uw doelserver zijn aangebracht, teruggedraaid.

Na de migratie

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.