Print

CAS 虚拟机启动报错“internal error:backing store for xxx is self-referential”

组网及说明

背景说明:虚拟机由另一套CAS平台迁移过来,迁移方式为后台拷贝xml文件及虚拟机镜像,在目的平台(CAS 7.0)define的方式创建,其中define前有修改虚拟机xml文件及rebase操作。


该问题背景较为特殊,这种迁移动作非标准方案,请谨慎使用。

问题描述

虚拟机启动报错“internal error:backing store for xxx is self-referential”,如图


过程分析

该报错怀疑与rebase操作有关,可能是虚拟机多级镜像文建指向关系定义错误,于是登陆虚拟机所在CVK后台,使用命令:qemu-img info --backing-chain xxx查看虚拟机多级镜像文件指向关系,如图:


可以看到后台报错“成环”,无法正常显示。


进一步通过命令qemu-img info xxx 分别查看base0的镜像信息和base1的镜像信息,发现base1指向base0,而base0指向base1,如图:



到这里怀疑rebase命令使用错误,查看history记录如下图,确认命令无误,指向正确



因此,怀疑问题出现在base0侧,因为base0是基础镜像文件,正常情况下不会存在父镜像的。由于base0是由另一套平台拷贝过来的,怀疑拷贝操作问题导致,需要重新拷贝文件。

解决方法

确认原平台base0文件正常,重新拷贝至新平台,重新rebase、修改xml文件、define,之后启动虚拟机正常。


提醒:如有拷贝虚拟机磁盘文件的需要,一定要正常关闭虚拟机后再进行,否则如果出现数据未落盘情况,可能无法正常拉起虚拟机。