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 Ihre VM-Bereitstellung:

Als Best Practice empfehlen wir, vertikal auf bis zu 32 GB Arbeitsspeicher pro Server zu skalieren, bevor Sie weitere Server hinzufügen, um horizontal zu skalieren.

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 Root-Server 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 Root-Server 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 dem Deployment 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 der Bereitstellung 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

Führen Sie dieselben Schritte aus, um einen Root-Server oder einen Nicht-Root-Server zu entfernen. Wenn Sie einen Root-Server entfernen, achten Sie darauf, dass die Gesamtzahl der Root-Server in der Bereitstellung ungerade bleibt (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 unterschiedlich lange. 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 in 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