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:
Laden Sie die Spanner Omni CLI herunter und installieren Sie sie.
Machen Sie sich mit den Konzepten vertraut, die unter Bereitstellung 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, 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:
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 Stammserver 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 Stammserver 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 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.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 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:
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. 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 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 demselbenbase_dirneu, ohne zuerst alte Datenordner zu löschen.