一、模板虚拟机更新失败或无法更新的几种常见情况
1、模板虚拟机未关机
当模板虚拟机处于开机状态时,无法进行“更新模板虚拟机” 以及派生虚拟机的操作。
2、VMP开启了“维护模式”
在“维护模式”的状态下,无法“更新模板虚拟机”。
日志报错图:
3、服务器剩余存储空间不足
当服务存储利用率超过90%或剩余空间不足以支持更新的操作时,会“更新模板虚拟机”失败。
更新失败图:
以上三种问题的解决方案:关闭模板虚拟机;关闭维护模式;增加磁盘。
昨天(3月10日)去一个学校给VMP服务器进行升级,升级成功后,在对模板虚拟机进行更新操作时,提示更新模板“失败”。
更新失败截图:
解决流程:
一、恢复快照文件
看到“镜像文件损坏“几个字时,第一个反应时,虚拟机文件出现了问题,那就恢复一下,恢复到2015年10月的状态。
打开虚拟机详情,备份。
选择去年10月的快照文件,点击”恢复“
选择”原位置“,点击”下一步“。
输入”OK“,点击”立即恢复“。
恢复成功之后”备份“界面:
回滚到2015年10月状态后,发现在进行”模板虚拟机“更新操作时,依旧提示失败。
于是恢复到更早的一个时间点,2015年5月。依旧失败。
难道2015年5月份的虚拟机也出问题了,于是在管理--操作日志下查看一个最近的更新日志,发现在2016年1月份有进行”更新“的操作,也就说明2015年的虚拟机模板肯定没有问题。那问题就有可能不是虚拟机文件出了问题。
查看操作日志:
二、进入设备后台查看运行日志
1、使用 cd data/local/image 命令进入VMP存储镜像文件夹
在镜像文件夹下找到模板虚拟机的文件夹
模板虚拟机文件夹图:
其中VM-disk-1.qcows2是模板虚拟机的系统盘。
2、使用 qemu-img checkfilename 命令检查镜像文件是否有问题
对磁盘镜像文件进行一致性检查,查找镜像文件中的错误
leaked cluster:泄露文件簇
执行命令结果显示:在这个镜像中发现有4个泄露的文件集,这表示有一部分空间被浪费,但并不会对当前数据造成损坏。
3、使用 qemu-imgcheck -r leaks -f filename 命令对泄露的文件进行恢复
修复泄露文件簇,并对修复后的文件进行错误校验。
4、使用 qemu -img check-f filename 对修复后的文件进行检查
5、然后再更新模板虚拟机,更新成功。
问题总结:
更新不成功的原因:在更新的过程中,系统检测到了泄露文件的告警信息,然后系统就中断了更新操作。但这个泄露的文件对镜像没有损坏,不影响系统的正常使用,在后台将这个告警信息过滤掉就好了。
官方近期会发布修复这个bug的补丁包。
以上操作由400远程协助,如果出现类似问题,可直接联系400。
感谢当天帮我处理问题的:1040、2164和adesk技术支持。
PS:1、升级有风险,升级前请提前做好备份。
2、解决极域电子教室卡钝问题的终极解决方案是:更新2015极域标准版(20160104)。