Erweiterte Migration verwalten

Die erweiterte Migration ist eine Lösung zum Migrieren von Daten für große Datenbanken mit weniger Ausfallzeiten. Diese Funktion ist nur für AlloyDB Omni und PostgreSQL verfügbar.

Ein Nutzer mit der Rolle „Project DB Admin“ muss die folgenden Schritte ausführen. Verwenden Sie entweder die GDC Console oder die Distributed Cloud CLI, um Migrationen zu verwalten:

Console

  1. Wählen Sie im Hauptmenü Database Service aus.
  2. Klicken Sie auf Migration erstellen.
  3. Prüfen Sie im Dialogfeld Erste Schritte die Anforderungen für die Quelle und die Verbindung.
  4. Geben Sie im Dialogfeld Quelldatenbank angeben den Hostnamen oder die IP-Adresse der Quelldatenbank, den Nutzernamen, das Passwort, den Verschlüsselungstyp und das Zertifikat an.
  5. Geben Sie im Dialogfeld Cluster konfigurieren die Cluster-ID, das Passwort, die Datenbankversion, die CPU, den Arbeitsspeicher und die Speicherkapazität des Zieldatenbankclusters an. Achten Sie darauf, dass Sie genügend Arbeitsspeicher für Ihre größte Tabelle auswählen.
  6. Klicken Sie auf Erstellen. Die Erstellung des Migrations- und Zieldatenbankclusters kann einige Minuten dauern. Der Status ändert sich von Reconciling in Ready, wenn der Cluster bereit ist. Der Migrationsstatus ändert sich zu Unsynced, wenn die Migration erfolgreich eingerichtet wurde. Verwenden Sie die folgenden Optionen, um die Migration zu verwalten:
    1. Starten: Dadurch wird die Migration gestartet und der Migrationsstatus ändert sich zu Running.
    2. Stoppen: Dadurch wird die Migration beendet und der Migrationsstatus ändert sich in Stopped.
    3. Hochstufen: Dadurch wird der Zieldatenbankcluster zu einer eigenständigen Datenbank hochgestuft.
    4. Löschen: Dadurch werden die Migration und der für diese Migration erstellte Zieldatenbankcluster gelöscht.

Rotieren Sie das Passwort des Replikationsnutzers der Quelldatenbank regelmäßig mit den folgenden Schritten:

  1. Klicken Sie unter Quelldatenbank auf Bearbeiten Bearbeiten.
  2. Nehmen Sie die Änderungen vor, um das Passwort des Replikationsnutzers zu rotieren.
  3. Klicken Sie auf Speichern, um die Änderungen zu übernehmen.

Nachdem die Änderung angewendet wurde, verwendet das Migrations-Backend das neue Passwort.

gdcloud

  1. Bevor Sie die Distributed Cloud CLI verwenden, müssen Sie sie installieren und initialisieren. Authentifizieren Sie sich dann bei Ihrer Organisation.

  2. Migration erstellen:

    gdcloud database connection-profiles create DB_ENGINE_TYPE SOURCE_CONNECTION_PROFILE \
        --username REPLICATION_USERNAME \
        --password REPLICATION_PASSWORD \
        --ca-certificate CA_CERT_FILE_PATH
    
    gdcloud database migrations create MIGRATION_NAME \
        --source SOURCE_CONNECTION_PROFILE \
        --destination DESTINATION_DBCLUSTER
    
    gdcloud database clusters create DESTINATION_DBCLUSTER \
        --database-version DB_VERSION \
        --admin-password ADMIN_PASSWORD
    

    Ersetzen Sie die folgenden Variablen:

    • DB_ENGINE_TYPE: Der Datenbank-Engine-Typ für die Migration. Unterstützte Werte: postgresql oder alloydbomni
    • SOURCE_CONNECTION_PROFILE: der Name des neuen Verbindungsprofils.
    • REPLICATION_USERNAME: Der Name des Replikationsnutzers der Quelldatenbank.
    • REPLICATION_PASSWORD: Das Passwort für den Replikationsnutzer der Quelldatenbank.
    • CA_CERT_FILE_PATH: Der Pfad zum CA-Zertifikat der Quelldatenbank.
    • MIGRATION_NAME: Der Name der neuen Migration.
    • DESTINATION_DBCLUSTER: der Name des Zieldatenbankclusters.
    • DB_VERSION: der Versionsstring für den neuen Cluster. Beispiel: POSTGRESQL_13.
    • ADMIN_PASSWORD: Das Administratornutzerpasswort für den neuen Cluster.
  3. So starten Sie eine Migration:

    gdcloud database migrations start MIGRATION_NAME
    
  4. Migration stoppen:

    gdcloud database migrations stop MIGRATION_NAME
    
  5. So stufen Sie eine Migration hoch:

    gdcloud database migrations promote MIGRATION_NAME
    
  6. Vorhandene Verbindungsprofile auflisten:

    gdcloud database connection-profiles list DB_ENGINE_TYPE
    
  7. Vorhandene Migration auflisten:

    gdcloud database migrations list --destination DESTINATION_DBCLUSTER
    

API

Für AlloyDB- oder PostgreSQL-Quelldatenbanken:

Erstellen Sie ein Secret zum Speichern des CA-Zertifikats der Quelldatenbank:

apiVersion: v1
data:
  ca.crt:  SOURCE_DB_CA_CERT
kind: Secret
metadata:
  annotations:
    propagation.gdch.gke.io/target-namespace:  USER_PROJECT
  name: es-crt-EXTERNAL_SERVER_NAME
  namespace: USER_PROJECT
type: Opaque

Erstellen Sie ein Secret zum Speichern des Passworts des Migrationsnutzers der Quelldatenbank:

apiVersion: v1
data:
  password: SOURCE_DB_USER_PASSWORD
kind: Secret
metadata:
  annotations:
    propagation.gdch.gke.io/target-namespace: USER_PROJECT
  name: es-pw-EXTERNAL_SERVER_NAME
  namespace: USER_PROJECT
type: Opaque

So erstellen Sie einen externalserver:

apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: ExternalServer
metadata:
  name: EXTERNAL_SERVER_NAME
  namespace: USER_PROJECT
spec:
  host: SOURCE_DB_HOST
  port: 5432
  username: SOURCE_DB_USERNAME
  password:
    name: es-pw-EXTERNAL_SERVER_NAME
    namespace: USER_PROJECT
  certRef:
    name: es-crt-EXTERNAL_SERVER_NAME
    namespace: USER_PROJECT

Migration erstellen:

apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: Migration
metadata:
  name: MIGRATION_NAME
  namespace: USER_PROJECT
spec:
  source:
    reference:
      apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
      kind: ExternalServer
      name: EXTERNAL_SERVER_NAME
  target:
    reference:
      apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
      kind: DBCluster
      name: DBCLUSTER_NAME
  control: MIGRATION_CONTROL

Ersetzen Sie die folgenden Variablen:

  • EXTERNAL_SERVER_NAME: der Name des externen Servers, der die Quelldatenbank darstellt.
  • USER_PROJECT: Der Name des Nutzerprojekts, in dem der externe Server erstellt wird.
  • DBENGINE_NAME: der Name der Datenbank-Engine. Dies ist entweder alloydbomni oder postgresql.
  • SOURCE_DB_CA_CERT: Das CA-Zertifikat der Quelldatenbank.
  • SOURCE_DB_USER_PASSWORD: Das Passwort des Migrationsnutzers der Quelldatenbank.
  • SOURCE_DB_USERNAME: Der Migrationsnutzername der Quelldatenbank.
  • SOURCE_DB_HOST: die Migrationshostadresse der Quelldatenbank.
  • MIGRATION_NAME: Der Name des Migrationsvorgangs.
  • DBCLUSTER_NAME: Der Name des Datenbankclusters für das Migrationsziel.
  • MIGRATION_CONTROL: Die Steuerelemente des Migrationsvorgangs. Der Wert sollte start oder stop sein, wenn die Migration erstellt wird. Sie sollte promote sein, um den Cluster der Migrationszieldatenbank hochzustufen.