首页
/ Harvester升级过程中Longhorn实例管理器检查失败的解决方案

Harvester升级过程中Longhorn实例管理器检查失败的解决方案

2025-06-14 16:41:10作者:裴锟轩Denise

问题背景

在Harvester集群从1.4.0版本升级到1.4.1版本的过程中,部分用户遇到了升级停滞的问题。具体表现为UI界面显示升级完成,但节点版本号未更新,且节点未重启。通过日志检查发现,升级过程因Longhorn实例管理器检查失败而卡住。

问题现象

升级过程中,系统日志显示如下错误信息:

instance-manager (aio) (image=longhornio/longhorn-instance-manager:v1.7.2) count is not 1 on node t7820, will retry...

检查实例管理器Pod状态时发现,每个节点上同时运行着两个实例管理器Pod:

longhorn-system instance-manager-e4171aea8fa55d5947f0cd505c60f3ce 1/1 Running
longhorn-system instance-manager-47d20ebaa9cab22d9dd82eb56a3eb50a 1/1 Running

问题根源

此问题源于Harvester升级检查逻辑中的一个缺陷。当Longhorn v2数据引擎启用时,系统会为v1和v2数据引擎分别创建独立的实例管理器。然而,升级检查脚本仅预期每个节点上有一个实例管理器Pod,当检测到多个Pod时,错误地认为升级条件未满足,导致升级过程停滞。

解决方案

Harvester团队已经修复了此问题,解决方案包括:

  1. 临时解决方案:在升级前禁用Longhorn v2数据引擎功能

    • 进入Harvester设置界面
    • 找到"longhorn-v2-data-engine-enabled"设置项
    • 将其值设为"false"
    • 然后继续升级流程
  2. 永久解决方案:升级到包含修复的版本

    • 对于1.5.0及以上版本,该问题已得到修复
    • 修复后的版本能够正确识别v1和v2数据引擎的实例管理器

技术实现细节

修复方案主要改进了升级检查逻辑,使其能够:

  1. 区分v1和v2数据引擎的实例管理器
  2. 正确验证每种类型实例管理器的数量和状态
  3. 在v2数据引擎启用时,允许每个节点上存在多个实例管理器Pod

验证结果

Harvester团队已对修复进行了全面验证,测试场景包括:

  1. 双节点集群升级(v2数据引擎禁用)
  2. 单节点集群升级
  3. 启用v2数据引擎的集群升级

所有测试场景均成功通过,升级过程不再因实例管理器检查而停滞。

最佳实践建议

  1. 对于生产环境,建议在升级前备份重要数据
  2. 升级前检查Longhorn v2数据引擎状态
  3. 如遇到升级问题,可参考官方文档或联系技术支持
  4. 定期检查系统日志,及时发现潜在问题

该问题的修复体现了Harvester团队对系统稳定性的持续改进,也为用户提供了更顺畅的升级体验。

登录后查看全文
热门项目推荐
相关项目推荐