本文介绍,GBase 8a数据库集群,当操作系统需要升级时,比如从redhat 6到7或7到8,需要的步骤。
目录导航
整体步骤
大致步骤是
- 停服务;
- 备份原有数据和配置文件;
- 卸载或移除原有集群;
- 升级操作系统;
- 新安装集群,对应新操作系统的;
- 停服务
- 恢复数据文件和配置文件,运行数据;
- 启动服务
- 验证
前提
GBase 在数据库相同版本,只有操作系统不同时,用户数据文件是100%兼容的。请申请和当前环境相同数据库版本、但操作系统版不同的数据库安装包。
如下以安装目录为/opt为例。
注意:如果有许可,需要在升级操作系统后,如果老许可不能用,申请新的许可。
停服务
每个节点都要停。
备份
类似物理备份还原操作,除了程序部分,其它的包括数据,配置文件,运行时参数等,都需要备份。
备份的原则是操作系统升级不能将备份的数据丢失。包括如下三种备份的方法
- 最安全的是cp到外部存储
- 其次是cp到本地非根的其它mount 分区盘
- 安全最差的是mv到另外一个目录(肯定是当前mount分区,否则mv和cp是一样的)可以cp或mv到本地在升级操作系统后能继续保留的目录,也可以是外部存储。 如不确认,请备份到外部存储。
数据文件
如下建议用操作系统dbaUser操作,一般是gbase。 避免cp的文件权限变换。 如果没空间或数据太大时间无法承受,只能mv则无所谓。
/opt/gcluster/userdata
/opt/gnode/userdata
C UDF的文件,请和数据库自带的区分开。后面只还原用户自行定义的部分。
/opt/gcluster/server/lib/gbase/plugin/
/opt/gnode/server/lib/gbase/plugin/
如下用操作系统root用户操作。
/var/lib/gcware v8版本
/opt/gcware/data V9版本
配置文件
/opt/gcluster/config
/opt/gnode/config
/etc/corosync/corosync.conf V8版本
/opt/gcware/conf V9版本
卸载或移除老集群
卸载可以用安装包自带的uninstall.py
升级操作系统
同上。确保前面备份的数据,不能丢失。
目前已知GBase 8a 运行工具,比如gcadmin,需要
python 2.7的版本,不支持python 3+。
如果升级操作系统后py 2.7被卸载了,请重新安装。
安装新集群
请一定安装到和以前相同的目录下。
注意:申请新的操作系统对应的数据库版本必须一样,包括小版本号。因为redhat6、7、8的版本是不同的。
停新集群数据库服务
所有节点新安装的集群停掉服务。
恢复数据和配置文件
将现状集群服务全部停掉,将如上备份的目录,数据等,替换掉现有的目录。
注意
- c udf,也就是plugin下的, 只能恢复用户自定义的部分,不要覆盖集群自带的。 可以用过cp 的参数i(小写的i)来忽略已经存在的文件,避免覆盖。
- checksum信息文件,比如 gcware_file_info, 注意不要覆盖。
启动服务
然后所有节点的数据库服务。
验证
启动业务,查看集群是否正常。
回退
如新版本不能用,或者操作系统升级失败,可以通过如下步骤回退。
- 操作系统还原到老版本(此处要保证备份的文件不能丢失)
- 安装老操作系统版本的数据库集群
- 停服务
- 恢复(参考前面的恢复步骤)
- 启动
- 验证