#备集群扩缩容
YashanDB支持通过yasboot工具对共享集群部署中的备集群进行在线扩容或缩容,且扩容期间不影响整个集群的使用。
Note:
如果扩/缩容失败,请参考扩缩容异常处理进行处理。
# 在线增加备集群
新备集群的每个实例由单独1台服务器承载(后文将称之为“新服务器”),新服务器的操作系统版本建议与现有服务器保持一致。
准备扩容所需的新服务器和存储设备,并参照安装前准备检查并确保新服务器系统的各项环境已满足要求。
以安装用户登录数据库的现有节点所在服务器。
执行yasboot config group gen命令,生成增加集群的配置文件。
$ yasboot config group gen -c yashandb \ -u yashan -p yashan_password --ip ip1 --port 22 \ --install-path /data/yashan/yasdb_home \ --data-path /data/yashan/yasdb_data \ --node 3 --begin-port 1688 --data /dev/yfs33/datadisk3 \ --disk-found-path /dev/yfs33 --system-data /dev/yfs33/ycsdisk3 \ --log-path /data/yashan/yasdb_data/log \ -t ce \执行成功后,会生成yashandb_add.toml和hosts_add.toml两个配置文件。
执行如下命令,远程连接新服务器并为其安装YashanDB。
$ yasboot host add -c yashandb -t hosts_add.toml在上述生成配置文件的服务器上执行如下命令,增加备集群。
$ yasboot group add -c yashandb -t yashandb_add.toml -p password(可选)备份数据库。
建议对数据库进行备份,确保扩容后有可用于恢复的基线备份集。
将hosts_add.toml中的[[host]]内容复制粘贴到hosts.toml的末尾,以免升级时仍用旧的hosts信息。
若扩容前其他服务器均已配置开机自启动,还需登录所有新服务器配置开机自启动。
# 在线删除备集群
以安装用户登录数据库安装服务器。
执行如下命令,查看待删除的目标备集群ID。
$ yasboot cluster status -c yashandb -d # nodeid中横线前的部分即为组ID,例如2-1:3对应的组ID为2若当前环境为一主一备集群,请先检查并关闭yasom仲裁选主:
$ yasboot election config show -c yashandb cluster Protection Mode: MAXIMUM PROTECTION Members: [1-1:1] - Primary database [1-2:2] - Primary database [2-1:3] - Physical standby database Transport Lag: 0 seconds Apply Lag: 0 seconds Apply Rate: 0.00 KByte/s [2-2:4] - Physical standby database …… Automatic Failover: Enabled in Zero Data Loss Mode # Enabled表示已开启yasom仲裁选主,需将其关闭再进行后续操作 $ yasboot election enable off -c yashandb执行如下命令删除备集群。
# 可以增加--with-host参数,成功删除节点组后继续删除当前分布式集群中所有无数据库节点、无yasom进程的空服务器的信息 $ yasboot group remove --group-ids 2 -f --purge --ce -c yashandb --with-host(可选)备份数据库。
建议对数据库进行备份,确保缩容后有可用于恢复的基线备份集。
若缩容时指定了--with-host参数(即移除了空服务器),缩容完成后需要更新hosts.toml文件的[[host]]内容,删除对应服务器相关信息,以免升级时仍用旧的hosts信息。

