为了处理不断变化的数据库流量或存储更多分区,您可以调整虚拟机环境中的服务器节点数量。使用这些程序来管理虚拟机部署。
准备工作
如需扩缩虚拟机部署,请按以下步骤操作:
下载并安装 Spanner Omni CLI。
熟悉在虚拟机上为 Spanner Omni 创建部署中所述的概念,因为伸缩操作使用类似的 Spanner Omni CLI 模式。
最佳实践是,在添加更多服务器以进行横向伸缩之前,建议先将每个服务器的内存纵向扩缩到 32 GB。
添加根服务器
如需向虚拟机部署添加新的根服务器,请按照以下步骤操作:
在现有可用区的新虚拟机中启动新服务器。使用
spanner start命令初始化服务器。以下示例启动了一个根服务器:spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIR替换以下内容:
HOSTNAME:新虚拟机的可解析完全限定域名 (FQDN) 或主机名,例如new-root-server.example.com。ZONE:目标可用区,例如us-central1-a。BASE_DIR:存储数据的目录路径,例如/spanner。
将服务器添加到现有部署中。向主部署注册新的根服务器。确保主机名和端口实参与
spanner start命令中使用的形参一致,并指定要分配给根服务器的区域。spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINT替换以下内容:
SERVER_ENDPOINT:新根服务器的地址,例如new-root-server.example.com:15000。ZONE:目标可用区,例如us-central1-a。ENDPOINT:主部署的端点,例如my-spanner-deployment:15000。
spanner deployment servers create命令会启动一个长时间运行的操作,以将服务器添加到部署中。长时间运行的操作可能需要大量时间才能完成。如需了解详情,请参阅 Spanner 文档中的管理和观察长时间运行的操作。验证服务器是否已加入部署。列出服务器以验证服务器是否已注册并已转换为
Ready状态:spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
添加非根服务器
如需添加非根服务器,请在虚拟机上启动 spanner 进程,并将其配置为连接到集群中的一个或多个根服务器,以加入部署。
此示例启动了一个非 root 服务器,并将其添加到部署中:
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
替换以下内容:
HOSTNAME:新虚拟机的 hostname,例如new-non-root-server.example.com。JOIN_SERVERS:现有根服务器端点的逗号分隔列表,例如root-server1.example.com:15000。ZONE:可用区名称,例如us-central1-a。BASE_DIR:存储数据的目录路径,例如/spanner。
移除服务器
您可以按照相同的步骤移除根服务器或非根服务器。如果您要移除根服务器,请确保部署中的根服务器总数保持为奇数(介于 1 到 9 之间)。
如需停用虚拟机服务器,请按以下步骤操作:
从部署中删除服务器:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINT替换以下内容:
SERVER_ENDPOINT:要移除的服务器的地址,例如server-to-remove:15000。ZONE:包含服务器的可用区,例如us-central1-a。ENDPOINT:主部署的端点,例如my-spanner-deployment:15000。
等待数据迁移完成。分区迁移需要花费一定的时间,具体取决于服务器上托管的 Datastore 的大小。监控服务器状态,直到输出中不再列出该服务器:
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT关闭服务器进程。登录虚拟机,然后停止
spanner进程。为避免数据损坏或导致断开连接的服务器记录冲突的更新,请勿使用相同的
base_dir在此虚拟机上重启spanner进程,除非先清除旧数据文件夹。
后续步骤
- 了解如何维护部署。