[Cluster-devel] [RFC PATCH dlm 00/10] dlm_controld config settings can be

heming.zhao at suse.com heming.zhao at suse.com
Wed Sep 22 09:32:49 UTC 2021


On 9/21/21 9:54 PM, David Teigland wrote:
> On Tue, Sep 21, 2021 at 02:38:45PM +0800, heming.zhao at suse.com wrote:
>> But I am ok with the reload_config idea, it's more basic.
>> We could give dlm_controld a chance to change behavior on the fly.
>> If needed, I could file a new patch for feature "reload_config", can I do it?
> 
> Yes, I'd welcome a patch adding a dlm_tool reload_config option to reread
> dlm.conf and apply new settings from it.
> Thanks,
> Dave
> 

Before sending the new feature patch, I want to have more discussion.

In my opinion, changing and reloading dlm.conf is a ***heavy*** way to update
dlm_controld settings. This manner is well suited for the change of a setting
still valid to next turn startup dlm_controld.
There are some use cases which require a ***light*** way to update settings.
It just needs updating settings in memory and validating in a short time
(or until one dlm_controld running turn).

Examples:

1. debug

debugging the code temporarily with no intention to change dlm.conf.

2. to get some log

temporarily enable dlm log for checking status.

3. temporarily change dlm_controld behaviour

(there is a production use case.)
a. In 3+ nodes HA cluster env, dlm_controld startup with default settings.
b. after stopping 2 of 3 nodes in cluster. (by cmd "crm cluster stop")
c. the only left node is lacking quorum and quorate become "NO". (by cmd "corosync-quorumtool")
d. on the last active node, run "crm cluster stop" to stop this node.
    the result is the node will be hung and will be fenced for a short while by trigging timeout.

The hanging in <d> can be avoid by temporarily changing settings:
enable_quorum_fencing and enable_quorum_lockspace from default value 1 to 0.
and the changing does not need lasting for node restart.

So,
If there is no chance to add dynamic updating setting by run command.
Is it a good idea to add a parameter "-I", like "dlm_tool -I reload_config".
"-I" means directly change without reading from dlm.conf.
When users want to restore the original setting, run "dlm_tool reload_config"
(without "-I") to override with predefined/default values.

Thanks
Heming




More information about the Cluster-devel mailing list