问题:
迁移至共享文件系统存储池时,由于存储池连接超时,迁移失败,并且失败后回滚也失败;
问题原因:
在线迁移虚拟机存储失败,虚拟机指向其快照文件,快照文件指向后备存储文件,造成有两个同名 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>