summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2007-04-03 11:26:58 +1000
committerNeil Brown <neilb@suse.de>2007-04-03 11:26:58 +1000
commit75fbf31c20fac02e14b6c0cb7dcbfef8286f2ff1 (patch)
tree436de50a67093003fa04f0f4cbcacc628f040289 /README
parentd7b6997fd9daa91401088ff23ceadb33d4f5c037 (diff)
downloadnfs-utils-75fbf31c20fac02e14b6c0cb7dcbfef8286f2ff1.tar.gz
nfs-utils-75fbf31c20fac02e14b6c0cb7dcbfef8286f2ff1.tar.xz
nfs-utils-75fbf31c20fac02e14b6c0cb7dcbfef8286f2ff1.zip
NEWS and README updates.
Particularly details of daemon startup order have been added to README.
Diffstat (limited to 'README')
-rw-r--r--README106
1 files changed, 106 insertions, 0 deletions
diff --git a/README b/README
index 7f18118..6cd79c7 100644
--- a/README
+++ b/README
@@ -45,6 +45,112 @@ simply
Finally, build as usual as above.
+3. DAEMON STARTUP ORDER
+
+This nfs-utils packages does not provide any scripts for starting
+various daemons as mast distributions replace them with their own, so
+any scripts we package would not get much testing.
+Instead, we explain the dependencies involved in startup so that
+scripts can be written to work correctly.
+
+3.0 PREREQUISITES
+
+ Name service (host name lookup) should be working before any
+ NFS services are started.
+
+ "portmap" must be running before any NFS services (server or
+ client) are started.
+
+ Normally network interfaces should be configured first as well,
+ though this isn't critical for the NFS server (providing name
+ service is handled locally).
+
+3.1. SERVER STARTUP
+
+
+ A/ mount -t nfsd /proc/fs/nfsd
+ This filesystem needs to be mount before most daemons,
+ particularly exportfs, mountd, svcgssd, idmapd.
+ It could be mounted once, or the script that starts each daemon
+ could test if it is mounted and mount it if not.
+
+ B/ svcgssd ; idmapd
+ These supply services to nfsd and so should be started before
+ rpc.nfsd. Where they come between mounting the nfsd filesystem
+ and starting the nfsd server is not important.
+ idmapd is only need for NFSv4 support.
+
+ C/ exportfs -av ; rpc.mountd
+ If it important that exportfs be run before mountd so that
+ mountd is working from current information (in
+ /var/lib/nfs/etab).
+ It is also important that both of these are run before
+ rpc.nfsd.
+ If not, any NFS requests that arrive before mountd is started
+ will get replied to with a 'Stale NFS File handle' error.
+
+ D/ rpc.statd --no-notify
+ It is best if statd is started before nfsd though this isn't
+ critical. Certainly it should be at most a few seconds after
+ nfsd.
+ When nfsd starts it will start lockd. If lockd then receives a
+ lock request it will communicate with statd. If statd is not
+ running lockd will retry, but it won't wait forever for a
+ reply.
+ Note that if statd is started before nfsd, the --no-notify
+ option must be used. If notify requests are sent out before
+ nfsd start, clients may try to reclaim locks and, on finding
+ that lockd isn't running, they will give up and never reclaim
+ the lock.
+ rpc.statd is only needed for NFSv2 and NFSv3 support.
+
+ E/ rpc.nfsd
+ Starting nfsd will automatically start lockd. The nfs server
+ will now be fully active and respond to any requests from
+ clients.
+
+ F/ sm-notify
+ This will notify any client which might have locks from before
+ a reboot to try to reclaim their locks. This should start
+ immediately after rpc.nfsd is started so that clients have a
+ chance to reclaim locks within the 90 second grace period.
+ sm-notify is only needed for NFSv2 and NFSv3 support.
+
+
+3.2. CLIENT STARTUP
+
+ A/ sm-notify
+ This should be run shortly after boot and before any NFS
+ filesystems are mounted with remote-locking support -
+ filesystems can be mounted with "-o nolock" before sm-notify.
+ This is appropriate for '/', '/usr', and '/var'.
+
+ B/ gssd ; idmapd
+ (I need some guidance here).
+
+ C/ statd should be run before any NFSv2 or NFSv3 filesystem is
+ mounted with remote locking (i.e. without -o nolock).
+ 'mount' will try to use "/usr/sbin/start-statd" to start statd
+ if it is not already running, so there is no need to explicitly
+ start statd in boot-time scripts.
+
+3.3. SERVER/CLIENT INTERACTIONS
+
+ A/ sm-notify
+ Both the server and the client need sm-notify to be run.
+ It should be run after the NFS server is started, but before
+ and NFS filesystems are mounted with remote locking.
+
+ B/ rpc.statd
+ Both the server and the client need rpc.statd to be running.
+ Each should try to start when they need it.
+
+ C/ idmapd
+ (I need some guidance here).
+
+
+
+
Share And Enjoy!
-- the nfs-utils developers