Настройка фильтров lvm.conf¶
Для того,чтобы диски виртуальной машины, подключенные к вычислительному узлу как сетевые блочные устройства (по FiberChannel или iSCSI) не сканировались системой LVM узла, требуется настройка фильтров lvm.conf.
Если фильтры не настраивать, возможно появление ошибки команды flush для multipath с сообщением «map in use».
Настройка осуществляется путём добавления параметра filter
в раздел devices
файла /etc/lvm/lvm.conf
.
Так как формат файла lvm.conf
специфичен, для корректной или автоматизированной настройки можно использовать утилиту augtool
. Вы можете установить пакет командой apt -y install augeas-tools
.
Пример использования с предварительной проверкой на отсутствие настроенных фильтров:
[ $(augtool print /files/etc/lvm/lvm.conf/devices/dict/filter | wc -l) -gt 0 ] && echo "Filters aren't empty! Check manually!" || bash -c 'augtool -s set /files/etc/lvm
/lvm.conf/devices/dict/filter/list/1/str "a|/dev/sda$|" ; augtool set -s /files/etc/lvm/lvm.conf/devices/dict/filter/list/2/str "r|.*|"'
В данном примере добавляются два значения в параметр filter:
a|/dev/sda$|
- для диска, на котором установлена хостовая ОС разрешение на сканирование,
r|.*|
- для всех остальных дисков запрет.
Запись в файле будет выглядеть так:
devices = {
...
...
filter = [ "a|/dev/sda$|", "r|.*|" ]
}
Для конкретной установки облака и конфигурации вычислительного узла фильтры могут быть другие. Для выбора своей схемы обратитесь к документации по lvm2. Конечная цель настройки фильтров состоит в том, чтобы система LVM вычислительного Узла не подключала к узлу LV виртуальных машин. Следует также учитывать, что при использовании multipath, диски будут представлены в системе многократно: как scsi-устройства для каждого отдельного пути и как multipath-устройство.
После настройки фильтров при подключении диска к машине в /var/log/syslog
на вычислительном узле можно будет увидеть такую запись:
lvm[15513]: pvscan[15513] /dev/mapper/36fc73fb10023e21aa52faf9b00000384-part5 excluded by filters: device is rejected
by filter config.