GBase 8a数据库操作系统升级怎么处理?

本文介绍,GBase 8a数据库集群,当操作系统需要升级时,比如从redhat 6到7或7到8,需要的步骤。

整体步骤

大致步骤是

  1. 停服务;
  2. 备份原有数据和配置文件;
  3. 卸载或移除原有集群;
  4. 升级操作系统;
  5. 新安装集群,对应新操作系统的;
  6. 停服务
  7. 恢复数据文件和配置文件,运行数据;
  8. 启动服务
  9. 验证

前提

GBase 在数据库相同版本,只有操作系统不同时,用户数据文件是100%兼容的。请申请和当前环境相同数据库版本、但操作系统版不同的数据库安装包。

如下以安装目录为/opt为例。

注意:如果有许可,需要在升级操作系统后,如果老许可不能用,申请新的许可。

停服务

每个节点都要停。

备份

类似物理备份还原操作,除了程序部分,其它的包括数据,配置文件,运行时参数等,都需要备份。

备份的原则是操作系统升级不能将备份的数据丢失包括如下三种备份的方法

  1. 最安全的是cp到外部存储
  2. 其次是cp到本地非根的其它mount 分区盘
  3. 安全最差的是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, 注意不要覆盖。

启动服务

然后所有节点的数据库服务。

验证

启动业务,查看集群是否正常。

回退

如新版本不能用,或者操作系统升级失败,可以通过如下步骤回退。

  1. 操作系统还原到老版本(此处要保证备份的文件不能丢失)
  2. 安装老操作系统版本的数据库集群
  3. 停服务
  4. 恢复(参考前面的恢复步骤)
  5. 启动
  6. 验证