Linux

我如何告訴 Linux 忽略它已經發現的磁碟分區?

  • May 19, 2021

我正在使用 QEMU/KVM 執行 libvirt,並且我在 LVM 邏輯卷中有 VM 的磁碟映像。當然,許多來賓 VM 也將 LVM 用於其磁碟。

partprobe在我的管理程序上執行,它檢測到所有 VM 來賓分區,所以現在 LVM 工具(pvsvgslvs等)列出了所有來賓的 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/*|" ]應該工作的東西

引用自:https://serverfault.com/questions/639152