Harvester 集群升级中升级仓库虚拟机的优化策略
背景与问题分析
在Harvester多节点集群升级过程中,升级仓库虚拟机(upgrade-repo VM)的处理方式存在优化空间。当前实现中,当升级仓库虚拟机位于预排空节点上时,系统会先关闭该虚拟机,然后在排空后作业中重新启动它。这种处理方式虽然功能上可行,但并非最优方案。
技术现状
Harvester作为基于Kubernetes和KubeVirt构建的现代超融合基础设施平台,其升级机制需要确保系统服务的持续可用性。升级仓库虚拟机作为升级过程中的关键组件,负责提供必要的升级资源。当前的关闭-重启策略虽然保证了功能完整性,但存在以下不足:
- 不必要的停机时间
- 资源使用效率低下
- 可能影响升级过程的整体速度
优化方案
通过分析KubeVirt的虚拟机迁移能力,我们可以实现更优雅的解决方案:
-
实时迁移替代关机:利用KubeVirt的实时迁移功能,将升级仓库虚拟机从待排空节点迁移到其他可用节点,避免不必要的关机操作。
-
迁移过程优化:在预排空阶段触发迁移操作,确保虚拟机在节点排空前完成迁移,不影响升级流程。
-
CPU兼容性处理:针对不同CPU架构导致的迁移失败问题,建议将虚拟机CPU模式设置为"host-passthrough",提高跨节点迁移的成功率。
实现细节
在技术实现层面,优化主要涉及以下方面:
-
升级控制器修改:调整升级控制器逻辑,识别升级仓库虚拟机并触发迁移而非关机。
-
迁移策略配置:配置适当的迁移参数,包括超时设置和并行迁移限制。
-
异常处理机制:保留关机作为迁移失败时的后备方案,确保升级过程健壮性。
验证与效果
在实际测试环境中,优化后的方案表现出以下优势:
- 升级仓库虚拟机成功完成实时迁移,状态保持连续。
- 迁移过程平均耗时约7秒(从迁移开始到完成)。
- 系统日志显示迁移状态完整记录,便于问题排查。
- 升级过程整体时间缩短,资源利用率提高。
总结
通过对Harvester升级过程中升级仓库虚拟机处理策略的优化,我们实现了更高效、更可靠的集群升级体验。这一改进不仅减少了不必要的虚拟机重启,还充分利用了KubeVirt的实时迁移能力,为大规模生产环境中的系统升级提供了更好的支持。未来,我们还将继续探索更多优化点,如智能迁移目标选择、迁移过程资源预留等,进一步提升Harvester的升级体验。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C092
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python058
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
AgentCPM-Explore没有万亿参数的算力堆砌,没有百万级数据的暴力灌入,清华大学自然语言处理实验室、中国人民大学、面壁智能与 OpenBMB 开源社区联合研发的 AgentCPM-Explore 智能体模型基于仅 4B 参数的模型,在深度探索类任务上取得同尺寸模型 SOTA、越级赶上甚至超越 8B 级 SOTA 模型、比肩部分 30B 级以上和闭源大模型的效果,真正让大模型的长程任务处理能力有望部署于端侧。Jinja00