VPatch集群升级
功能描述
VPatch支持对 HAS V2.0 集群的各节点进行 PSU/PSR 补丁就地升级,无需将集群还原为单机模式,可通过配置文件对集群各节点进行统一升级。
仅 VPatch V3.0.0 及以后版本支持 HAS V2.0 集群就地升级。数据库及平台支持情况如下:
数据库版本 |
HAS版本 |
CPU |
操作系统版本 |
Vastbase G100 V2.2 Build 10 |
HAS V2.0 |
Intel x86_64 |
CentOS 7.x |
注意事项
首先关注使用vpatch进行版本控制的注意事项、参数检查、字符集检查。
仅支持在集群主节点执行集群升级和回退操作。且由于用于回退的备份文件仅存储于执行了升级操作的节点上,所以回退操作只能在同一节点进行。
不支持虚拟IP。
若集群所有节点的版本信息一致则允许升级,不一定要求历史版本一致。
若 HAS V2.0 集群任意节点应用过 OOP(one off patch) 补丁,则不允许该集群进行就地升级。
升级操作不能和扩容、缩容同时执行。
升级前要保证数据库正常。可以通过gs_om -t status
查询,查询结果的cluster_state为Normal代表数据库正常。
升级前要保证数据库互信正常,可以在集群的任意节点上通过执行ssh hostname
命令,连接另外一个节点进行验证。若各节点间互连不用输入密码,说明互信正常(通常数据库状态正常时,互信一般都是正常的)。
升级过程需要停止集群,若未停止集群,在检查时会提示用户。
升级前后,当前HAS V2.0集群的配置文件不能发生变化,否则将出现校验失败的情况。
在集群升级回退时,若指定回退的补丁编号在各节点不一致会导致无法回退。
回退时检查补丁包中的version.cfg,建议使用升级时使用的补丁包进行回退,如果使用同版本的其他补丁包执行回退,version.cfg需与回退后的目标版本一致。
回退过的补丁包不能再次用于升级或回退,再次使用需要重新解压压缩包文件。
若用户使用VPatch V2.0升级失败后不能直接使用VPatch3.0进行升级,因为二者的环境变量不一致,所以检查时会报错,必须进行环境清理才能使用VPatch3.0升级。
前提条件
使用vpatch进行集群就地升级需在python3.6环境下运行,即执行python3 --version,返回版本为3.6.* 。
在开始升级前,请检查解压的升级包的patch/***/VPatch/script/目录中是否存在prepare_env.sh和clean_env.sh脚本文件。