Proton Runtime
更换Centos7.7系统为openeuler 22.03操作手册
第1章 准备工作
预先准备:
openeuler操作系统镜像: OpenEulerOS-standard-230718-1514-12-x86_64.iso
第2章 操作顺序
集群环境,需要在每一个节点上执行备份-更换系统-还原操作-等待所有服务恢复。待所有服务running后,再对下一个节点进行相同的操作。
第3章 数据备份
本章节需要在所有集群节点执行。如下操作是以master节点的数据备份为例。worker节点上部分服务未部署,遇到未部署服务备份或者待备份的目录为空的情况,会自动跳过不执行。
3.1 准备备份目录
由于更换操作系统根目录所有数据会被清空,所以备份的数据不能放在系统盘上。可根据现场实际情况调整,选择osd数据盘或其他空闲磁盘存储,也可备份后复制到其他服务器进行存储。这里以备份到osd数据盘为例,请根据现场实际情况操作:
-
检查数据目录的大小:
a) 查看opensearch目录:kubectl get values opensearch-master,path字段的值为anyshare的数据索引数据目录b) 查看可观测性高级服务目录:/anyrobot
c) 查看基础服务数据(包括cr)目录:默认为/sysvol
d) 查看上述目录占用的大小,du -sh 查看上述目录数据所占空间并记录。
-
为保证ceph的正常使用,备份前必须保证在占用数据目录的大小后,osd盘的使用率不超过85%。
-
备份目录赋值为环境变量,这里以备份目录在osd数据盘中(例如:备份在该数据盘的backup目录下,backup目录会自动创建,无需手动提前创建)为例,请根据实际情况修改:export cent=/var/lib/ceph/osd/osd3/backup
3.2 数据备份
上传proton依赖包,解压,进入scripts目录下,执行备份操作:
-
tar zxf proton-2.17.0-20240626.1.el7.x86_64.tar.gz (这里包仅为示例,以发布版本为准)
-
cd proton-packages/scripts
-
./platform_backup_recover.sh --platform anyshare --command backup --path ${cent} --ssh-password 主机密码
在备份的过程中,确认需要备份的数据目录,遇到当前节点未运行某些需要备份的服务时会自动跳过。
3.3 备份安装包
备份安装包、镜像包可以在如下操作中二选一进行:
选项一、各类安装包仍保留在节点中,可进行如下操作进行备份:
-
创建安装包备份目录mkdir -p ${cent}/package
-
找到proton、anyshare、可观测性高级服务、eceph安装包所在目录
-
对第2步找到的各安装包目录进行备份cp -arpf 包目录 ${cent}/package
选项二、各类安装包未保留。需要准备好相同版本(可通过登录web页面查看AnyShare版本信息)的安装包、镜像包。在恢复时,将同一个版本的各类包重新导入到环境中即可。
至此,数据备份完成。
第4章 更换麒麟V10操作系统
X86麒麟V10操作系统安装参考《Proton Runtime 2.17.0 生产指导手册》。这里不详细描述了。默认安装一直点下一步就可以了。
注意:1. 安装系统时,系统IP和hostname请保持与原来centos7.7系统的一致
2. 系统盘的分区大小与centos7.7系统的大小保持一致。
4.1 卸载docker-*
具体操作步骤如下:
-
查看系统中是否存在该服务rpm -qa | grep docker-runc
-
存在该服务,进行卸载yum remove docker-*
-
若不存在,则第2步无需执行
-
第5章 数据恢复
本章节需要在集群所有节点执行。
5.1 检查备份目录
系统重装后,进入备份目录下,检查备份数据,执行下述章节操作。
5.2 安装依赖
安装依赖可以在如下操作中二选一进行。
选项一、在3.3章节做过安装包备份操作,进入备份的proton安装包目录下,安装proton大包依赖:./install_deps.sh --with-eceph true --ssh-password 主机密码(若未部署eceph则命令中不需要添加--with-eceph true)
选项二、在3.3章没有对安装包做备份,可以将相同版本的依赖包(若已,部署eceph则需要包括eceph包)导入到集群各节点环境中,解压,进入解压后的目录执行安装命令:./install_deps.sh --with-eceph true --ssh-password 主机密码(若未部署eceph则命令中不需要添加--with-eceph true)
5.3 恢复集群
进入依赖包解压目录下的script目录,执行./platform_backup_recover.sh --platform anyshare --command recover --path ${cent} --ssh-password 主机密码
过程中,根据提示信息输入Y或N,直到恢复成功。
恢复后,等待所有pod running后,再对下一个节点进行操作。
第6章 验证AnyShare功能
恢复操作完成,自行检查AnyShare各数据及业务功能恢复正常。
第7章 FAQ
7.1 Mariadb的pod crash
还原后,遇到mariadb的 pod状态crash,查看mysql-error.log日志显示corrupt buffer header
使用命令:rm -rf /sysvol/mariadb/galera.cache,删除文件后,再删除该pod,查看pod变为running