[Samba] CTDB and nfs-ganesha
Max DiOrio
Max.DiOrio at ieeeglobalspec.com
Wed Oct 2 14:51:06 UTC 2019
Hi Marin - again thank you for the help. I can't believe I coundn't find any info about this big configuration change. Even the Samba WIKI doesn't really spell this out at all in instructs you to use ctdbd.conf.
Do I need to enable the 20.nfs_ganesha.check script file at all, or will the config itself take care of that? Also, are there any recommendations on which nfs-checks.d checks should still be used in the nfs-checks-ganesha?
Gluster, nfs-ganesha, ctdb seems like a great combination that's sorely lacking on proper documentation. I know there's storhaug that is supposed to tie this together, but that flat out didn't work for me at all, has poor documentation and needed manual edits just to get it to work.
On 10/1/19, 5:46 PM, "Martin Schwenke" <martin at meltin.net> wrote:
NOTE: This email originated from outside of the organization.
Hi Max,
On Tue, 1 Oct 2019 18:57:43 +0000, Max DiOrio via samba
<samba at lists.samba.org> wrote:
> Hi there – I seem to be having trouble wrapping my brain about the
> CTDB and ganesha configuration. I thought I had it figured out, but
> it doesn’t seem to be doing any checking of the nfs-ganesha service.
> I put nfs-ganesha-callout as executable in /etc/ctdb
> I create nfs-checks-ganesha.d folder in /etc/ctdb and in there I have
> 20.nfs_ganesha.check
You may want to symlink some of the others across, such as
00.portmapper.check.
> In my ctdbd.conf file I have:
Aha! In >=4.9 nothing looks at that file anymore. If you run
https://git.samba.org/?p=samba.git;a=blob_plain;f=ctdb/doc/examples/config_migrate.sh;h=8479aeb39f383bf9d3a05d79b9357a7e07a6a836;hb=refs/heads/v4-9-stable
on it then you'll get some useful suggestions... but keep reading
below...
> # Options to ctdbd, read by ctdbd_wrapper(1)
> #
> # See ctdbd.conf(5) for more information about CTDB configuration variables.
>
> # Shared recovery lock file to avoid split brain. No default.
> #
> # Do NOT run CTDB without a recovery lock file unless you know exactly
> # what you are doing.
> CTDB_RECOVERY_LOCK=/run/gluster/shared_storage/.CTDB-lockfile
This should be in ctdb.conf:
[cluster]
recovery lock = /run/gluster/shared_storage/.CTDB-lockfile
> # List of nodes in the cluster. Default is below.
> CTDB_NODES=/etc/ctdb/nodes
>
> # List of public addresses for providing NAS services. No default.
> CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
These are no longer used. The above defaults in /etc/ctdb/ are now
hardwired. Symlinks can be used if necessary.
> # What services should CTDB manage? Default is none.
> # CTDB_MANAGES_SAMBA=yes
> # CTDB_MANAGES_WINBIND=yes
> CTDB_MANAGES_NFS=yes
Gone. Now just enable the event scripts.
> # Raise the file descriptor limit for CTDB?
> # CTDB_MAX_OPEN_FILES=10000
Gone. Either do the right thing in the systemd unit file or put a
ulimit command in /etc/sysconfig/ctdb or /etc/default/ctdb (depending
on distro).
> # Default is to use the log file below instead of syslog.
> CTDB_LOGGING=file:/var/log/log.ctdb
ctdb.conf:
[logging]
location = file:/var/log/log.ctdb
However, this is the default so you can just omit it.
If you can use syslog instead, then I strongly suggest you do that
(see ctdb.conf(5) manpage). CTDB's file logging has no useful way of
rotating the logs. There's an open bug, there are plans, but it is
complicated.
> # Default log level is NOTICE. Want less logging?
> CTDB_DEBUGLEVEL=DEBUG
ctdb.conf:
[logging]
log level = DEBUG
> CTDB_NFS_CALLOUT=/etc/ctdb/nfs-ganesha-callout
> CTDB_NFS_CHECKS_DIR=/etc/ctdb/nfs-checks-ganesha.d
> CTBS_NFS_STATE_FS_TYPE=glusterfs
> CTDB_NFS_STATE_MNT=/run/gluster/shared_storage
> CTDB_NFS_SKIP_SHARE_CHECK=yes
> NFS_HOSTNAME=hq-6pnfs
Move all of these to /etc/ctdb/script.options.
> But in the logs, I see nothing relating to nfs-ganesha, and when the
> ganesha service fails, the IP’s don’t get migrated and/or the service
> doesn’t get restarted.
> Any ideas?
Yeah, complete rewrite of configuration handling. :-)
At some stage where will be another change some time in the future when:
* service event scripts go to /etc/ctdb/events/service/ - not many
related options to change here...
* failover event scripts go to /etc/ctdb/events/failover/ and most of
the failover-related tunables become script options
* ...
After that, things should be very easy to understand... :-)
peace & happiness,
martin
More information about the samba
mailing list