[linux-lvm] discussion about activation/auto_activation_volume_list

heming.zhao at suse.com heming.zhao at suse.com
Tue Nov 17 08:00:10 UTC 2020


Hello LVM-maintainers,

Currently activation/auto_activation_volume_list is not enable and it does the default behavior:
  pvscan will activate all the devices on booting.

This rule will trigger a clumsy process in HA (corosync+pacemaker stack) env.

## let me show the scenario:

2 nodes (A & B) share a disk, and using systemid to manage vg/lv on this shared disk.
(keep the activation/auto_activation_volume_list default style: comment out this cfg item)

(below steps come from resource-agent LVM-active script)
1. Node A own & active shared vg/lv, node B standby status.
2. A reboot, B detect & wait for A rejoined cluster.
3. because systemid doesn't be changed, lvm2-pvscan at .service will active the vg/lv on A during booting.
4. A finishes reboot, B starts to switch systemid & active shared vg/lv.
5. on B, pacemaker detects lvm resource is running on both nodes.
6. on B, pacemaker restarts lvm resource and enable it on single node.

## rootcause:

we can see step 3,4,5 is useless if step 3 is non-existent. 
So the rootcause is step <3>: node A auto activate shared vg/lv.

## discussion (how to fix):

Could activation/auto_activation_volume_list support a new symbol/function like "!".
e.g.
auto_activation_volume_list = [ "!vg1", "!vg2/lvol1" ]
the '!' means lvm absolutely doesn't active this vg1 & vg2/lvol1 automatically.

my question:
Does it acceptable for LVM2 adding this new function?

Thanks.




More information about the linux-lvm mailing list