适用场景
- 产品:
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 后。
判断方法
- 复现云主机启动失败并确认错误信息包含卷数量不一致。
- 确认管理节点当前使用的是原始
mevoco-4.4.x.jar。 - 替换 jar 后重新启动平台服务,验证问题是否消失。
原因说明
该问题的处理方式是手动更新 mevoco-4.4.x.jar,表明异常与管理节点中的相关逻辑包有关,而非云主机本身配置单独损坏。
解决方案
- 执行前准备
- 风险等级:中风险
- 先关闭云主机全局高可用。
- 先备份平台数据库。
- 把新
mevoco-4.4.x.jar上传到管理节点/root/2026.3/。
- 处理步骤
- 关闭云主机全局高可用。
- 预期结果:避免变更期间触发高可用动作。
- 备份平台数据库:
zstack-ctl dump_mysql
- 预期结果:数据库备份完成。
- 将新
mevoco-4.4.x.jar上传到管理节点/root/2026.3/。
- 预期结果:替换文件已就位。
- 停止云平台服务:
- 单管理:
zstack-ctl stop
- 双管理:
zsha2 stop-node
- 预期结果:平台服务已停止,允许替换 jar 包。
- 备份原 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
- 预期结果:保留原始文件供回退使用。
- 复制新 jar 到目标目录:
cp /root/2026.3/mevoco-4.4.0.jar /usr/local/zstack/apache-tomcat-8.5.87/webapps/zstack/WEB-INF/lib/
- 预期结果:新逻辑包替换完成。
- 调整文件属主:
chown zstack:zstack /usr/local/zstack/apache-tomcat-8.5.87/webapps/zstack/WEB-INF/lib/mevoco-4.4.0.jar
- 预期结果:文件权限与属主正确。
- 启动云平台服务:
- 单管理:
zstack-ctl start
- 双管理:
zsha2 start-node
- 预期结果:平台恢复运行。
- 完成替换后开启高可用。
- 预期结果:平台恢复正常运行。
验证方法
- 再次启动目标云主机,确认不再出现卷数量与 XML 不一致报错。
- 检查平台服务状态正常。
- 检查高可用恢复正常。
风险与回滚
- 风险:替换管理节点核心 jar 包可能导致平台服务异常或节点失联。
- 风险等级:中。
- 回滚步骤:使用备份的
mevoco-4.4.x.jar覆盖还原。
