source: vendor/current/ctdb/web/nfs.html

Last change on this file was 988, checked in by Silvan Scherrer, 9 years ago

Samba Server: update vendor to version 4.4.3

File size: 3.4 KB
Line 
1<!--#set var="TITLE" value="CTDB and NFS" -->
2<!--#include virtual="header.html" -->
3
4<h1>Setting up clustered NFS</h1>
5
6NFS v2/v3 has been successfully tested with exporting the same
7data/network share from multiple nodes in a CTDB cluster with correct
8file locking behaviour and lock recovery.<br><br>
9
10Also see <a href="http://wiki.samba.org/index.php/CTDB_Setup#Setting_up_CTDB_for_clustered_NFS">Configuring
11NFS for CTDB clustering</a> at samba.org for additional information.
12
13<h2>Prereqs</h2>
14Configure CTDB as above and set it up to use public ipaddresses.<br>
15Verify that the CTDB cluster works.
16
17<h2>/etc/exports</h2>
18
19Export the same directory from all nodes.<br>
20Make sure to specify the fsid export option so that all nodes will present the same fsid to clients.<br>
21
22Clients can get "upset" if the fsid on a mount suddenly changes.<br>
23Example /etc/exports :
24<pre>
25 /gpfs0/data *(rw,fsid=1235)
26</pre>
27
28<h2>/etc/sysconfig/nfs</h2>
29
30This file must be edited to point statd to keep its state directory on
31shared storage instead of in a local directory.<br><br>
32
33We must also make statd use a fixed port to listen on that is the same for
34all nodes in the cluster.<br>
35
36If we don't specify a fixed port, the statd port will change during failover
37which causes problems on some clients.<br>
38(some clients are very slow to realize when the port has changed)<br><br>
39
40This file should look something like :
41<pre>
42 NFS_HOSTNAME=ctdb
43 STATD_PORT=595
44 STATD_OUTGOING_PORT=596
45 MOUNTD_PORT=597
46 RQUOTAD_PORT=598
47 LOCKD_TCPPORT=599
48 LOCKD_UDPPORT=599
49 STATD_HOSTNAME="$NFS_HOSTNAME -H /etc/ctdb/statd-callout -p 97"
50 RPCNFSDARGS="-N 4"
51
52</pre>
53
54You need to make sure that the lock manager runs on the same port on all nodes in the cluster since some clients will have "issues" and take very long to recover if the port suddenly changes.<br>
55599 above is only an example. You can run the lock manager on any available port as long as you use the same port on all nodes.<br><br>
56
57NFS_HOSTNAME is the dns name for the ctdb cluster and which is used when clients map nfs shares. This name must be in DNS and resolve back into the public ip addresses of the cluster.<br>
58Always use the same name here as you use for the samba hostname.
59
60RPCNFSDARGS is used to disable support for NFSv4 which is not yet supported by CTDB.
61
62<h2>/etc/sysconfig/ctdb</h2>
63Add the following line to /etc/sysconfig/ctdb :
64
65<pre>
66 CTDB_MANAGES_NFS=yes
67</pre>
68The CTDB_MANAGES_NFS line tells the events scripts that CTDB is to manage startup and shutdown of the NFS and NFSLOCK services.<br>
69
70With this set to yes, CTDB will start/stop/restart these services as required.<br><br>
71
72
73<h2>chkconfig</h2>
74
75Since CTDB will manage and start/stop/restart the nfs and the nfslock services, you must disable them using chkconfig.
76<pre>
77 chkconfig nfs off
78 chkconfig nfslock off
79</pre>
80
81
82<h2>Event scripts</h2>
83
84CTDB clustering for NFS relies on two event scripts /etc/ctdb/events.d/60.nfs and /etc/ctdb/events.d/61.nfstickle.<br>
85
86These two scripts are provided by the RPM package and there should not be any need to change them.
87
88<h2><strong>IMPORTANT</strong></h2>
89
90Never ever mount the same nfs share on a client from two different nodes in the cluster at the same time!<br><br>
91
92The client side caching in NFS is very fragile and assumes/relies on that an object can only be accessed through one single path at a time.
93
94
95<!--#include virtual="footer.html" -->
96
Note: See TracBrowser for help on using the repository browser.