故障原因分析
物理机本地空闲存储为 0GB(核心原因):
这是导致虚拟机卡死、无法进入系统、无法操作的根本原因。虚拟化平台(KVM/CAS)需要物理磁盘空间来写入虚拟机运行时的日志、内存交换文件以及磁盘数据的增量更改。
当物理磁盘空间为 0 时,底层 QEMU 进程会挂起(Pause)虚拟机以保护数据,或者在尝试写入时发生 IO Error,导致系统内卡死。
显示文件大小 40GB,实际占用 95GB(快照/增量文件问题):
这是 H3C CAS(基于 KVM)的存储特性。您看到的 40GB 是虚拟机的“逻辑规划大小”,而 95GB 是物理磁盘上的实际占用文件(qcow2 格式)。
快照膨胀:当您创建快照后,原始磁盘文件变为“只读”,新产生的数据会写入一个新的增量文件中。如果长时间不删除(合并)快照,或者频繁修改数据,这个增量文件会变得非常大。
您提到“前周做过全量备份,手动删除了”,如果备份机制在后台残留了未合并的快照节点,或者您删除的方式不对(直接在后台删文件而非通过平台),都会导致磁盘文件异常膨胀。
注意: 由于物理机存储已满,任何“写”操作(包括启动虚拟机、合并快照)都可能失败。第一步必须是清理物理机上的垃圾文件以腾出缓冲空间。
请通过 SSH 工具(如 PuTTY, CRT)登录到该 CVK 物理主机的后台(默认端口 22,用户 root)。
在 CVK 物理机后台执行以下命令,确认是哪个分区满了(通常是 /vms 或 /var/lib/libvirt):
df -h
查看输出中 Use% 为 100% 的挂载点。H3C CAS 通常将本地存储挂载在 /vms 目录下。
我们需要先腾出至少 5GB-10GB 的空间,才能让系统恢复响应并进行后续修复。
查找大文件:
进入存储目录(假设为 /vms,请根据第一步结果调整):
cd /vms
du -sh * | sort -hr | head -n 10
安全删除的目标建议:
ISO 镜像文件: 查找 .iso 结尾的文件,这些通常可以重新上传,删除不影响运行。
# 示例:删除所有ISO文件(请务必确认不需要)
rm -f /vms/isos/*.iso
Core Dump 文件(系统崩溃转储): 物理机如果有过崩溃,可能会产生巨大的 core 文件。
find /vms -name "core.*"
# 如果确认是 core dump 文件,可以删除
日志文件: 检查 /var/log 下是否有巨大的日志包。
无关紧要的已关闭虚拟机: 如果有其他不重要的测试虚拟机(处于关机状态),建议先删除其磁盘文件以释放空间。
警告: 绝对不要手动删除故障虚拟机的磁盘文件(通常是 .img 或 .qcow2),也不要删除任何您不确定用途的 back 或 snap 文件,否则数据将无法恢复。
当您腾出约 5GB 以上空间后,虚拟机可能暂时恢复响应,但为了彻底解决 95GB 占用问题,需要合并快照。
检查虚拟机磁盘链状态:
找到故障虚拟机的磁盘文件路径(例如 disk_name):
qemu-img info /vms/images/您的虚拟机磁盘文件名
查看输出中的 backing file 字段。如果存在 backing file,说明存在快照链。
通过 CAS 前台合并(推荐):
登录 H3C CAS 管理平台。
找到该虚拟机 -> 修改 -> 快照管理。
如果您能看到快照列表,选择删除快照。
注意: 在 CAS 中,“删除快照”实际上执行的是 Merge(合并) 操作,它会将增量数据合并回原始磁盘,从而释放空间。
如果前台看不到快照,但后台通过 qemu-img info 确实看到了 backing file,说明快照链在数据库中丢失了(由于之前的“手动删除”操作),这需要通过后台命令修复。
后台手动合并(仅当前台无法操作时使用):
如果前台无法合并,且您已腾出足够空间,可以使用 virsh blockcommit(在线合并)或 qemu-img commit(离线合并)。
离线合并方案(较安全,需虚拟机处于关机状态):
# 1. 确保虚拟机已关闭
virsh destroy <虚拟机名称>
# 2. 执行合并(将增量层合并到底层)
# 假设 disk_snap.qcow2 是当前使用的 95GB 文件,它的 backing file 是 disk_base.qcow2
# 下面命令会将 disk_snap 的内容合并回 disk_base,合并后 disk_base 会变大,但总占用会变小
qemu-img commit /vms/images/当前巨大的磁盘文件
如果您实在无法在本地物理机删除任何文件(没有 ISO,没有其他 VM):
准备外部存储: 找一个 USB 移动硬盘或者挂载一个 NFS/FTP 存储。
迁移大文件: 将该 95GB 的虚拟机磁盘文件 mv (移动) 到外部存储中。
腾出空间: 移动完成后,本地空间释放。
重新导入: 在外部存储或重新规划后的空间中恢复该磁盘文件。
建议您立即按照以下顺序执行:
SSH 登录物理机后台。
执行 df -h 确认 /vms 目录 100% 满。
执行 rm 命令删除不用的 ISO 镜像或其他非关键虚拟机的磁盘,目标是腾出至少 5GB 空间。
空间腾出后,尝试在 CAS 前台重启虚拟机。
若能启动,立即在 CAS 前台删除所有快照以整合磁盘空间。
如果您在执行 df -h 或寻找大文件时遇到困难,请把命令的回显内容贴给我,我来帮您判断哪些文件可以删。
麻烦看下 寻找大文件的回显 root@ hlw-001:/# df - h Filesystem Size Used Avail Use% Mounted on / dev/sda 128G 18G 8.3G 69% / udev 47G 12K 47G1%/ dev tmpfs19G 448K 19G1% / run none5.0M0 5.0M 0% / run/ lock none48G16K 48G 1% / run/ shm cgroup48G0 48G 0% / sys/ fs/ cgroup / dev/sda7139G 139G0 100% / vms / dev/sda519G 3.6G 14G 21% / var/ log / dev/ sdc2.0T 1.9T 177G 92% / vms/FCstor-hlw root@ hlw-001:/# cd / vms root@ hlw-001:/ vms# du - sh * | sort - hr | head - n 10 1.9T FCstor-hlw 116G images 17G templet 5.2 Gisos 17M initrd. img-3.13.6 2.9M 2016hlw 976K bnx2x. ko 596K tmpDomain 128K downloadCVM 16K tmp
大佬在哪
问题诊断: 通过您提供的 df -h 和 du -sh 命令结果,情况已经完全明确: 故障点:/dev/sda7 挂载在 /vms 目录,总大小 139G,已使用 139G,使用率 100%。这就是导致物理机无法写入任何数据、虚拟机卡死的根本原因。 空间占用分析: 116G images:这是虚拟机磁盘文件目录(核心数据,绝对不能动)。 17G templet:这是虚拟机模板文件目录(存放您之前制作的系统模板)。 5.2G isos:这是上传的操作系统安装镜像(ISO文件)。 紧急处理方案: 目前您最安全、最快速的“救命”办法是删除 /vms/isos 目录下的 ISO 镜像文件。这可以立刻释放 5.2GB 的空间,足以让宿主机恢复正常读写,让您可以启动虚拟机或进行后续的快照合并操作。 请依次执行以下命令: 第一步:删除 ISO 镜像文件(最安全) 进入目录并确认文件: Bash cd /vms/isos ls -lh (您会看到一些 .iso 结尾的安装包,例如 Windows.iso 或 CentOS.iso) 执行删除: Bash rm -f *.iso (该命令会删除当前目录下的所有 iso 文件。ISO文件后续可以随时重新上传,不影响现有虚拟机的运行) 验证空间释放: Bash df -h /vms (此时 Avail 列应该显示有约 5.0G 的可用空间,Use% 会降下来) 第二步:如果空间还不够(处理模板文件) 如果删除 ISO 后空间依然非常紧张(比如不足 2GB),您可以检查 templet 目录。 查看模板文件: Bash cd /vms/templet ls -lh 删除不用的旧模板(如果有): 模板通常是 base_ 开头或者您命名的文件夹。 确认不再需要该模板后,可以使用 rm -rf 目录名 删除。 如果不确定模板是否在使用,请跳过此步,优先只删 ISO。 第三步:恢复虚拟机(关键) 一旦 df -h 显示 /vms 有 5GB 以上的空闲空间: 回到 H3C CAS 管理前台网页。 尝试启动那台故障的虚拟机。 立刻处理快照: 虚拟机启动成功后,在 CAS 前台找到该虚拟机 -> 修改 -> 快照管理。 如果您能看到快照,请执行 “删除快照”(这会触发合并操作,将那 95GB 的占用空间逐步整合释放)。 注意:合并快照期间,磁盘 I/O 会很高,请耐心等待,不要强制关机。 请立即执行第一步的删除 ISO 操作,然后告诉我结果。
root@ hlw-001:/# cd / vms/ isos root@ hlw-001:/ vms/ isos# ls - lh total 408M -rw-r--r- - 1 root root 401M Jan 232022 castools. iso -rw-r--r- - 1 root root 7.5M Mar192016 h3cvm-tools-setup. iso druxr-x-- - 2 root root 4.0K Aug117:30iso drwxr-x-- - 2 root root4.0K Jan232022vfd lrwxrwxrwx 1 root root38 Jan 232022virtio-win10. iso-> / vms/ isos/ iso/ virtio-win10-0.1.185. iso lrwxrwxrwx 1 root root38 Jan 232022virtio-win10. vfd - > / vms/ isos/ vfd/ virtio-win10-0.1.185. vfd lrwxrwxrwx1 root root40 Jan 232022virtio-win2003. iso-> / vms/ isos/ iso/ virtio-win2003-0.1.185. iso lrwxrwxrwx1 root root40 Jan 232022virtio-win2003. vfd - > / vms/ isos/ vfd/ virtio-win2003-0.1.185. vfd lrwxrwxrwx1 root root40 Jan 232022virtio-win2008. iso-> / vms/ isos/ iso/ virtio-win2008-0.1.185. iso lrwxrwxrux1 root root40 Jan 232022virtio-win2008. vfd - > / vms/ isos/ vfd/ virtio-win2008-0.1.185. vfd lrwxrwxrwx1 root root42 Jan 232022virtio-win2008R2. iso-> / vms/ isos/ iso/ virtio-win2008R2-0.1.185. iso lrwxrwxrwx1 root root42 Jan 232022virtio-win2008R2. vfd - > / vms/ isos/ vfd/ virtio-win2008R2-0.1.185. vfd lrwxrwxrwx1 root root40 Jan 232022virtio-win2012. iso-> / vms/ isos/ iso/ virtio-win2012-0.1.185. iso lrwxrwxrwx1 root root40 Jan 232022virtio-win2012. vfd - > / vms/ isos/ vfd/ virtio-win2012-0.1.185. vfd lrwxrwxrwx 1 root root42 Jan 232022virtio-win2012R2. iso-> / vms/ isos/ iso/ virtio-win2012R2-0.1.185. iso lrwxrwxrwx 1 root root42 Jan 232022virtio-win2012R2. vfd - > / vms/ isos/ vfd/ virtio-win2012R2-0.1.185. vfd lrwxrwxrwx 1 root root40 Jan 232022virtio-win2016. iso-> / vms/ isos/ iso/ virtio-win2016-0.1.185. iso lrwxrwxrwx 1 root root40 Jan 232022virtio-win2016. vfd - > / vms/ isos/ vfd/ virtio-win2016-0.1.185. vfd lrwxrwxrwx 1 root root40 Jan 232022virtio-win2019. iso-> / vms/ isos/ iso/ virtio-win2019-0.1.185. iso lrwxrwxrwx 1 root root40 Jan 232022virtio-win2019. vfd - > / vms/ isos/ vfd/ virtio-win2019-0.1.185. vfd lrwxrwxrwx 1 root root37 Jan 232022virtio-win7. iso-> / vms/ isos/ iso/ virtio-win7-0.1.185. iso lrwxrwxrwx 1 root root37 Jan 232022virtio-win7. vfd - > / vms/ isos/ vfd/ virtio-win7-0.1.185. vfd lrwxrwxrwx 1 root root39 Jan 232022virtio-win8.1. iso-> / vms/ isos/ iso/ virtio-win8.1-0.1.185. iso lrwxrwxrwx 1 root root39 Jan 232022virtio-win8.1. vfd - > / vms/ isos/ vfd/ virtio-win8.1-0.1.185. vfd lrwxrwxrwx 1 root root37 Jan 232022virtio-win8. iso-> / vms/ isos/ iso/ virtio-win8-0.1.185. iso lrwxrwxrwx 1 root root37 Jan 232022virtio-win8. vfd - > / vms/ isos/ vfd/ virtio-win8-0.1.185. vfd lrwxrwxrwx 1 root root38 Jan 232022 virtio-winxp. iso-> / vms/ isos/ iso/ virtio-winxp-0.1.185. iso lrwxrwxrwx 1 root root38 Jan 232022 virtio-winxp. vfd - > / vms/ isos/ vfd/ virtio-winxp-0.1.185. vfd drwxr-xr-x 2 root root 4.0K Dec 22019 vmbackuptmp root@h1w-001:/ vms/ isos# rm - f *.iso
root@ hlw-001:/ vms/ isos# rm - f *.iso root@h1w-001:/ vms/ isos# df - h/ vms df: invalid option - - '/' Try ` df - - help' for more information. root@ hlw-001:/ vms/ isos# df - h / vms FilesystemSize Used Avail Use% Mounted on / dev/sda7139G 130G 1.3G 100% / vms root@ hlw-001:/ vms/ isos# cd / vms/ templet root@ hlw-001:/ vms/ templet# ls centos6.5–64bit win2008mbj win10 8r2 我这边已经把.iso文件清理了,但好像只腾出1.3G空间;然后查看虚拟机模板好像没找到虚拟机模板的文件
猜测是清理镜像文件腾出的1.3G空间,让卡住的“删除快照”进程得以继续执行,才最终腾出49G的空间
感谢大佬指点
才看见,弄好了就行
根本原因:CAS物理主机(hlw-001)的本地存储池 defaultpool已完全写满(可用空间为 0.00B),导致存放于该存储池上的虚拟机磁盘文件(wgwlgjxt.qcow2)无法进行任何写入操作,从而引起虚拟机系统崩溃。
wgwlgjxt.qcow2(图2红框):defaultpool存储空间的罪魁祸首。hlw-001的系统后台。/vms/images目录(即defaultpool的路径)下是否有可以清理的临时文件、残留的虚拟机文件或旧的日志文件。操作前务必确认文件可删!defaultpool上还有其他虚拟机磁盘(如 centos6.5-64bitcentos-40gb.qcow2和 win2008r2.qcow2)。FCstor-hlw上。FCstor-hlw上。这是最安全、最可靠的方法。defaultpool有足够空间。FCstor-hlw共享存储上重新创建一台虚拟机,然后重新安装配置应用系统。FCstor-hlw)上。defaultpool的可用空间不为0,虚拟机就有恢复的可能。请优先考虑迁移或删除那两台非核心的虚拟机(centos和win2008r2),这是最快的方法。希望这些步骤能帮助您解决问题!defaultpool存储池,寻找任何可以快速释放空间的方法:defaultpool下有其他废弃的虚拟机模板或ISO文件,将其删除。defaultpool上另一台不重要的虚拟机(如您之前提到的 centos6.5或 win2008r2)关机并迁移(Migrate)到尚有空间的共享存储 FCstor-hlw上。迁移完成后,其本地磁盘文件会被自动删除,这将释放大量空间。defaultpool的可用空间从 0GB 变为一个正数(例如,至少5-10GB)。FCstor-hlw共享存储上重新部署一台新的虚拟机。qemu-img等命令手动检查和修复受损的qcow2镜像文件。此操作专业性极高,有数据丢失风险,切勿自行尝试。defaultpool本地存储池腾出可用空间(至少5-10GB)。最快的方法是迁移或删除其他虚拟机。现在尝试清理”违规外联告警系统”虚拟机的多个历史快照,任务台显示此任务状态99%,是不是清理任务卡住了
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
才看见,弄好了就行