文档目录

适用场景

  • 产品:ZCF
  • 组件:Cloud
  • 版本:4.4.x
  • Storage: SharedBlock
  • Architecture: ARM & x86
  • 触发条件:自定义 XML 后,云主机启动时报卷数量与数据库定义不一致。

问题现象

  • 启动云主机时报错:
  number of volumes from database [1] not match with xml [0] volumes defined in database
  • 问题发生在自定义 XML 后。

判断方法

  1. 复现云主机启动失败并确认错误信息包含卷数量不一致。
  2. 确认管理节点当前使用的是原始 mevoco-4.4.x.jar。
  3. 替换 jar 后重新启动平台服务,验证问题是否消失。

原因说明

该问题的处理方式是手动更新 mevoco-4.4.x.jar,表明异常与管理节点中的相关逻辑包有关,而非云主机本身配置单独损坏。

解决方案

  1. 执行前准备
  • 风险等级:中风险
  • 先关闭云主机全局高可用。
  • 先备份平台数据库。
  • 把新 mevoco-4.4.x.jar 上传到管理节点 /root/2026.3/。
  1. 处理步骤
  2. 关闭云主机全局高可用。
  • 预期结果:避免变更期间触发高可用动作。
  1. 备份平台数据库:
   zstack-ctl dump_mysql
  • 预期结果:数据库备份完成。
  1. 将新 mevoco-4.4.x.jar 上传到管理节点 /root/2026.3/。
  • 预期结果:替换文件已就位。
  1. 停止云平台服务:
  • 单管理:
     zstack-ctl stop
  • 双管理:
     zsha2 stop-node
  • 预期结果:平台服务已停止,允许替换 jar 包。
  1. 备份原 jar:
   cp /usr/local/zstack/apache-tomcat-8.5.87/webapps/zstack/WEB-INF/lib/mevoco-4.4.0.jar /root/2026.3/mevoco-4.4.0.jar.bak
  • 预期结果:保留原始文件供回退使用。
  1. 复制新 jar 到目标目录:
   cp /root/2026.3/mevoco-4.4.0.jar /usr/local/zstack/apache-tomcat-8.5.87/webapps/zstack/WEB-INF/lib/
  • 预期结果:新逻辑包替换完成。
  1. 调整文件属主:
   chown zstack:zstack /usr/local/zstack/apache-tomcat-8.5.87/webapps/zstack/WEB-INF/lib/mevoco-4.4.0.jar
  • 预期结果:文件权限与属主正确。
  1. 启动云平台服务:
  • 单管理:
     zstack-ctl start
  • 双管理:
     zsha2 start-node
  • 预期结果:平台恢复运行。
  1. 完成替换后开启高可用。
  • 预期结果:平台恢复正常运行。

验证方法

  • 再次启动目标云主机,确认不再出现卷数量与 XML 不一致报错。
  • 检查平台服务状态正常。
  • 检查高可用恢复正常。

风险与回滚

  • 风险:替换管理节点核心 jar 包可能导致平台服务异常或节点失联。
  • 风险等级:中。
  • 回滚步骤:使用备份的 mevoco-4.4.x.jar 覆盖还原。
自定义 XML 云主机启动异常修复补丁 | 产品补丁与更新 · KB | ZStack 资源中心