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

KVM, libvirt и LV внутри LV

У меня есть сервер Debian с KVM + libvirt. Диски виртуальных машин - это LV на хосте. Проблема в том, что если я создаю LV внутри гостей, они рекурсивно обнаруживаются на хосте, и это создает всевозможные проблемы, такие как невозможность правильно изменить размер или удалить LV.

Поэтому я добавил правило фильтра в /etc/lvm/lvm.conf вот так, чтобы исключить сканирование LV внутри других LV:

filter = [ "r|/dev/dm-*|", "a|/dev/sd.*|" ]

Теперь моя проблема: как заставить LVM повторно сканировать только «настоящие» VG и LV? Теперь у меня такие ошибки:

# lvs
  WARNING: Device for PV 73C0Ma-sAYV-Aa10-pAHB-ZAZA-3QjH-Rk1eTS not found or rejected by a filter.
  WARNING: Device for PV fcEG5k-BLzO-dbAr-Yw8o-dPw2-1hAk-VyluvW not found or rejected by a filter.
  LV              VG              Attr       LSize    Pool Origin    Data%  Meta%  Move Log Cpy%Sync Convert
  HaProxy         data            -wi-ao----   20,00g                                                       
  backup          data            -wi-ao----    4,00t                                                       
  database        data            -wi-ao----   16,00g                                                       
  lvol0           data            swi-a-s---   16,07g      stone-web 70,43                                  
  stone-vtls      data            -wi-ao----    2,00t                                                       
  stone-web       data            owi-aos---   16,00g                                                       
  lv0             ftpstorage      -wi-----p-   10,00t                                                       

Последний lv в этом случае фактически является LV от виртуальной машины, а не с хоста ... Как мне избавиться от него без перезагрузки хоста?

Согласно странице руководства pvscan и документации RHEL следующее должно работать: /etc/lvm/lvm.conf

global_filter = [ "r|/dev/dm-*|", "a|/dev/sd.*|" ]
pvscan --cache

https://www.systutorials.com/docs/linux/man/8-pvscan/

To prevent devices from being scanned by pvscan --cache,
add them to lvm.conf(5) devices/global_filter.
The devices/filter setting does not apply to system level
scanning. For more information, see:
    lvmconfig --withcomments devices/global_filter 

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lvm_filters