说明:最全电力标准
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211255336.3 (22)申请日 2022.10.13 (71)申请人 中电云数智科技有限公司 地址 430058 湖北省武汉市蔡甸区经济技 术开发区人工智能科技园N栋研发楼3 层N3013号 (72)发明人 张得旭  (74)专利代理 机构 北京尚钺知识产权代理事务 所(普通合伙) 11723 专利代理师 王海荣 (51)Int.Cl. G06F 8/65(2018.01) G06F 9/455(2006.01) G06F 16/27(2019.01) (54)发明名称 一种基于operator的分布式存 储升级方法 (57)摘要 本发明涉及分布式存储升级技术领域, 提供 一种基于operator的分布式存储升级方法, 包 括: 升级存储业务组件, 包括: 对不同节点的不同 组件进行升级以及对不同节点上的相同组件进 行升级, 其中, 当对不同节点上的相同组件进行 升级时, 如果所述组件不影响业务, 对所述组件 进行并行升级; 如果所述组件影响业务, 通过批 次升级策略对 所述组件进行升级; 通过升级配置 文件和升级rpm包升级机器配置。 根据本发明示 例性实施例的基于operator的分布式存储升级 方法, 可以提升升级效率, 提高组件新老版本业 务切换的速度, 提升rpm包的升级效率, 保证组件 生命周期的环境 一致性, 降低升级失败的概 率。 权利要求书1页 说明书7页 附图2页 CN 115543383 A 2022.12.30 CN 115543383 A 1.一种基于operator的分布式存 储升级方法, 其特 征在于, 所述方法, 包括: 升级存储业务组件, 包括: 对不同节点的不同组件进行升级以及对不同节点上的相同 组件进行升级, 其中, 当对不同节点上 的相同组件进行升级时, 如果所述组件不影响业务, 对所述组件进行并行升级; 如果所述组件影响业务, 通过批次升级策略对所述组件进行升 级; 通过升级配置文件和升级rpm包升级机器 配置。 2.根据权利 要求1所述的基于operator的分布式存储升级方法, 其特征在于, 当对不同 节点的不同组件进行升级时, 如果所述组件之间相互不存在依赖关系, 对所述组件进行并 行升级; 如果所述组件之间存在依赖关系, 根据依赖顺序对所述组件进行串行升级, 包括: 先对 所有节点上被依赖的组件进行升级。 3.根据权利 要求1所述的基于operator的分布式存储升级方法, 其特征在于, 通过批次 升级策略对所述组件进行升级, 包括: 获取存储集群中保护域、 集群控制节点、 硬盘池服务 节点以及Kubernetes  master节点的批次信息, 根据获取的批次信息生 成批次升级策略, 并 根据生成的批次升级策略确定 升级批次, 按升级批次对各批次内节点上的组件进行升级。 4.根据权利 要求3所述的基于operator的分布式存储升级方法, 其特征在于, 按升级批 次对各批次内节点上的组件进 行升级, 包括: 当一个批次内某个节点上的组件正在升级时, 批次内的互斥节点上的组件不允许升级, 将其余节点上的组件与该节点上的组件进行并行 升级。 5.根据权利 要求1所述的基于operator的分布式存储升级方法, 其特征在于, 通过批次 升级策略对所述组件进 行升级, 包括: 不绑定用于升级组件的工作 协程与升级批次, 通过每 个工作协程动态获取待升级的节点信息, 对所述节点上的组件进行升级。 6.根据权利 要求1所述的基于operator的分布式存储升级方法, 其特征在于, 通过批次 升级策略对所述组件进行升级, 包括: 根据服务器性能设置goroutine的数量, 通过相应数 量的gorouti ne对集群中的存 储组件进行升级。 7.根据权利 要求1所述的基于operator的分布式存储升级方法, 其特征在于, 通过批次 升级策略对所述组件进行升级, 包括: 当归属某个保护域的全部节点上 的组件都升级完成 后, 升级控制流 程回调通知所述保护域启动新版本组件的处 理逻辑。 8.根据权利 要求1所述的基于operator的分布式存储升级方法, 其特征在于, 通过升级 配置文件和升级rpm包升级机器 配置, 包括: 升级配置文件, 根据存储集群中保护域、 集群控制节点、 硬盘池服务节点以及 Kubernetes  master节点的批 次信息生成mcp, 将生成的多个mcp划分后与集群中对应的节 点绑定; 采用mcp对rpm包进行升级编排控制, 并采用ansible对rpm包进行本地升级。 9.根据权利要求8所述的基于operator的分布式存储升级方法, 其特征在于, 采用 ansible对rpm包进行本地升级, 包括: 编写an sible playbook, 安装并启动systemd服务, 通 过拉取rpm镜像并提取rpm包 对rpm包进行升级。 10.根据权利要求1所述的基于operator的分布式存储升级方法, 其特征在于, 所述方 法中, 存储业务组件以pod形式存在。权 利 要 求 书 1/1 页 2 CN 115543383 A 2一种基于oper ator的分布式存 储升级方 法 技术领域 [0001]本发明涉及分布式存储升级技术领域, 尤其涉及一种基于operator的分布式存储 升级方法。 背景技术 [0002]当前分布式存储领域, 都采用传统的部署方式, 即直接将存储集群部署到物理机 上。 因此, 对于存储集群的升级, 往往需要开发一个控制程序, 对集群中涉及到的各种组件 进行升级控制, 比如控制组件间的升级顺序、 触发组件版本更新等。 与此同时, 还需要考虑 升级失败的场景, 并提供重试机制, 保障升级成功。 由于采用的是物理机部署形态, 所有组 件是直接暴露在宿主机上并共享资源, 相互之间也没有隔离, 因此在升级的时候会存在以 下问题: [0003]1.共享库依赖问题 [0004]对于物理机部署形态, 一个物理节点上的各种lib库为共享资源, 即多个组件依赖 相同的lib库, 因此, 升级组件和lib库时, 会存在一些问题(假设组件A、 组件B都依赖某个 lib库): [0005]a)如果采用串行升级的方式, 即先更新lib库, 然后再更新组件A、 组件B, 那么, 当 更新lib库后, 此时lib库为新版本, 组件A、 组件B均为老版本, 对于组件A、 组件B都会存在程 序跑飞的风险; 如果先更新组件A、 组件B, 则可能出现老版本的lib库无法兼容新版本组件, 最终也会导 致组件程序崩溃; [0006]b)考虑到a)的问题, 在其基础上进一步做优化, 即: 更新lib库之前, 将老版本lib 库备份, lib库更新完成后, 组件A、 组件B依旧使用老版本lib库; 接着更新组件A、 组件B, 更 新完组件后将其lib库切换到新版本lib库即可, 最后删除旧版本lib库, 最终完成lib库版 本整体切换以及组件版本更新操作; 该方法能解决正常流程共享库依赖的问题, 但在节点 异常的情况下(比如节点掉电), lib库可能处于新老版本损坏的中间态, 因此依然存在程序 跑飞、 崩溃的风险, 只是概 率相对较低; [0007]c)鉴于a)、 b)的问题, 可以考虑采用并行升级的方式, 即并行触 发lib库、 组件A、 组 件B的更新流程, 这样就不存在新老版本兼容的问题; 但从代码执行 的角度来看, 即使并行 触发也无法保证lib库与组件是100%的同步更新, 集群规模越大不同步现象越明显; 与此 同时, 如果组件A、 组件B之间有依赖要求, 则不能采用并行升级方式; [0008]总之, 对于组件、 lib库 而言, 无论采用串行升级还是采用并行升级, 都会存在程序 跑飞、 崩溃的风险。 [0009]2.升级效率低 [0010]对于一个存储系统而言, 往往包括许多组件, 这样才能支撑其复杂的存储功能, 这 些组件大致可分为三类: 基础设施组件、 管理面组件、 业务面组件; 这些组件之间采用串行 升级, 组件内采用串行或并行升级; 一个组件在节点上的更新过程, 可以简单看作: [0011]a)切走组件业 务, 并停止组件服 务;说 明 书 1/7 页 3 CN 115543383 A 3

.PDF文档 专利 一种基于operator的分布式存储升级方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于operator的分布式存储升级方法 第 1 页 专利 一种基于operator的分布式存储升级方法 第 2 页 专利 一种基于operator的分布式存储升级方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:48:35上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。