GBaase8a集群版本各版本升级回退流程
目前涉及的版本为:
8.6.2.43系列:862.43-R33
9.5.3.20系列:9.5.3.20.125411
9.5.3.23系列:9.5.3.23.28416dc2、9.5.3.23-patch.129390
9.5.3.27系列:9.5.3.27.88ef4e28、9.5.3.27.14_patch.1b41b5c1、9.5.3.27.14_patch.2f6f9851
9.5.3.27.20系列:9.5.3.27.20_patch.15410d0d、9.5.3.27.20_patch.6d2b60a8、9.5.3.27.20_patch.9fc3fcec
各系列本身之间没有系统表改变,系列之间有系统表变化。
升级流程:
1、862跨版本升级流程:862.43-R33 -> 952.42.129983 -> 953.27.14_patch.1 -> 953.27.20_patch.1/6/9/14/15
2、953.20版本升级流程:953.20.125411 -> 953.23.28416dc2 -> 953.27.20_patch.1/6/9/14/15
3、953.23版本升级流程:953.23-patch129390、953.23.28416dc2 -> 953.27.20_patch.1/6/9/14/15
4、953.27版本升级流程:953.27.88ef4e28 -> 953.27.20_patch.1/6/9/14/15
5、953.27.20版本升级流程:953.27.20_patch.1/6/9/14/15
同一版本系列:
1)做过操作,只能-U降级;
2)没做操作,可以-U降级,也可以restore.py回退。
不同版本系列:
1)做过操作,只能-U降级+手工恢复系统表;
2)没做操作,可以-U降级+手工恢复系统表,也可以restore.py回退。
回退流程:
1、从9.5.3.27系列版本升级至 9.5.3.27.20_patch.15 后,均可通过 -U 升级方式进行回退。
2、从9.5.3.23系列版本升级至 9.5.3.27.20_patch.15 后,
2.1 如果集群没有做过任何操作,可使用Restore命令,从备份中直接恢复到原版本。
2.2 如果升级后,集群有过业务操作,可先通过 -U 升级方式进行回退,随后从备份文件中提取
gbase.user 、 gbase.vcs_priv、 gbase.tables_priv、 gbase.db 四张表的备份文件,
恢复到原位置后,重启集群服务的方式进行回退。
提示:本方式存在风险,在升级之后做过的创建用户、授权操作,需要重新做。
3、从9.5.3.20系列版本,无法直接升级至 9.5.3.27.20_patch.15 ,可以先升级至9.5.3.23.2版本,
再升级至 9.5.3.27.20_patch.15。
3.1 回退过程也需要先回退至9.5.3.23.2,方法同上。
3.2 从9.5.3.23.2回退至9.5.3.20,可通过 -U 升级方式进行回退。
9.5.3.20 和 9.5.3.23版本有系统表变化,涉及表名为 gbase.consumer_group_user ,变化内容为 username 字段改为大小写敏感。
该字段值来源于gbase.user表,在gbase.user表中,该字段本身为大小写敏感。所以该表的改变为修正问题,可以不进行回退。
注意事项:
1、升级:
从953.23升级至953.27.20之前需要在InstallFuns.py中添加备份vcs_priv系统表:
sed -i '/#gcluster systable/a\\ \tbackupFile += GetFileListByRegex("%s/gcluster/userdata/gcluster/gbase/vcs_priv.*" % (installPrefix))' InstallFuns.py
2、回退:
python Restore.py --backupFile=/home/gbase/gcluster_backup_multi_9.5.3.27.14_patch.1b41b5c1_*.tar.bz2 --silent=demo.options --passwordInputMode=file
backupGcwareFile可选参数,如果是由 9.5.3.X 回退到 9.5.2.X,需要填写gcware的备份文件路径和名称。
### 从9.5.3.27 系列版本回退到 9.5.3.23 版本操作流程:
4、如果集群升级至9.5.3.27.20-patch.x之后 ,有过业务操作,不能通过restore进行恢复。
需要使用gcinstall -U 方式“降级”回 9.5.3.23 版本,并从备份文件中提前4张变化的系统表的备份,恢复到相应位置。
相关系统表包括: gbase.user 、 gbase.vcs_priv、 gbase.tables_priv、 gbase.db 。
4.1 按照正常升级流程,将集群版本从 9.5.3.27.20-patch.1 降级回 9.5.3.23.2 版本 。
降级完成后,可以观察到集群管理节点的 gclusterd 服务无法正常启动。
4.2 停止集群服务
cexec all: 'gcluster_services all stop'
cexec coor: 'gcware_services all stop'
4.3 创建备份文件解压目录
mkdir -p /tmp/backup_extract
4.4 解压管理节点备份文件
tar xvf /home/gbase/gcluster_backup_multi_9.5.3.23.28416dc2_20240321124815_192.168.59.142.tar.bz2 -C /tmp/backup_extract/
查看解压结果
ls -l /tmp/backup_extract/
cd /tmp/backup_extract/opt/*/gcluster/userdata/gcluster/gbase/
pwd
ls -l user.* tables_priv.* vcs_priv.* db.*
4.5 将文件复制到相应管理节点
创建备份目录:
cexec all: 'mkdir -p /opt/gbase_workspace/notes/20240321/gcluster /opt/gbase_workspace/notes/20240321/gnode '
cd /tmp/backup_extract/opt/*/gcluster/userdata/gcluster/gbase/
管理节点循环执行:
ssh 192.168.59.142 'cp /opt/192.168.59.142/gcluster/userdata/gcluster/gbase/user.* /opt/gbase_workspace/notes/20240321/gcluster'
ssh 192.168.59.142 'cp /opt/192.168.59.142/gcluster/userdata/gcluster/gbase/tables_priv.* /opt/gbase_workspace/notes/20240321/gcluster'
ssh 192.168.59.142 'cp /opt/192.168.59.142/gcluster/userdata/gcluster/gbase/vcs_priv.* /opt/gbase_workspace/notes/20240321/gcluster'
ssh 192.168.59.142 'cp /opt/192.168.59.142/gcluster/userdata/gcluster/gbase/db.* /opt/gbase_workspace/notes/20240321/gcluster'
scp user.* tables_priv.* vcs_priv.* db.* 192.168.59.142:/opt/192.168.59.142/gcluster/userdata/gcluster/gbase/
4.6 解压数据节点备份文件
从第一个数据节点复制备份文件到本本管理节点
scp 192.168.59.151:/home/gbase/gcluster_backup_multi_9.5.3.23.28416dc2_20240321124815_192.168.59.151.tar.bz2 /tmp
tar xvf /tmp/gcluster_backup_multi_9.5.3.23.28416dc2_20240321124815_192.168.59.151.tar.bz2 -C /tmp/backup_extract/
查看解压结果
ls -l /tmp/backup_extract/
cd /tmp/backup_extract/opt/*/gnode/userdata/gbase/gbase/
pwd
ls -l user.* tables_priv.* db.*
4.7 将文件复制到相应数据节点
cd /tmp/backup_extract/opt/*/gnode/userdata/gbase/gbase/
数据节点循环执行:
ssh 192.168.59.151 'cp /opt/192.168.59.151/gnode/userdata/gbase/gbase/user.* /opt/gbase_workspace/notes/20240321/gnode'
ssh 192.168.59.151 'cp /opt/192.168.59.151/gnode/userdata/gbase/gbase/tables_priv.* /opt/gbase_workspace/notes/20240321/gnode'
ssh 192.168.59.151 'cp /opt/192.168.59.151/gnode/userdata/gbase/gbase/db.* /opt/gbase_workspace/notes/20240321/gnode'
scp user.* tables_priv.* db.* 192.168.59.142:/opt/192.168.59.142/gnode/userdata/gbase/gbase/
4.8 启动集群服务
cexec coor: 'gcware_services all start'
cexec all: 'gcluster_services all start'
4.9 检查集群状态是否正常
4.10 启动always、crontab。
注: 通过该方式恢复的集群,如果在升级之后有创建用户、授权操作,需要重新创建和授权。
附:
4.11 如果升级到953.27.20-patch.x时,没有备份vcs_priv表,恢复时找不到文件,可以在恢复其他3个表后,启动gclusterd服务,执行以下语句恢复。
所有管理节点IP循环执行:
gccli -ugbase -pxxx -h管理节点ip -e"alter self table gbase.vcs_priv drop column Unmask_priv ;
alter self table gbase.vcs_priv drop column Drop_table_priv ;
alter self table gbase.vcs_priv drop column Drop_view_priv ;
alter self table gbase.vcs_priv drop column Drop_database_priv ; "
4.12 然后重启集群服务
cexec all: 'gcluster_services all stop'
cexec all: 'gcluster_services all start'
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526