Para controlar el tráfico cambiante de la base de datos o almacenar más particiones, puedes ajustar la cantidad de nodos de servidor en tu entorno de máquina virtual. Sigue estos procedimientos para administrar las implementaciones de VM.
Antes de comenzar
Para escalar la implementación de tu VM, sigue estos pasos:
Descarga y, luego, instala la CLI de Spanner Omni.
Familiarízate con los conceptos que se describen en Crea una implementación de Spanner Omni en VMs, ya que las operaciones de ajuste de escala usan patrones similares de la CLI de Spanner Omni.
Como práctica recomendada, te sugerimos que realices un ajuste de escala vertical hasta 32 GB de memoria por servidor antes de agregar más servidores para realizar un ajuste de escala horizontal.
Agrega servidores raíz
Para agregar un nuevo servidor raíz a una implementación de VM, sigue estos pasos:
Inicia un servidor nuevo en una VM nueva en una zona existente. Inicializa el servidor con el comando
spanner start. En el siguiente ejemplo, se inicia un servidor raíz:spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIRReemplaza lo siguiente:
HOSTNAME: Es el nombre de dominio completamente calificado (FQDN) o el nombre de host de la VM nueva que se puede resolver, por ejemplo,new-root-server.example.com.ZONE: Es la zona de destino, por ejemplo,us-central1-a.BASE_DIR: Es la ruta de directorio en la que se almacenan los datos, por ejemplo,/spanner.
Agrega el servidor a la implementación existente. Registra el nuevo servidor raíz con la implementación principal. Asegúrate de que los argumentos de nombre de host y puerto coincidan con los parámetros que se usan en el comando
spanner starty especifica la zona que se asignará al servidor raíz.spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTReemplaza lo siguiente:
SERVER_ENDPOINT: Es la dirección del nuevo servidor raíz, por ejemplo,new-root-server.example.com:15000.ZONE: Es la zona de destino, por ejemplo,us-central1-a.ENDPOINT: Es el extremo de tu implementación principal, por ejemplo,my-spanner-deployment:15000.
El comando
spanner deployment servers createinicia una operación de larga duración para agregar el servidor a la implementación. Las operaciones de larga duración pueden tardar una cantidad considerable de tiempo en completarse. Para obtener más información, consulta Administra y observa operaciones de larga duración en la documentación de Spanner.Verifica que el servidor se haya unido a la implementación. Enumera los servidores para verificar que se haya registrado y que haya pasado al estado
Ready:spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
Cómo agregar servidores que no son raíz
Para agregar un servidor que no sea raíz, inicia el proceso spanner en una VM y configúralo para que se conecte a uno o más servidores raíz del clúster y se una a la implementación.
En este ejemplo, se inicia un servidor no raíz y se agrega a la implementación:
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
Reemplaza lo siguiente:
HOSTNAME: Es el nombre de host de la VM nueva, por ejemplo,new-non-root-server.example.com.JOIN_SERVERS: Es una lista separada por comas de los extremos del servidor raíz existentes, por ejemplo,root-server1.example.com:15000.ZONE: Es el nombre de la zona, por ejemplo,us-central1-a.BASE_DIR: Es la ruta de directorio en la que se almacenan los datos, por ejemplo,/spanner.
Cómo quitar servidores
Sigue los mismos pasos para quitar un servidor raíz o un servidor que no sea raíz. Si quitas un servidor raíz, asegúrate de mantener una cantidad impar de servidores raíz totales en la implementación (entre 1 y 9).
Para retirar un servidor de VM, sigue estos pasos:
Borra el servidor de la implementación:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTReemplaza lo siguiente:
SERVER_ENDPOINT: Es la dirección del servidor que se quitará, por ejemplo,server-to-remove:15000.ZONE: Es la zona que contiene el servidor, por ejemplo,us-central1-a.ENDPOINT: Es el extremo de tu implementación principal, por ejemplo,my-spanner-deployment:15000.
Espera a que se complete la reubicación de datos. La reubicación de la partición lleva tiempo, según el tamaño del almacén de datos alojado en el servidor. Supervisa el estado del servidor hasta que ya no aparezca en el resultado:
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINTApaga el proceso del servidor. Accede a la VM y detén el proceso de
spanner.Para evitar la corrupción de datos o que los servidores desconectados registren actualizaciones en conflicto, no reinicies el proceso
spanneren esta VM con el mismobase_dirsin antes purgar las carpetas de datos antiguos.
Próximos pasos
- Obtén más información para mantener una implementación.