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:
Laden Sie die Spanner Omni CLI herunter und installieren Sie sie.
Machen Sie sich mit den Konzepten vertraut, die unter Deployment für Spanner Omni auf VMs erstellen beschrieben werden, da für Skalierungsvorgänge ähnliche Spanner Omni-CLI-Muster verwendet werden.
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:
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_DIRErsetzen 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.
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 startverwendet werden, und geben Sie die Zone an, die dem Root-Server zugewiesen werden soll.spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTErsetzen 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 createwird 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.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
Readyhat: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:
Löschen Sie den Server aus dem Deployment:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTErsetzen 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.
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=ENDPOINTFahren 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 demselbenbase_dirneu, ohne zuerst alte Datenordner zu löschen.