
On Tue, Mar 22, 2022 at 7:17 PM Nir Soffer <nsoffer@redhat.com> wrote:
On Tue, Mar 22, 2022 at 6:57 PM Abe E <aellahib@gmail.com> wrote:
Yes it throws the following:
This is the recommended LVM filter for this host:
filter = [
"a|^/dev/disk/by-id/lvm-pv-uuid-DxNDT5-3NH3-I1YJ-0ajl-ah6W-M7Kf-h5uZKU$|", "a|^/dev/disk/by-id/lvm-pv-uuid-Yepp1J-dsfN-jLh7-xCxm-G7QC-nbaL-6rT2KY$|", "r|.*|" ]
This is not complete output - did you strip the lines explaining why we need this filter?
This filter allows LVM to access the local devices used by the hypervisor, but not shared storage owned by Vdsm. If you add a new device to the volume group, you will need to edit the filter manually.
This is the current LVM filter:
filter = [
"a|^/dev/disk/by-id/lvm-pv-uuid-3QbgiW-WaOV-ejW9-rs5R-akfW-sUZb-AXm8Pq$|", "a|^/dev/sda|", "r|.*|" ]
So the issue is that you likely have a stale lvm filter for a device which is not used by the host.
To use the recommended filter we need to add multipath blacklist in /etc/multipath/conf.d/vdsm_blacklist.conf:
blacklist { wwid "364cd98f06762ec0029afc17a03e0cf6a" }
WARNING: The current LVM filter does not match the recommended filter, Vdsm cannot configure the filter automatically.
Please edit /etc/lvm/lvm.conf and set the 'filter' option in the 'devices' section to the recommended value.
Make sure /etc/multipath/conf.d/vdsm_blacklist.conf is set with the recommended 'blacklist' section.
It is recommended to reboot to verify the new configuration.
I updated my entry to the following (Blacklist is already configured
filter = [ "a|^/dev/disk/by-id/lvm-pv-uuid-DxNDT5-3NH3-I1YJ-0ajl-ah6W-M7Kf-h5uZKU$|","a|^/dev/disk/by-id/lvm-pv-uuid-Yepp1J-dsfN-jLh7-xCxm-G7QC-nbaL-6rT2KY$|","a|^/dev/sda|","r|.*|" ]
although then it threw this error
[root@ovirt-2 ~]# vdsm-tool config-lvm-filter Analyzing host... Parse error at byte 106979 (line 2372): unexpected token Failed to load config file /etc/lvm/lvm.conf Traceback (most recent call last): File "/usr/bin/vdsm-tool", line 209, in main return tool_command[cmd]["command"](*args) File "/usr/lib/python3.6/site-packages/vdsm/tool/config_lvm_filter.py", line 65, in main mounts = lvmfilter.find_lvm_mounts() File "/usr/lib/python3.6/site-packages/vdsm/storage/lvmfilter.py",
vg_name, tags = vg_info(name) File "/usr/lib/python3.6/site-packages/vdsm/storage/lvmfilter.py",
lv_path File "/usr/lib/python3.6/site-packages/vdsm/storage/lvmfilter.py",
from before): line 170, in find_lvm_mounts line 467, in vg_info line 566, in _run
out = subprocess.check_output(args) File "/usr/lib64/python3.6/subprocess.py", line 356, in check_output **kwargs).stdout File "/usr/lib64/python3.6/subprocess.py", line 438, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['/usr/sbin/lvm', 'lvs',
'--noheadings', '--readonly', '--config', 'devices {filter=["a|.*|"ed non-zero exit status 4.
I'm not sure if this error comes from the code configuring lvm filter, or from lvm.
The best way to handle this depends on why you have lvm filter that vdsm-tool cannot handle.
If you know why the lvm filter is set to the current value, and you know that the system actually need all the devices in the filter, you can keep the current lvm filter.
If you don't know why the curent lvm filter is set to this value, you can remove the lvm filter from lvm.conf, and run "vdsm-tool config-lvm-filter" to let the tool configure the default filter.
In general, the lvm filter allows the host to access the devices needed by the host, for example the root file system.
If you are not sure what are the required devices, please share the the *complete* output of running "vdsm-tool config-lvm-filter", with lvm.conf that does not include any filter.
Example of running config-lvm-filter on RHEL 8.6 host with oVirt 4.5: # vdsm-tool config-lvm-filter Analyzing host... Found these mounted logical volumes on this host: logical volume: /dev/mapper/rhel-root mountpoint: / devices: /dev/vda2 logical volume: /dev/mapper/rhel-swap mountpoint: [SWAP] devices: /dev/vda2 logical volume: /dev/mapper/test-lv1 mountpoint: /data devices: /dev/mapper/0QEMU_QEMU_HARDDISK_123456789 Configuring LVM system.devices. Devices for following VGs will be imported: rhel, test Configure host? [yes,NO] The tool shows that we have 3 mounted logical volumes, and suggest to configure lvmdevices file for 2 volume groups. On oVirt 4.4, the configuration method is lvm filter, and suggests the required filter for the mounted logical volumes.