Linux
我如何告訴 Linux 忽略它已經發現的磁碟分區?
我正在使用 QEMU/KVM 執行 libvirt,並且我在 LVM 邏輯卷中有 VM 的磁碟映像。當然,許多來賓 VM 也將 LVM 用於其磁碟。
我
partprobe
在我的管理程序上執行,它檢測到所有 VM 來賓分區,所以現在 LVM 工具(pvs
、vgs
、lvs
等)列出了所有來賓的 LVM 實體以及主機的實體。有沒有辦法從主機的知識中刪除所有這些 LVM 物理卷(當然,不影響來賓)?重新啟動主機不是一種選擇;其中一些虛擬機需要保持執行。
萬一它有幫助,這就是LVM層的樣子,或多或少:
/dev/sdb1 - host PV | vg_hostname_vms - host VG | +-lv_vm1 - host LV, used as a disk image for vm1 | +-part1 - vm1 boot partition | +-part2 - vm1 PV | | | vg_vm1 - vm1 VG | +-lv_root - vm1 LV - / | +-lv_swap - vm1 LV - swap | +-lv_vm2 - host LV, used as a disk image for vm2 +-part1 - vm1 boot partition +-part2 - vm2 PV | vg_vm2 +-lv_root - vm2 LV - / +-lv_swap - vm2 LV - swap +-lv_home - vm2 LV - /home
現在,當我執行時
vgs
,這是我看到的:VG #PV #LV #SN Attr VSize VFree vg_hostname_vms 1 2 0 wz--n- 10.91t 9.53t vg_vm1 1 2 0 wz--n- 9.76g 0 vg_vm2 1 3 0 wz--n- 97.16g 0
我只想查看主機的捲組(以及它的物理捲和邏輯卷)。
我在 Scientific Linux 6.5 主機上執行所有這些。來賓作業系統各不相同。
您可以使用低級
dmsetup
命令擺脫來賓 PV。要刪除與 vm1 磁碟映像上的分區 2 關聯的設備,請執行:
dmsetup remove /dev/mapper/vg_hostname_vms-lv_vm1p2
這將導致 vm1 的 PV、VG 和 LV 從主機的 LVM 工具中消失。
您應該在主機上設置一個 LVM 過濾器,以過濾掉檢測到的不需要的 LVM 設備。這是官方文件的連結:
http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/lvm_filters.html
像
filter = [ "r|/dev/VM_related_VG/*|" ]
應該工作的東西