Hi, Here's some explain of this:
The 'wsize' and 'rsize' negotiated between client and server, are affected by the auto-sized memory available to incoming request to NFS server. And the size is actually adjusted based on total available memory to the server. The problem is when the client negotiates a large size, and then the server fails over to a lower limit. You are likely to get: "RPC: fragment too large" And the failing over fails ...... So the idea is to enforce an same configuration everywhere, regardless the total memory available to the server. I also re attach the patch for your consideration. Thanks. 2009/7/27 Raoul Bhatia [IPAX] <r.bha...@ipax.at>: > hi, > > in your patch, you add the following: > >> + if [ -w /proc/fs/nfsd/max_block_size ]; then >> + echo 65536 > /proc/fs/nfsd/max_block_size >> + fi > > why are you enforcing max_block_size to 65536? > on my system (debian lenny) i get > >> # cat /proc/fs/nfsd/max_block_size >> 262144 > > please elaborate. > > cheers, > raoul > -- > ____________________________________________________________________ > DI (FH) Raoul Bhatia M.Sc. email. r.bha...@ipax.at > Technischer Leiter > > IPAX - Aloy Bhatia Hava OEG web. http://www.ipax.at > Barawitzkagasse 10/2/2/11 email. off...@ipax.at > 1190 Wien tel. +43 1 3670030 > FN 277995t HG Wien fax. +43 1 3670030 15 > ____________________________________________________________________ > _______________________________________________________ > Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > Home Page: http://linux-ha.org/ >
Index: heartbeat/resources/OCF/nfsserver =================================================================== --- heartbeat.orig/resources/OCF/nfsserver 2008-11-14 20:21:21.000000000 +0800 +++ heartbeat/resources/OCF/nfsserver 2009-07-28 14:34:44.000000000 +0800 @@ -73,6 +73,16 @@ <content type="string" default="*" /> </parameter> +<parameter name="nfs_max_block_size" unique="0" required="1"> +<longdesc lang="en"> +Memory available for incoming requests. In bytes. +</longdesc> +<shortdesc lang="en"> +/proc/fs/nfsd/max_block_size +</shortdesc> +<content type="string" default="65536" /> +</parameter> + </parameters> <actions> @@ -173,6 +183,16 @@ rm -f /var/lib/nfs/sm.ha/* > /dev/null 2>&1 cp -f /var/lib/nfs/sm/* /var/lib/nfs/sm.ha > /dev/null 2>&1 + ocf_log info "Preparing /proc/fs/nfsd first" + if [ ! -f /proc/fs/nfsd/max_block_size ] ; then + mount -t nfsd nfsd /proc/fs/nfsd + fi + + if [ -w /proc/fs/nfsd/max_block_size ]; then + echo ${OCF_RESKEY_nfs_max_block_size} > /proc/fs/nfsd/max_block_size + fi + + ocf_log info "Starting NFS server ..." fn=`/bin/mktemp`
_______________________________________________________ Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/