Pour gérer le trafic de base de données fluctuant ou stocker davantage de partitions, vous pouvez ajuster le nombre de nœuds de serveur dans votre environnement de machine virtuelle. Suivez ces procédures pour gérer les déploiements de VM.
Avant de commencer
Pour mettre à l'échelle votre déploiement de VM, procédez comme suit :
Téléchargez et installez la CLI Spanner Omni.
Familiarisez-vous avec les concepts décrits dans Créer un déploiement pour Spanner Omni sur des VM, car les opérations de scaling utilisent des modèles CLI Spanner Omni similaires.
Nous vous recommandons d'effectuer un scaling vertical jusqu'à 32 Go de mémoire par serveur avant d'ajouter d'autres serveurs pour effectuer un scaling horizontal.
Ajouter des serveurs racine
Pour ajouter un serveur racine à un déploiement de VM, procédez comme suit :
Démarrez un nouveau serveur dans une nouvelle VM d'une zone existante. Initialisez le serveur en utilisant la commande
spanner start. L'exemple suivant démarre un serveur racine :spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIRRemplacez les éléments suivants :
HOSTNAME: nom de domaine complet (FQDN) ou nom d'hôte résolvable de la nouvelle VM (par exemple,new-root-server.example.com).ZONE: zone cible, par exempleus-central1-a.BASE_DIR: chemin d'accès au répertoire dans lequel les données sont stockées (par exemple,/spanner).
Ajoutez le serveur au déploiement existant. Enregistrez le nouveau serveur racine auprès du déploiement principal. Assurez-vous que les arguments de nom d'hôte et de port correspondent aux paramètres utilisés dans la commande
spanner start, et spécifiez la zone à attribuer au serveur racine.spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTRemplacez les éléments suivants :
SERVER_ENDPOINT: adresse du nouveau serveur racine, par exemplenew-root-server.example.com:15000.ZONE: zone cible, par exempleus-central1-a.ENDPOINT: point de terminaison de votre déploiement principal, par exemplemy-spanner-deployment:15000.
La commande
spanner deployment servers createlance une opération de longue durée pour ajouter le serveur au déploiement. Les opérations de longue durée peuvent prendre un temps considérable. Pour en savoir plus, consultez Gérer et observer les opérations de longue durée dans la documentation Spanner.Vérifiez que le serveur a rejoint le déploiement. Listez les serveurs pour vérifier que le serveur a été enregistré et qu'il est passé à l'état
Ready:spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
Ajouter des serveurs non root
Pour ajouter un serveur non racine, démarrez le processus spanner sur une VM et configurez-le pour qu'il se connecte à un ou plusieurs serveurs racines du cluster afin de rejoindre le déploiement.
Cet exemple démarre un serveur non racine et l'ajoute au déploiement :
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
Remplacez les éléments suivants :
HOSTNAME: nom d'hôte de la nouvelle VM (par exemple,new-non-root-server.example.com).JOIN_SERVERS: liste d'adresses de point de terminaison de serveur racine existantes, séparées par une virgule (par exemple,root-server1.example.com:15000).ZONE: nom de la zone, par exempleus-central1-a.BASE_DIR: chemin d'accès au répertoire dans lequel les données sont stockées (par exemple,/spanner).
Supprimer des serveurs
Suivez la même procédure pour supprimer un serveur racine ou non racine. Si vous supprimez un serveur racine, assurez-vous de conserver un nombre impair de serveurs racine au total dans le déploiement (entre 1 et 9).
Pour mettre hors service un serveur de VM, procédez comme suit :
Supprimez le serveur du déploiement :
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTRemplacez les éléments suivants :
SERVER_ENDPOINT: adresse du serveur à supprimer, par exempleserver-to-remove:15000.ZONE: zone contenant le serveur (par exemple,us-central1-a).ENDPOINT: point de terminaison de votre déploiement principal, par exemplemy-spanner-deployment:15000.
Attendez que le transfert des données soit terminé. Le temps nécessaire pour déplacer une partition dépend de la taille du datastore hébergé sur le serveur. Surveillez l'état du serveur jusqu'à ce qu'il ne figure plus dans le résultat :
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINTÉteignez le processus du serveur. Connectez-vous à la VM et arrêtez le processus
spanner.Pour éviter la corruption des données ou l'enregistrement de mises à jour conflictuelles par des serveurs déconnectés, ne redémarrez pas le processus
spannersur cette VM en utilisant le mêmebase_dirsans d'abord supprimer les anciens dossiers de données.
Étapes suivantes
- Découvrez comment gérer un déploiement.