更新时间:2024-09-25 18:26:24

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数据盘为例,请根据现场实际情况操作:

  1. 检查数据目录的大小:
    a) 查看opensearch目录:kubectl get values opensearch-master,path字段的值为anyshare的数据索引数据目录

    查看opensearch目录.png

    b) 查看可观测性高级服务目录:/anyrobot
    c) 查看基础服务数据(包括cr)目录:默认为/sysvol

    查看基础服务数据.png
    查看基础服务数据2.png

    d) 查看上述目录占用的大小,du -sh 查看上述目录数据所占空间并记录。

  2. 为保证ceph的正常使用,备份前必须保证在占用数据目录的大小后,osd盘的使用率不超过85%。

  3. 备份目录赋值为环境变量,这里以备份目录在osd数据盘中(例如:备份在该数据盘的backup目录下,backup目录会自动创建,无需手动提前创建)为例,请根据实际情况修改:export cent=/var/lib/ceph/osd/osd3/backup

3.2 数据备份

上传proton依赖包,解压,进入scripts目录下,执行备份操作:

  1. tar zxf proton-2.17.0-20240626.1.el7.x86_64.tar.gz (这里包仅为示例,以发布版本为准)

  2. cd proton-packages/scripts

  3. ./platform_backup_recover.sh --platform anyshare --command backup --path ${cent} --ssh-password 主机密码

    备份.png

    备份过程2.png

    在备份的过程中,确认需要备份的数据目录,遇到当前节点未运行某些需要备份的服务时会自动跳过。

3.3 备份安装包

备份安装包、镜像包可以在如下操作中二选一进行:
选项一、各类安装包仍保留在节点中,可进行如下操作进行备份:

  1. 创建安装包备份目录mkdir -p ${cent}/package

  2. 找到proton、anyshare、可观测性高级服务、eceph安装包所在目录

  3. 对第2步找到的各安装包目录进行备份cp -arpf 包目录 ${cent}/package

    备份安装包.png

    选项二、各类安装包未保留。需要准备好相同版本(可通过登录web页面查看AnyShare版本信息)的安装包、镜像包。在恢复时,将同一个版本的各类包重新导入到环境中即可。

    至此,数据备份完成。

第4章 更换麒麟V10操作系统

X86麒麟V10操作系统安装参考《Proton Runtime 2.17.0 生产指导手册》。这里不详细描述了。默认安装一直点下一步就可以了。
注意:1. 安装系统时,系统IP和hostname请保持与原来centos7.7系统的一致

     2. 系统盘的分区大小与centos7.7系统的大小保持一致。

4.1 卸载docker-*

具体操作步骤如下:

  1. 查看系统中是否存在该服务rpm -qa | grep docker-runc

    1. 存在该服务,进行卸载yum remove docker-*

    2. 若不存在,则第2步无需执行

第5章 数据恢复

本章节需要在集群所有节点执行。

5.1 检查备份目录

系统重装后,进入备份目录下,检查备份数据,执行下述章节操作。

5.2 安装依赖

安装依赖可以在如下操作中二选一进行。
选项一、在3.3章节做过安装包备份操作,进入备份的proton安装包目录下,安装proton大包依赖:./install_deps.sh --with-eceph true --ssh-password 主机密码(若未部署eceph则命令中不需要添加--with-eceph true)

安装依赖.png

选项二、在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 主机密码

恢复示例.png

过程中,根据提示信息输入Y或N,直到恢复成功。

恢复完成.png

恢复后,等待所有pod running后,再对下一个节点进行操作。

第6章 验证AnyShare功能

恢复操作完成,自行检查AnyShare各数据及业务功能恢复正常。

第7章 FAQ

7.1 Mariadb的pod crash

还原后,遇到mariadb的 pod状态crash,查看mysql-error.log日志显示corrupt buffer header

服务状态异常时修复.png

使用命令:rm -rf /sysvol/mariadb/galera.cache,删除文件后,再删除该pod,查看pod变为running