Per gestire lo spostamento del traffico del database o archiviare più partizioni, puoi modificare il numero di nodi server nell'ambiente della macchina virtuale. Utilizza queste procedure per gestire i deployment delle VM.
Prima di iniziare
Per scalare il deployment della VM:
Scarica e installa Spanner Omni CLI.
Acquisisci familiarità con i concetti descritti in Crea un deployment per Spanner Omni sulle VM perché le operazioni di scalabilità utilizzano pattern simili della CLI Spanner Omni.
Come best practice, consigliamo di scalare verticalmente fino a 32 GB di memoria per server prima di aggiungere altri server per scalare orizzontalmente.
Aggiungere server radice
Aggiungi un nuovo server radice a un deployment VM seguendo questi passaggi:
Avvia un nuovo server in una nuova VM in una zona esistente. Inizializza il server utilizzando il comando
spanner start. L'esempio seguente avvia un server root:spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIRSostituisci quanto segue:
HOSTNAME: il nome di dominio completo (FQDN) o il nome host risolvibile della nuova VM, ad esempionew-root-server.example.com.ZONE: la zona di destinazione, ad esempious-central1-aBASE_DIR: il percorso della directory in cui sono archiviati i dati, ad esempio/spanner.
Aggiungi il server al deployment esistente. Registra il nuovo server radice con il deployment principale. Assicurati che gli argomenti del nome host e della porta corrispondano ai parametri utilizzati nel comando
spanner starte specifica la zona da assegnare al server radice.spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTSostituisci quanto segue:
SERVER_ENDPOINT: l'indirizzo del nuovo server radice, ad esempionew-root-server.example.com:15000.ZONE: la zona di destinazione, ad esempious-central1-aENDPOINT: l'endpoint del deployment principale, ad esempiomy-spanner-deployment:15000.
Il comando
spanner deployment servers createavvia un'operazione a lunga esecuzione per aggiungere il server al deployment. Le operazioni a lunga esecuzione potrebbero richiedere un periodo di tempo considerevole per essere completate. Per saperne di più, consulta Gestire e osservare le operazioni a lunga esecuzione nella documentazione di Spanner.Verifica che il server sia stato aggiunto al deployment. Elenca i server per verificare che il server sia stato registrato e sia passato allo stato
Ready:spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
Aggiungere server non root
Per aggiungere un server non root, avvia il processo spanner su una VM e configuralo
per connettersi a uno o più server root nel cluster per partecipare al deployment.
Questo esempio avvia un server non root e lo aggiunge al deployment:
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
Sostituisci quanto segue:
HOSTNAME: il nome host della nuova VM, ad esempionew-non-root-server.example.com.JOIN_SERVERS: un elenco separato da virgole di endpoint del server root esistenti, ad esempioroot-server1.example.com:15000.ZONE: il nome della zona, ad esempious-central1-a.BASE_DIR: il percorso della directory in cui sono archiviati i dati, ad esempio/spanner.
Rimuovere i server
Segui gli stessi passaggi per rimuovere un server root o un server non root. Se rimuovi un server radice, assicurati di mantenere un numero dispari di server radice totali nel deployment (tra 1 e 9).
Per dismettere un server VM, segui questi passaggi:
Elimina il server dal deployment:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTSostituisci quanto segue:
SERVER_ENDPOINT: l'indirizzo del server da rimuovere, ad esempioserver-to-remove:15000.ZONE: la zona contenente il server, ad esempious-central1-a.ENDPOINT: l'endpoint del deployment principale, ad esempiomy-spanner-deployment:15000.
Attendi il completamento del trasferimento dei dati. Il trasferimento della partizione richiede tempo a seconda delle dimensioni del datastore ospitato sul server. Monitora lo stato del server finché non viene più visualizzato nell'output:
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINTArresta il processo del server. Accedi alla VM e arresta il processo
spanner.Per evitare il danneggiamento dei dati o la registrazione di aggiornamenti in conflitto da parte dei server disconnessi, non riavviare il processo
spannersu questa VM utilizzando lo stessobase_dirsenza prima eliminare le vecchie cartelle di dati.
Passaggi successivi
- Scopri come mantenere un deployment.