You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置KVM/QEMU/虚拟机管理器排除挂载点计算启动盘空间

解决KVM/QEMU虚拟机管理器磁盘空间误判问题

碰到过好多次libvirt(virt-manager背后的核心服务)误判磁盘空间的情况,刚好能解决你的问题——让它只盯着实际启动盘md1的空间,不再管/下其他挂载点的状态。

第一步:先搞清楚md1对应的挂载点

首先得确认md1到底挂载在哪个路径上,毕竟后续配置需要精准指定。在宿主机上跑这两个命令就行:

# 查看磁盘分区和挂载关系
lsblk -f
# 或者直接过滤md1的挂载信息
mount | grep md1

比如输出可能显示md1挂载在/var/lib/libvirt/images(这通常是虚拟机磁盘文件存放的路径),记下来这个路径或者设备名/dev/md1。

第二步:针对单个虚拟机配置(推荐,不影响其他机器)

如果只是个别虚拟机出问题,修改单个虚拟机的配置最稳妥:

  1. 用virsh命令编辑虚拟机的XML配置:
virsh edit <你的虚拟机名称>
  1. 在<domain>标签内部,添加或者修改<resource>节点(如果已经有这个节点,就替换里面的内容):
<resource>
  <!-- 这里填你刚才查到的md1的设备名或者挂载点路径 -->
  <partition>/dev/md1</partition>
  <diskspace>
    <unit>G</unit>
    <!-- 设置触发警告/暂停的最小可用空间,比如留10GB -->
    <available>10</available>
  </diskspace>
</resource>
  1. 保存退出后,重启虚拟机让配置生效:
virsh restart <你的虚拟机名称>

第三步:全局配置(所有虚拟机都生效)

如果要让所有虚拟机都只监控md1的空间,就修改libvirt的全局配置:

  1. 编辑/etc/libvirt/qemu.conf文件:
sudo nano /etc/libvirt/qemu.conf
  1. 找到diskspace_check_path这一行,去掉前面的注释(#),然后设置为md1的设备名或者挂载点:
# 比如用设备名
diskspace_check_path = "/dev/md1"
# 或者用挂载点路径
# diskspace_check_path = "/var/lib/libvirt/images"
  1. 保存后重启libvirt服务:
sudo systemctl restart libvirtd

第四步:验证配置是否生效

重启虚拟机后,用下面的命令查看磁盘监控状态,确认是不是只盯着md1了:

virsh domstats <你的虚拟机名称> | grep disk

或者直接打开virt-manager,查看虚拟机的资源监控面板,磁盘空间的监控目标应该已经变成md1对应的路径了。

额外小提示

如果虚拟机已经因为误判被暂停了,先跑virsh start <你的虚拟机名称>启动它,再配置上面的规则,避免再次触发暂停机制。

内容的提问来源于stack exchange,提问作者Jef20vt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:13:20