[ClusterLabs] DRBD / LVM Global Filter Question

Nickle, Richard rnickle at holycross.edu
Fri Apr 3 10:30:29 EDT 2020


On Fri, Apr 3, 2020 at 7:43 AM Eric Robinson <eric.robinson at psmnv.com>
wrote:

> Greetings,
>
>
>
>    1. If DRBD lives **below** or **between** LVM volumes, then:
>
>
>
>    1. set global_filter to reject the DRBD backing devices
>       2. set write_cache_state = 0
>       3. set use_lvmetad = 0
>       4. set volume_list to include block devices required to boot
>       5. remove /etc/lvm/cache/.cache.
>       6. run lvscan
>       7. regenerate initrd
>       8. reboot
>       9. Use a cluster resource agent to activate/de-activate LVs as
>       required by cluster operation
>
>
Eric,

I have three DRBD 9 clusters (1 test, 2 in production) and I'm using
SaltStack as a desired state configuration manager.

My SaltStack formula uses 'filter' instead of 'global_filter' for 2a., my
formula is following 2b., 2c., 2e.  It is not following 2d., and for 2f., I
am using 'vgscan', which I run after I modify 'filter' in lvm.conf.

I do not regenerate my initrd as part of my build.

I am using Pacemaker as my cluster resource manager.

Additionally, I do shutoff lvm2-metad:

DRBD_Stop_lvmetad:

  service.dead:

    - name: lvm2-lvmetad

    - enable: False

    - watch:

      - file: /etc/lvm/lvm.conf

2a. (filter, not global_filter):

# https://docs.linbit.com/docs/users-guide-9.0/#s-nested-lvm

# 1a. Set an appropriate filter option in your /etc/lvm/lvm.conf

DRBD_LVM_Device_Filter:

  file.replace:

    - name: /etc/lvm/lvm.conf

    # filter = [ "a|.*/|" ]

    - pattern: ^(\s*#\s*This configuration option has an automatic default
value.\s*\#\s*filter\s*=\s*\[\s*"a\|\.\*\/\|"\s*\]|filter\s+=\s+\[.*\])

    - repl:  filter = ["a|/dev/sd.*|", "a|/dev/drbd[0-9].*|", "r|.*|"]

    - append_if_not_found: True

2f. (not require: statement that fires after successful 2a.)

# https://docs.linbit.com/docs/users-guide-9.0/#s-nested-lvm

# 1b. After modifying the lvm.conf file, you must run the vgscan command

#     so LVM discards its configuration cache and re-scans devices for PV
signatures.

DRBD_LVM_Device_Rescan:

  cmd.run:

    - name: vgscan

    - require:

      - DRBD_LVM_Device_Filter

2b.

# https://docs.linbit.com/docs/users-guide-9.0/#s-nested-lvm

# 2. Disable the LVM cache by setting write_cache_state = 0

DRBD_LVM_Write_Cache:

  file.replace:

    - name: /etc/lvm/lvm.conf

    - pattern: ^\s*write_cache_state\s*=\s*1\s*.*$

    - repl: write_cache_state = 0

    - append_if_not_found: True

2c.

#$ sudo pcs resource debug-start hanfs_lvm_r0

jjjjjjjjjjjjkkkkj#Operation start for hanfs_lvm_r0 (ocf:heartbeat:LVM)
returned:

# 'unknown error' (1)

# >  stderr: WARNING: Disable lvmetad in lvm.conf. lvmetad should never

# be enabled in a clustered environment. Set use_lvmetad=0 and kill the

# lvmetad process

#use_lvmetad = 0

DRBD_Disable_lvmetad:

  file.replace:

    - name: /etc/lvm/lvm.conf

    - pattern: ^\s*\#*\s*use_lvmetad\s*=\s*[01]\s*

    - repl: use_lvmetad = 0\n

    - append_if_not_found: True

2e.

# https://docs.linbit.com/docs/users-guide-9.0/#s-nested-lvm

# 2a. Disable the LVM cache by setting write_cache_state = 0

# 2b. After disabling the LVM cache, make sure you remove any stale cache
entries by

#     deleting /etc/lvm/cache/.cache

DRBD_LVM_Clear_Cache:

  file.absent:

    - name: /etc/lvm/cache/.cache

Thanks,

Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clusterlabs.org/pipermail/users/attachments/20200403/74a62327/attachment-0001.htm>


More information about the Users mailing list