Skip to content

KVM 虚拟机清理记录 — szb122032/33/34/35/36/37

操作时间

2026-09-05 (CST)

操作目的

清空(删除定义 + 删除磁盘)szb122032 ~ szb122037 共 6 台虚拟机,回收磁盘空间。

清理前状态

  • 6 台 VM 均为 shut off,非 UEFI 启动(无 NVRAM)。
  • VM XML 中的磁盘路径为 /kvm/lib/libvirt/szb/(该目录已不存在,为历史遗留路径)。
  • 实际磁盘文件位于 /mnt/xfs/szb/szb/(qcow2 + cloud-init ISO),共约 90 GiB

操作步骤

1. 删除虚拟机定义

bash
for vm in szb122032 szb122033 szb122034 szb122035 szb122036 szb122037; do
  virsh undefine --remove-all-storage "$vm"
done

因 XML 中的磁盘路径已失效,libvirt 提示 “not managed by libvirt. Remove it manually.”, 域定义本身均已成功删除。

2. 手动删除实际磁盘文件

bash
rm -f /mnt/xfs/szb/szb/szb12203{2,3,4,5,6,7}.qcow2 \
      /mnt/xfs/szb/szb/szb12203{2,3,4,5,6,7}-cloud-init.iso
virsh pool-refresh szb

清理后状态

  • virsh list --all 中已无 szb122032 ~ szb122037。
  • /mnt/xfs/szb/szb/ 已清空,存储池 szb 中无卷。
  • /mnt/xfs 使用量由 584G 降至 495G,回收约 89 GiB

备注

  • default 网络中 6 台 VM 的静态 DHCP 租约条目(192.168.122.32~37)已保留; 如后续用 sz-rocky9-vm/create-vms-szb.sh 重建 VM,脚本会自动去重并重建这些条目。 如需彻底清除,可执行:

    bash
    for i in 32 33 34 35 36 37; do
      mac=$(printf '52:54:00:7a:%02x:%02x' $i $i)
      virsh net-update default delete ip-dhcp-host \
        "<host mac='$mac' name='szb122$i' ip='192.168.122.$i'/>" --live --config
    done