Freigeben über


Tutorial: Durchführen einer Offlinemigration von einem virtuellen Azure-Computer oder von einem lokalen PostgreSQL-Server zu Azure Database for PostgreSQL mithilfe des Migrationsdiensts

In diesem Artikel erfahren Sie, wie Sie einen virtuellen Azure-Computer (Virtual Machine, VM) oder einen lokalen PostgreSQL-Server mithilfe des Azure-Portals und der Azure CLI zu Azure Database for PostgreSQL – Flexibler Server migrieren.

Der Migrationsdienst in Azure Database for PostgreSQL ist ein vollständig verwalteter Dienst, der in das Azure-Portal und in Azure CLI integriert ist. Der Artikel vereinfacht die Migration zu Azure Database for PostgreSQL – Flexibler Server.

  • Voraussetzungen
  • Durchführen der Migration
  • Überwachen der Migration
  • Überprüfen der abgeschlossenen Migration

Voraussetzungen

Um mit der Migration beginnen zu können, müssen die folgenden Voraussetzungen erfüllt sein:

Für die Migration mit dem Migrationsdienst von Azure Database for PostgreSQL müssen die folgenden, speziell für Offlinemigrationsszenarien geltenden Voraussetzungen erfüllt sein:

Überprüfen der Quellversion

Die Version des PostgreSQL-Quellservers muss mindestens 9.5 sein.

Sollte die PostgreSQL-Quellversion niedriger als 9.5 sein, führen Sie ein Upgrade auf 9.5 oder auf eine höhere Version durch, bevor Sie mit der Migration beginnen.

Konfigurieren des Zielsetups

Vor Beginn der Migration muss eine Instanz von Azure Database for PostgreSQL in Azure eingerichtet werden.

Die für die Azure Database for PostgreSQL-Instanz gewählte SKU sollte den Spezifikationen der Quelldatenbank entsprechen, um Kompatibilität und angemessene Leistung sicherzustellen.

Stellen Sie bei der Migration zwischen PostgreSQL-Versionen (Haupt- oder Nebenversionen) die Kompatibilität zwischen Ihrer Datenbank und der Anwendung sicher, indem Sie die Versionshinweise auf mögliche wichtige Änderungen überprüfen.

Konfigurieren des Netzwerksetups

Das Netzwerksetup ist entscheidend, damit der Migrationsdienst ordnungsgemäß funktioniert. Stellen Sie sicher, dass der PostgreSQL-Quellserver mit dem Azure Database for PostgreSQL-Zielserver kommunizieren kann. Die folgenden Netzwerkkonfigurationen sind für eine erfolgreiche Migration unerlässlich.

Informationen zum Netzwerksetup finden Sie im Netzwerkhandbuch für den Migrationsdienst.

  • Zusätzliche Überlegungen zum Netzwerk:

pg_hba.conf-Konfiguration: Um die Konnektivität zwischen den PostgreSQL-Quell- und Zielinstanzen zu unterstützen, ist es wichtig, die Datei pg_hba.conf zu überprüfen und gegebenenfalls zu ändern. Diese Datei enthält die Clientauthentifizierung und muss so konfiguriert sein, dass die PostgreSQL-Zielinstanz eine Verbindung mit der Quelle herstellen kann. Änderungen an der Datei pg_hba.conf erfordern in der Regel einen Neustart der PostgreSQL-Quellinstanz, um wirksam zu werden.

Die Datei pg_hba.conf befindet sich im Datenverzeichnis der PostgreSQL-Installation. Diese Datei sollte überprüft und konfiguriert werden, wenn es sich bei der Quelldatenbank um einen lokalen PostgreSQL-Server handelt, oder einen PostgreSQL-Server, der auf einer Azure-VM gehostet wird.

Aktivieren von Erweiterungen

Um eine erfolgreiche Migration mit dem Migrationsdienst in Azure Database for PostgreSQL sicherzustellen, müssen Sie möglicherweise Erweiterungen für Ihre PostgreSQL-Quellinstanz überprüfen. Erweiterungen bieten Funktionalität und Features, die für Ihre Anwendung möglicherweise erforderlich sind. Überprüfen Sie die Erweiterungen unbedingt in der PostgreSQL-Quellinstanz, bevor Sie den Migrationsprozess initiieren.

Aktivieren Sie in der Zielinstanz von Azure Database for PostgreSQL – Flexibler Server unterstützte Erweiterungen, die in der PostgreSQL-Quellinstanz identifiziert werden.

Weitere Informationen finden Sie unter Erweiterungen in Azure Database for PostgreSQL.

Hinweis

Bei Änderungen am shared_preload_libraries-Parameter ist ein Neustart erforderlich.

Überprüfen der Serverparameter

Diese Parameter werden nicht automatisch in die Zielumgebung migriert und müssen manuell konfiguriert werden.

  • Stimmen Sie Serverparameterwerte aus der PostgreSQL-Quelldatenbank mit der Azure Database for PostgreSQL-Instanz ab, indem Sie im Azure-Portal auf den Abschnitt „Serverparameter“ zugreifen und die Werte entsprechend manuell aktualisieren.

  • Speichern Sie die Parameteränderungen, und starten Sie die Azure Database for PostgreSQL-Instanz neu, um die neue Konfiguration bei Bedarf anzuwenden.

Überprüfen der Benutzer und Rollen

Bei der Migration zu Azure Database for PostgreSQL ist es wichtig, die Migration von Benutzer*innen und Rollen separat zu behandeln, da sie manuelle Eingriffe erfordern:

  • Manuelle Migration von Benutzer*innen und Rollen: Benutzer*innen und ihre zugehörigen Rollen müssen manuell zur Azure Database for PostgreSQL-Instanz migriert werden. Um diesen Prozess zu unterstützen, können Sie das pg_dumpall-Hilfsprogramm mit der --globals-only-Kennzeichnung verwenden, um globale Objekte wie Rollen und Benutzerkonten zu exportieren. Führen Sie den folgenden Befehl aus, indem Sie <<username>> mit dem tatsächlichen Benutzernamen und <<filename>> mit dem von Ihnen gewünschten Ausgabedateinamen ersetzen:

    pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
    
  • Einschränkung für Superuserrollen: Azure Database for PostgreSQL unterstützt keine Superuserrollen. Daher müssen für Benutzer*innen mit Berechtigungen als Superuser diese Berechtigungen vor der Migration entfernt werden. Stellen Sie sicher, dass Sie die Berechtigungen und Rollen entsprechend anpassen.

Indem Sie diese Schritte ausführen, können Sie sicherstellen, dass Benutzerkonten und Rollen ordnungsgemäß zur Azure Database for PostgreSQL-Instanz migriert werden, ohne dass Probleme im Zusammenhang mit Einschränkungen für Superuser auftreten.

Deaktivieren der Hochverfügbarkeit (Zuverlässigkeit) und Lesereplikaten im Ziel

  • Das Deaktivieren der Hochverfügbarkeit (Zuverlässigkeit) und der Lesereplikate in der Zielumgebung ist unerlässlich. Diese Features sollten erst aktiviert werden, nachdem die Migration abgeschlossen wurde.

  • Wenn Sie diese Richtlinien befolgen, können Sie einen reibungslosen Migrationsprozess ohne die zusätzlichen Variablen sicherstellen, die durch Hochverfügbarkeit und Lesereplikate eingeführt wurden. Sobald die Migration abgeschlossen und die Datenbank stabil ist, können Sie diese Features aktivieren, um die Verfügbarkeit und Skalierbarkeit Ihrer Datenbankumgebung in Azure zu verbessern.

Durchführen der Migration

Für die Migration kann das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (Command Line Interface, CLI) verwendet werden.

In diesem Artikel erfahren Sie, wie Sie das Azure-Portal verwenden, um Ihre PostgreSQL-Datenbank von einem virtuellen Azure-Computer oder von einem lokalen PostgreSQL-Server zu einer Azure Database for PostgreSQL-Instanz zu migrieren. Über das Azure-Portal können verschiedene Aufgaben ausgeführt werden, einschließlich einer Datenbankmigration. Mithilfe der in diesem Tutorial beschriebenen Schritte können Sie Ihre Datenbank nahtlos in Azure übertragen und von den leistungsstarken Features und der Skalierbarkeit von Azure profitieren.

Konfigurieren der Migrationsaufgabe

Der Migrationsdienst verfügt über eine einfache, Assistenten-basierte Erfahrung im Azure-Portal.

  1. Browsen Sie zum Portal. Geben Sie Ihre Anmeldeinformationen ein. Die Standardansicht ist Ihr Dienstdashboard.

  2. Navigieren Sie zu Ihrer Instanz von Azure Database for PostgreSQL – Flexibler Server.

  3. Scrollen Sie auf der Registerkarte Übersicht des flexiblen Servers im linken Menü nach unten zu Migration, und wählen Sie diese Option aus.

    Screenshot: Migrationsauswahl im Azure-Portal

  4. Wählen Sie die Schaltfläche Erstellen aus, um von lokal oder Azure-VMs zu einem flexiblen Server zu migrieren.

    Hinweis

    Bei der ersten Verwendung des Migrationsdienstes erscheint ein leeres Raster mit einer Eingabeaufforderung, um mit Ihrer ersten Migration zu beginnen.

    Wenn Migrationen zu Ihrem flexiblen Serverziel bereits erstellt wurden, enthält das Raster jetzt Informationen zu versuchten Migrationen.

  5. Wählen Sie die Schaltfläche Erstellen aus, um eine Assistenten-basierte Reihe von Registerkarten zu durchlaufen, um eine Migration durchzuführen.

    Screenshot der Seite „Migration erstellen“.

Setup

Benutzer*innen müssen mehrere Details im Zusammenhang mit der Migration bereitstellen, z. B. den Migrationsnamen, den Quellservertyp, die Option und den Modus.

  • Beim Migrationsnamen handelt es sich um den eindeutigen Bezeichner für eine Migration zu diesem Flexible Server-Ziel. In dieses Feld dürfen nur alphanumerische Zeichen eingegeben werden, und mit Ausnahme von Bindestrichen (-) dürfen keine Sonderzeichen verwendet werden. Der Name darf nicht mit einem Bindestrich beginnen und muss für den Zielserver eindeutig sein. Zwei Migrationen zum selben Flexible Server-Ziel dürfen nicht denselben Namen aufweisen.

  • Quellservertyp: Abhängig von Ihrer PostgreSQL-Quelle können Sie „Azure Database for PostgreSQL-Einzelserver“, „Azure-VM“ oder „Lokaler Server“ auswählen.

  • Migrationsoption – Ermöglicht es Ihnen, Validierungen durchzuführen, bevor Sie eine Migration auslösen. Sie können eine der folgenden Optionen auswählen:

    • Überprüfen: Mit dieser Option werden die Server- und Datenbankbereitschaft für die Migration zum Ziel überprüft.
    • Migrieren: Überspringt Überprüfungen und startet die Migration.
    • Überprüfen und migrieren: Führt eine Überprüfung durch, bevor eine Migration ausgelöst wird. Sind keine Überprüfungsfehler vorhanden, wird die Migration ausgelöst.

Das Auswählen der Option Überprüfen oder Überprüfen und migrieren ist eine bewährte Methode, um vor der Migration Überprüfungen durchzuführen.

Weitere Informationen zur Validierung vor der Migration finden Sie unter Vormigration.

  • Im Migrationsmodus können Sie den Modus für die Migration auswählen. Offline ist die Standardoption.

Wählen Sie die Schaltfläche Weiter: Mit Quelle verbinden aus.

Screenshot: Migrationsseite „Setup“ im Azure-Portal

Runtimeserver

Der Runtimeserver für die Migration ist ein spezielles Feature im Migrationsdienst in Azure Database for PostgreSQL, das während der Migration als Zwischenserver fungiert. Es handelt sich um eine separate Instanz von Azure Database for PostgreSQL – Flexibler Server, die nicht als Zielserver fungiert, sondern verwendet wird, um die Migration von Datenbanken aus einer Quellumgebung zu erleichtern, auf die nur über ein privates Netzwerk zugegriffen werden kann.

Screenshot: Seite des Runtimeservers für die Migration im Azure-Portal

Weitere Informationen zum Runtimeserver finden Sie im Artikel zum Runtimeserver für die Migration.

Herstellen einer Verbindung mit der Quelle

Auf der Registerkarte Mit Quelle verbinden werden Sie aufgefordert, Details zu der Quelle anzugeben, die auf der Registerkarte „Setup“ ausgewählt und die Quelle der Datenbanken ist.

  • Servername – Geben Sie den Hostnamen oder die IP-Adresse der PostgreSQL-Quellinstanz an
  • Port – Portnummer des Quellservers
  • Anmeldename des Serveradministrators – Benutzername des PostgreSQL-Quellservers
  • Kennwort – Kennwort des PostgreSQL-Quellservers
  • SSL-Modus – Unterstützte Werte werden bevorzugt und sind erforderlich. Wenn SSL auf dem PostgreSQL-Quellserver DEAKTIVIERT ist, verwenden Sie SSLMODE=prefer. Wenn SSL auf dem Quellserver AKTIVIERT ist, verwenden Sie SSLMODE=require. SSL-Werte können in der Datei postgresql.conf bestimmt werden.
  • Verbindung testen: Testet die Verbindung zwischen Ziel und Quelle. Nach erfolgreicher Verbindungsherstellung können Benutzer mit dem nächsten Schritt fortfahren. Sie müssen die Netzwerkprobleme zwischen dem Ziel und der Quelle identifizieren und den Benutzernamen und das Kennwort für die Quelle überprüfen. Das Herstellen einer Testverbindung dauert einige Minuten.

Wählen Sie nach dem erfolgreichen Testen der Verbindung die Schaltfläche Weiter: Migrationsziel auswählen aus.

Screenshot: Migrationsseite „Verbindung mit Quelle herstellen“ im Azure-Portal

Auswählen des Migrationsziels

Auf der Registerkarte Migrationsziel auswählen werden Metadaten für das Ziel vom Typ „Flexibler Server“ angezeigt, z. B. Abonnementname, Ressourcengruppe, Servername, Standort und PostgreSQL-Version.

  • Administratorbenutzername – Administratorbenutzername des PostgreSQL-Zielservers
  • Kennwort – Kennwort des PostgreSQL-Zielservers
  • FQDN/IP-Adresse (benutzerdefiniert): Die Angabe in diesem Feld ist optional und kann verwendet werden, wenn sich das Ziel hinter einem benutzerdefinierten DNS-Server befindet oder über benutzerdefinierte DNS-Namespaces verfügt, sodass nur über bestimmte FQDNs oder IP-Adressen darauf zugegriffen werden kann. Hierbei kann es sich beispielsweise um Einträge wie flexibleserver.example.com, 198.1.0.2 oder um einen PostgreSQL-FQDN wie flexibleserver.postgres.database.azure.com handeln, wenn der benutzerdefinierte DNS-Server die DNS-Zone postgres.database.azure.com enthält oder Abfragen für diese Zone an 168.63.129.16 weiterleitet, wobei der FQDN in der öffentlichen oder privaten DNS-Zone von Azure aufgelöst wird.
  • Verbindung testen – Führt den Verbindungstest zwischen Ziel und Quelle durch. Sobald die Verbindung erfolgreich hergestellt ist, können Benutzer*innen mit dem nächsten Schritt fortfahren. Andernfalls müssen die Netzwerkprobleme zwischen dem Ziel und der Quelle identifiziert und der Benutzername und das Kennwort des Ziels überprüft werden. „Verbindung testen“ benötigt einige Minuten, um eine Verbindung zwischen Ziel und Quelle herzustellen

Wählen Sie nach dem erfolgreichen Test der Verbindung die Option Weiter: Datenbank(en) für die Migration auswählen aus

Screenshot: Migrationsseite zum Herstellen der Verbindung mit dem Ziel im Azure-Portal

Auswählen von Datenbanken für die Migration

Auf der Registerkarte Datenbanken für die Migration auswählen können Sie eine Liste mit Benutzerdatenbanken auswählen, die von Ihrem PostgreSQL-Quellserver migriert werden sollen.

Nachdem Sie die Datenbanken ausgewählt haben, wählen Sie Weiter: Zusammenfassung aus.

Screenshot: fetchDB-Migrationsseite im Azure-Portal

Zusammenfassung

Auf der Registerkarte Zusammenfassung werden alle Quell- und Zieldetails zum Erstellen der Validierung oder Migration zusammengefasst. Überprüfen Sie die Details, und wählen Sie die Schaltfläche Validierung und Migration starten aus.

Screenshot: Seite mit der Zusammenfassung der Migration im Azure-Portal

Überwachen der Migration

Nachdem Sie die Schaltfläche Validierung und Migration starten ausgewählt haben, wird nach einigen Sekunden eine Benachrichtigung angezeigt, die Sie informiert, dass die Validierungs- oder Migrationserstellung erfolgreich war. Sie werden automatisch auf die Migrationsseite des flexiblen Servers umgeleitet. Der Eintrag befindet sich im Status InProgress und dem Substatus PerformingPreRequisiteSteps. Der Workflow benötigt 2 bis 3 Minuten, um die Migrationsinfrastruktur einzurichten und die Netzwerkverbindungen zu überprüfen.

Screenshot der Seite „Migration überwachen“.

Das Raster, in dem die Migrationen angezeigt werden, enthält folgende Spalten: Name, Status, Migrationsmodus, Migrationstyp, Quellserver, Quellservertyp, Datenbanken, **„Dauer“ und Startzeit. Die Einträge werden in absteigender Reihenfolge nach Startzeit angezeigt, mit dem aktuellsten Eintrag zuoberst. Sie können die Schaltfläche „Aktualisieren“ verwenden, um den Status der Validierungs- oder Migrationsausführung zu aktualisieren.

Details zur Migration

Wählen Sie den Migrationsnamen im Raster aus, um die zugehörigen Details anzuzeigen.

Auf der Registerkarte Setup haben wir die Migrationsoption als Überprüfen und Migrieren ausgewählt. In diesem Szenario werden Validierungen als erstes ausgeführt, bevor die Migration startet. Nach Abschluss des Substatus PerformingPreRequisiteSteps wechselt der Workflow in den Substatus Validierung in Arbeit.

  • Wenn bei der Überprüfung Fehler auftreten, wechselt die Migration in den Zustand Fehler.

  • Wenn die Überprüfung ohne Fehler abgeschlossen wurde, beginnt die Migration, und der Zustand des Workflows ändert sich in den Unterzustand Daten werden migriert.

Validierungsdetails sind auf Instanz- und Datenbankebene verfügbar.

  • Validierung auf Instanzebene
    • Enthält die Überprüfung im Zusammenhang mit der Konnektivitätsprüfung und der Quellversion (PostgreSQL-Version >= 9.5) sowie die Serverparameterüberprüfung (um zu ermitteln, ob die Erweiterungen in den Serverparametern der Instanz von Azure Database for PostgreSQL – Flexibler Server aktiviert sind).
  • Validierung auf Datenbankebene
    • Dies enthält eine Validierung der einzelnen Datenbanken im Zusammenhang mit Erweiterungen und Sortierungsunterstützung in Azure Database for PostgreSQL, einem flexiblen Server.

Sie können den Status der Validierung und der Migration auf der Seite mit den Migrationsdetails anzeigen.

Screenshot der Details mit Überprüfung und Migration.

Hier finden Sie einige mögliche Migrationszustände:

Migrationsstatus

State Beschreibung
InProgress Die Migrationsinfrastruktur wird gerade eingerichtet, oder die eigentliche Datenmigration wird gerade durchgeführt.
Canceled Die Migration wurde abgebrochen oder gelöscht.
Fehlgeschlagen Bei der Migration ist ein Fehler aufgetreten.
Überprüfung fehlgeschlagen Die Überprüfung war nicht erfolgreich.
Erfolgreich Die Migration wurde erfolgreich durchgeführt und ist beendet.
WaitingForUserAction Gilt nur für die Onlinemigration. Warten auf Benutzeraktion zum Ausführen des Cutover.

Migrationsunterzustände

Unterzustand Beschreibung
PerformingPreRequisiteSteps Die Infrastruktur für die Datenmigration wird gerade eingerichtet.
Überprüfung wird ausgeführt Die Überprüfung wird ausgeführt.
MigratingData Die Datenmigration wird durchgeführt.
CompletingMigration Die Migration ist fast abgeschlossen.
Abgeschlossen Die Migration wurde abgeschlossen.
Fehler Die Migration ist fehlgeschlagen.

Unterzustände der Überprüfung

Unterzustand Beschreibung
Fehler Fehler bei der Überprüfung.
Erfolgreich Die Überprüfung war erfolgreich.
Warning Die Überprüfung befindet sich im Zustand „Warnung“.

Abbrechen der Migration über das Portal

Sie können alle aktuellen Überprüfungen oder Migrationen abbrechen. Der Workflow muss sich im Zustand InProgress befinden, damit er abgebrochen werden kann. Überprüfungen oder Migrationen im Zustand Erfolgreich oder Fehler können nicht abgebrochen werden.

  • Wenn Sie eine Überprüfung abbrechen, werden weitere Überprüfungsaktivitäten beendet, und der Zustand der Überprüfung ändert sich in Abgebrochen.
  • Bei Abbruch einer Migration werden alle weiteren Migrationsaktivitäten auf dem Zielserver gestoppt, und sie wechseln in den Zustand Abgebrochen. Die Aktion „Abbrechen“ macht alle Änderungen rückgängig, die vom Migrationsdienst auf Ihrem Zielserver vorgenommen wurden.

Überprüfen der abgeschlossenen Migration

Nach Abschluss der Datenbanken müssen Sie die Daten zwischen Quelle und Ziel manuell validieren und überprüfen, ob alle Objekte in der Zieldatenbank erfolgreich erstellt wurden.

Nach der Migration können Sie die folgenden Aufgaben ausführen:

  • Überprüfen Sie die Daten auf Ihrem flexiblen Server, und stellen Sie sicher, dass es sich um eine genaue Kopie der Quellinstanz handelt.

  • Nach der Überprüfung aktivieren Sie die Option für Hochverfügbarkeit auf Ihrem flexiblen Server nach Bedarf.

  • Ändern Sie die SKU des flexiblen Servers entsprechend den Anwendungsanforderungen. Diese Änderung erfordert einen Neustart des Datenbankservers.

  • Wenn Sie Serverparameter gegenüber ihren Standardwerten in der Quellinstanz ändern, kopieren Sie diese Serverparameterwerte auf den flexiblen Server.

Kopieren Sie weitere Servereinstellungen wie Tags, Warnungen und Firewallregeln (falls zutreffend) aus der Quellinstanz auf den flexiblen Server.

  • Nehmen Sie Änderungen an Ihrer Anwendung vor, um die Verbindungszeichenfolgen auf einen flexiblen Server zu verweisen.

  • Überwachen Sie die Datenbankleistung genau, um festzustellen, ob Leistungsoptimierung erforderlich ist.