在线迁移虚拟机存储失败,虚拟机指向快照文件,后备文件未迁移完成

小宏 4月前 112

问题:

迁移至共享文件系统存储池时,由于存储池连接超时,迁移失败,并且失败后回滚也失败;

 

问题原因:

在线迁移虚拟机存储失败,虚拟机指向其快照文件,快照文件指向后备存储文件,造成有两个同名 kylin-develop;

 

修复方法:

1.修复存储池;

2.还原这个虚拟机可以进行以下操作

■在线方案:

1 ) 执行命令将虚拟机快照磁盘数据合并到原磁盘 :

virsh blockcommit 'wincloud-ctr1' '/vms/images/kylin-develop' --pivot--base '/vms/pool/sfs/603dda11-1b01-43a7-b416-98febfe7290a/kylin-develop'

2)删除快照磁盘:

rm -f '/vms/images/kylin-develop'

■离线方案:

1 ) 执行命令将虚拟机快照磁盘数据合并到原磁盘 :

qemu-img commit -d '/vms/images/kylin-develop'

2)删除快照磁盘:

rm -f '/vms/images/kylin-develop'

3)修改虚拟机配置,将虚拟机 sda 磁盘的路径改回原磁盘路径(注意修改磁盘类型,因为原磁盘有可能不是 qcow2 类型,而是 raw 类型)

virsh edit

将下面

<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='directsync' io='native'/>
<source file='/vms/images/kylin-develop'/>
<target dev='sda' bus='scsi'/>
<boot order='1'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

改为

<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='directsync' io='native'/>
<source file='/vms/pool/sfs/603dda11-1b01-43a7-b416-98febfe7290a/kylin-develop'/>
<target dev='sda' bus='scsi'/>
<boot order='1'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
最新回复 (0)
全部楼主
返回
发新帖