Description of problem: A different boot sequence is needed to safely power up a fenced node and therefore skipping the cluster services to avoid problems such as long waits and fences in a two-nodes configuration. A solution could involve setting a boot parameter (eg: nocluster) to prevent cman/gfs/rgmanager to start automatically. References: https://www.redhat.com/archives/linux-cluster/2008-June/msg00143.html https://www.redhat.com/archives/linux-cluster/2008-June/msg00158.html The check could be accomplished with few lines of code inside man/gfs/rgmanager init files, eg: if strstr "$( cat /proc/cmdline )" "nocluster"; then # ... exit 0; fi This solution will also make impossible to start the services manually later on, is there a way to remove this side effect?
Various things come to mind -- Check the runlevel/previous runlevel Check the ppid of the script (maybe it's /sbin/init during boot)?
We can also use the approach of touching a file, but for sure not in /etc. It has to be somewhere like /tmp and we need to make sure we can actually do it, otherwise we are back at the original problem.
Federico, did you ever have time to propose a patch for this bug? This is what we agreed last on the mailing list I believe. Thanks Fabio
For the record: another approach could use a duet-init-script sequence. cman-bootcheck -> parses /proc/cmdline and touch/not touch a file cman checks for that file and warn. user can remove the file and start cman even after boot as cman-bootcheck will never run again.