VM-Deployment skalieren

Um wechselnden Datenbanktraffic zu bewältigen oder mehr Partitionen zu speichern, können Sie die Anzahl der Serverknoten in Ihrer VM-Umgebung anpassen. Mit diesen Verfahren können Sie VM-Bereitstellungen verwalten.

Hinweis

So skalieren Sie die VM-Bereitstellung:

Als Best Practice empfehlen wir, die vertikale Skalierung auf bis zu 32 GB Arbeitsspeicher pro Server zu nutzen, bevor Sie weitere Server für die horizontale Skalierung hinzufügen.

Root-Server hinzufügen

So fügen Sie einer VM-Bereitstellung einen neuen Root-Server hinzu:

  1. Starten Sie einen neuen Server auf einer neuen VM in einer vorhandenen Zone. Initialisieren Sie den Server mit dem Befehl spanner start. Im folgenden Beispiel wird ein Stammserver gestartet:

    spanner start \
      --root \
      --server-address=HOSTNAME \
      --zone=ZONE \
      --base-dir=BASE_DIR
    

    Ersetzen Sie Folgendes:

    • HOSTNAME: Der auflösbare voll qualifizierte Domainname (FQDN) oder Hostname der neuen VM, z. B. new-root-server.example.com.
    • ZONE: Die Zielzone, z. B. us-central1-a.
    • BASE_DIR: Der Verzeichnispfad, in dem Daten gespeichert werden, z. B. /spanner.
  2. Fügen Sie den Server der vorhandenen Bereitstellung hinzu. Registrieren Sie den neuen Stammserver bei der primären Bereitstellung. Achten Sie darauf, dass die Hostname- und Portargumente mit den Parametern übereinstimmen, die im Befehl spanner start verwendet werden, und geben Sie die Zone an, die dem Stammserver zugewiesen werden soll.

    spanner deployment servers create SERVER_ENDPOINT \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    

    Ersetzen Sie Folgendes:

    • SERVER_ENDPOINT: Die Adresse des neuen Stammservers, z. B. new-root-server.example.com:15000.
    • ZONE: Die Zielzone, z. B. us-central1-a.
    • ENDPOINT: Der Endpunkt Ihrer primären Bereitstellung, z. B. my-spanner-deployment:15000.

    Mit dem Befehl spanner deployment servers create wird ein Vorgang mit langer Ausführungszeit gestartet, um den Server der Bereitstellung hinzuzufügen. Die Ausführung von Vorgängen mit langer Ausführungszeit kann sehr lange dauern. Weitere Informationen finden Sie in der Spanner-Dokumentation unter Vorgänge mit langer Ausführungszeit verwalten und beobachten.

  3. Prüfen Sie, ob der Server der Bereitstellung beigetreten ist. Listen Sie die Server auf, um zu prüfen, ob der Server registriert wurde und den Status Ready hat:

    spanner deployment servers list \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    

Nicht-Root-Server hinzufügen

Wenn Sie einen Nicht-Root-Server hinzufügen möchten, starten Sie den spanner-Prozess auf einer VM und konfigurieren Sie ihn so, dass er eine Verbindung zu einem oder mehreren Root-Servern im Cluster herstellt, um der Bereitstellung beizutreten.

In diesem Beispiel wird ein Server ohne Root-Zugriff gestartet und dem Deployment hinzugefügt:

spanner start \
  --server-address=HOSTNAME \
  --join-servers=JOIN_SERVERS \
  --zone=ZONE \
  --base-dir=BASE_DIR

Ersetzen Sie Folgendes:

  • HOSTNAME: Der Hostname der neuen VM, z. B. new-non-root-server.example.com.
  • JOIN_SERVERS: Eine durch Kommas getrennte Liste vorhandener Root-Server-Endpunkte, z. B. root-server1.example.com:15000.
  • ZONE: Der Zonenname, z. B. us-central1-a.
  • BASE_DIR: Der Verzeichnispfad, in dem Daten gespeichert werden, z. B. /spanner.

Server entfernen

Die Schritte zum Entfernen eines Root-Servers oder eines Nicht-Root-Servers sind dieselben. Wenn Sie einen Root-Server entfernen, achten Sie darauf, dass die Gesamtzahl der Root-Server in der Bereitstellung ungerade ist (zwischen 1 und 9).

So stellen Sie einen VM-Server außer Betrieb:

  1. Löschen Sie den Server aus dem Deployment:

    spanner deployment servers delete SERVER_ENDPOINT \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    

    Ersetzen Sie Folgendes:

    • SERVER_ENDPOINT: Die Adresse des Servers, der entfernt werden soll, z. B. server-to-remove:15000.
    • ZONE: Die Zone, die den Server enthält, z. B. us-central1-a.
    • ENDPOINT: Der Endpunkt Ihrer primären Bereitstellung, z. B. my-spanner-deployment:15000.
  2. Warten Sie, bis die Datenübertragung abgeschlossen ist. Die Verlagerung von Partitionen dauert je nach Größe des auf dem Server gehosteten Datenspeichers. Behalten Sie den Serverstatus im Blick, bis der Server nicht mehr in der Ausgabe aufgeführt ist:

    spanner deployment servers list \
      --zone=ZONE \
      --deployment-endpoint=ENDPOINT
    
  3. Fahren Sie den Serverprozess herunter. Melden Sie sich bei der VM an und beenden Sie den spanner-Prozess.

    Um Datenbeschädigungen zu vermeiden oder zu verhindern, dass auf getrennten Servern widersprüchliche Updates aufgezeichnet werden, starten Sie den spanner-Prozess auf dieser VM nicht mit demselben base_dir neu, ohne zuerst alte Datenordner zu löschen.

Nächste Schritte