针对H3C CAS平台中因迁移失败而无法通过前台删除的虚拟机,您可以通过SSH登录到CVK(计算节点)后台,使用底层命令强制清理。请注意:此操作会直接删除虚拟机及其磁盘文件,且不可恢复,请务必确认该虚拟机已无业务价值并做好必要备份。
操作步骤
1. 登录CVK主机后台
使用SSH工具(如PuTTY)以 root 身份登录到该虚拟机所在的计算节点(CVK主机)。
2. 确认虚拟机的状态与信息
列出所有虚拟机,找到目标虚拟机的名称或ID。
virsh list --all
记录下目标虚拟机的名称(例如:VM_migrate_failed)或ID。
3. 强制关闭虚拟机(如果处于异常运行状态)
如果虚拟机状态为 running或 paused,先尝试关闭。
# 尝试正常关闭
virsh shutdown <虚拟机名称>
# 如果无效,强制关闭
virsh destroy <虚拟机名称>
4. 删除虚拟机定义
此命令会从libvirt管理列表中移除虚拟机,但不会删除磁盘文件。
virsh undefine <虚拟机名称> --managed-save --snapshots-metadata --nvram
参数说明:
--managed-save:删除关联的托管保存状态文件。
--snapshots-metadata:删除所有快照的元数据。
--nvram:删除NVRAM存储文件(如果存在)。
5. 定位并删除虚拟机磁盘文件
查找磁盘文件路径:在步骤4执行前,可通过以下命令查看虚拟机的磁盘信息。
virsh dumpxml <虚拟机名称> | grep -i "source file"
或者,在CAS前台查看该虚拟机的存储信息,记录其磁盘文件路径(通常位于 /vms/目录下)。
删除磁盘文件:登录到存储池所在的目录,使用 rm命令删除对应的磁盘文件(如 .qcow2, .raw等)。
# 示例:进入存储目录并删除文件(请替换为实际路径)
cd /vms/your_pool/
rm -f VM_migrate_failed.qcow2
重要:如果虚拟机有多个磁盘(系统盘、数据盘),请一并删除。
6. 清理CAS数据库中的残留记录(可选但推荐)
仅删除底层文件后,CAS管理界面的虚拟机列表中可能仍会残留一条“异常”记录。您可以通过CAS的CLI命令或重启CVM(管理节点)服务来尝试清理。
使用CAS CLI命令(在CVM节点上执行):
# 登录CVM节点,进入CLI
cvcli
# 删除虚拟机记录
delete vm <虚拟机名称>
重启CVM服务(如果上述命令无效):
service cvk restart
注意事项与风险提示
数据丢失风险:此操作会永久删除虚拟机及其所有磁盘数据,无法恢复。操作前请再次确认。
影响范围:确保目标虚拟机已无任何业务负载,且未与其他服务(如负载均衡、备份策略)关联。
命令准确性:virsh undefine命令的参数因CAS版本和虚拟机配置而异,请根据实际情况调整。如果不确定,可先执行 virsh undefine --help查看帮助。
存储空间:删除磁盘文件后,存储空间不会立即释放(如果使用稀疏文件)。如需彻底释放,可在存储池中执行整理操作。
迁移任务残留:如果迁移任务本身在CAS任务列表中仍有残留,请在CAS前台“任务管理”或“迁移管理”中查找并清除该失败任务。
后续建议
完成清理后,建议:
在CAS前台刷新页面,确认虚拟机列表已更新。
检查源主机和目标主机的存储空间是否恢复正常。
分析此次迁移失败的根本原因(如网络、存储、版本兼容性等),避免同类问题再次发生。
如果操作中遇到问题或不确定具体路径,建议联系H3C技术支持(400-810-0504)获取协助。
暂无评论
virsh list --all
vm-migrate-failed。# 正常关(能关就用)
virsh shutdown vm-migrate-failed
# 关不掉就强制销毁
virsh destroy vm-migrate-failed
# 彻底注销(含快照/保存状态/NVRAM)
virsh undefine vm-migrate-failed --managed-save --snapshots-metadata --nvram
# 查磁盘路径(qcow2/raw)
virsh dumpxml vm-migrate-failed | grep -i "source file"
# 示例输出(按实际路径删)
# <source file='/vms/your-pool/vm-migrate-failed.qcow2'/>
# 删除磁盘(多盘就多删)
rm -f /vms/your-pool/vm-migrate-failed.qcow2
cvcli
delete vm vm-migrate-failed
service cvmd restart。# 强制销毁+注销+删所有磁盘(高危!先备份)
virsh destroy vm-migrate-failed
virsh undefine vm-migrate-failed --remove-all-storage --managed-save --snapshots-metadata --nvram
virsh dumpxml结果为准,别删错其他 VM 文件。暂无评论
1virsh list --allshut off 或异常状态)的虚拟机,记下它的 Name(名称)或 Id。1virsh destroy <虚拟机名称或ID>Domain not found,说明虚拟机进程已经不存在,可以直接进行下一步。1virsh undefine <虚拟机名称或ID>virsh list --all 的列表中消失。virsh undefine 只会删除虚拟机的配置文件,不会自动删除占空间的磁盘文件(如 .qcow2 或 .img 文件)。1virsh domblklist <虚拟机名称或ID>rm 命令删除对应的磁盘文件即可(请务必谨慎操作,避免误删其他正常虚拟机的磁盘)。暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论