Назад | Перейти на главную страницу

Как я могу заставить Linux игнорировать уже обнаруженные разделы диска?

Я запускаю libvirt с QEMU / KVM, и у меня есть образы дисков для виртуальных машин в логических томах LVM. Естественно, многие гостевые виртуальные машины также используют LVM для своих дисков.

Я побежал partprobe на моем гипервизоре, и он обнаружил все гостевые разделы виртуальной машины, поэтому теперь инструменты 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. Гостевые ОС различаются.

Вы должны настроить фильтр LVM на хосте, чтобы отфильтровать обнаруженные нежелательные устройства LVM. Вот ссылка на официальную документацию:

http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/lvm_filters.html

что-то вроде filter = [ "r|/dev/VM_related_VG/*|" ] должно сработать

Вы можете избавиться от гостевых PV с помощью низкоуровневого dmsetup команда.

Чтобы удалить устройство, связанное с разделом 2 в образе диска vm1, запустите:

dmsetup remove /dev/mapper/vg_hostname_vms-lv_vm1p2

Это приведет к тому, что PV, VG и LV vm1 исчезнут из инструментов LVM хоста.