服务器系统崩溃,怎么回复GBase?知道的请解答一下,谢谢!
多节点集群中,只坏了一台服务器,其他集群节点健康,可以按照下面的这个方式来处理。
- 采用节点替换方式,将损坏的节点恢复;—— 是否保留./gcluster、./gnode没关系,会重新从其他健康节点拷贝数据;需要集群的distribution配置是有副本备份的。
- 直接利用本节点上的./gcluster、./gnode,在本节点安装同版本集群,停止集群服务,然后从其他健康节点拷贝corosync配置文件(/etc/corosync/corosync.conf)、/var/lib/gcware文件夹到对应目录下,然后重启集群服务。
如果所有节点都坏了,就麻烦一些。因为一些集群全局信息,如scn、tableid等,是保存在/var/lib/gcware目录下的一些文件中的。可以尝试: - 安装和之前集群架构完全一样的同版本集群,创建同样的distribution
- 完成集群初始化后,停掉集群,替换./gcluster/userdata和./gnode/userdata 为备份的对应内容;
- 使用metadump工具查询最新表的tableid,然后使用gcware的python接口设置tableid的起始值,以及scn的起始值,需要设置的足够大,避免新创建表的tableid重复;
- 启动集群服务,进行数据库验证。