Print

cas虚拟机在线迁移失败的一种原因定位

2019-06-28发表

组网及说明

不涉及组网,cas版本为E0303.

问题描述

某局点以更改主机和存储的方式在线迁移一台虚拟机,该虚拟机挂有1T数据盘。由于迁移时间较长,迁移过程长,出于加快进度的操作,现场将该虚拟机在操作系统内部进行了关机操作。点击关机操作之后,过来许久,在前台有迁移失败的报错。如下图:

  





过程分析

1、查看后台的操作日志,发现确实有:增量文件“/vms/onestore/jjjkglxt458.1560444820246_2_542”blockcommit到基础文件失败的报错。

2、查看cas前台操作记录,确实没有关闭虚拟机的操作,证明现场确实是在虚机的操作系统内部关机的。

3、查看cvk的syslog,没有发现异常。

4、怀疑是在迁移过程中在虚拟机内部关机所致。

解决方法

查看cvm后台的cas.log日志发现如下报错:


有error: Requested operation is not valid: domain is not running报错,从而找到在线迁移失败的原因  。

具体原因是:迁移到最后,迁移进程退出,迁移退出的原因是: 从虚机里面关机,会将虚机qemu进程关闭掉,这时libvirt与qemu之间的连接会断开,而迁移是依赖这个连接的,所以报错。

建议:在线迁移的过程中,不要在虚拟机内部进行关机操作,或者 提前将虚拟机关机再进行操作。好在这个迁移失败的没有对虚拟机的磁盘造成损坏。