物理机磁盘损坏无法克隆虚拟机

1. 问题

物理机raid5由多块磁盘组成,其中一块损坏后,没有及时补充,之后又有一块磁盘损坏,通过降级状态添加磁盘进行了rebuild进行恢复。但克隆虚拟机或者创建虚拟机会直接卡死,命令不继续执行

plain 复制代码
$ virt-clone -o  CentOS7-template2 -n  192-168-0-189 -f /data/kvm/images/192-168-0-189.qcow2  --auto-clone
执行后卡着不动

2. 排查

  1. 查看服务日志
plain 复制代码
$ journalctl -u libvirtd -f
2024-05-15 03:09:20.275+0000: 202836: error : virNetSocketReadWire:1806 : 读取数据时进入文件终点: 输入/输出错误
2024-05-15 03:21:26.725+0000: 202836: error : virNetSocketReadWire:1806 : 读取数据时进入文件终点: 输入/输出错误
  1. 复制虚拟机qcow2文件,发现文件大小会变得特别大,原来是 10GB,复制到其他物理机变成 100GB。怀疑磁盘相关数据文件损坏,libvirt服务相关依赖损坏,之后准备升级重启服务。

3. 解决

升级libvirt服务,用于修复 libvirt 异常组件

plain 复制代码
$ yum update qemu-kvm libvirt libvirt-client -y

如果 qcow2 迁移后文件过大有异常,可尝试用下边命令,将虚拟机磁盘镜像从一种格式转换为另一种格式,并在此过程中进行压缩:

plain 复制代码
$ qemu-img convert -O qcow2 -c 源.qcow2 目标.qcow2
相关推荐
炸炸鱼.1 天前
KVM 高级功能部署实战手册(静态迁移 + 动态迁移 + KSM 内存优化)
kvm
炸炸鱼.2 天前
KVM 虚拟化平台部署实战手册
kvm
云达闲人4 天前
搭建DevOps企业级仿真实验环境:002Proxmox 系统安装流程详解
运维·虚拟化·devops·kvm·proxmox·实验环境搭建·web管理
黑蛋同志13 天前
KVM虚拟化热迁移
运维·虚拟化·kvm
白毛大侠15 天前
Docker vs 虚拟机 vs Go 用户态/内核态:这三组概念
运维·docker·golang·kvm
养乐多q.♡1 个月前
AIMaLinux系统上通过KVM创建了windows10系统,在windows10系统中通过NFS分享文件夹到内网上可以挂载
虚拟机·kvm·nfs挂载·aimalinux
real向往1 个月前
KVM虚拟机管理(X86/ARM)
arm·kvm·x86·虚拟机管理
tianyuanwo3 个月前
KVM 虚拟化启动失败深度解析:从硬件到软件的系统性故障排除
kvm·virsh create
人间打气筒(Ada)3 个月前
GlusterFS实现KVM高可用及热迁移
分布式·虚拟化·kvm·高可用·glusterfs·热迁移