[Samba] CTDB and nfs-ganesha
Max DiOrio
Max.DiOrio at ieeeglobalspec.com
Wed Oct 2 14:30:58 UTC 2019
Martin - thank you for this. I don't know why I couldn't find any of this information anywhere. How long has this change been in place, every website I see about configuring nfs-ganesha with ctdb shows the old information, not the new.
Do I need to enable the legacy 06.nfs 60.nfs files when using ganesha? I assume no.
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