From: larrysteinke on
Hi Harold,

Try turning off nfs 4 server delegation.

NFS version 4 has the delegation feature on by default.
This feature attempts to reduce the interactions between client and
server by delegating the access management to the client.
However, if there are multiple clients, conflicts could occur if a
client accesses a file in a manner that is inconsistent
with the delegations that are currently granted for that file. This
could result in files remaining locked until the
conflicts are resolved. You can disable this delegation feature by
setting the paramater in /etc/default/nfs NFS_SERVER_DELEGATION=off.

nfs 4 info:
http://docs.sun.com/app/docs/doc/816-4555/rfsadmin-68?l=ru&a=view
http://docs.sun.com/app/docs/doc/816-4555/rfsrefer-140?l=ru&a=view

Cheers,

-Larry

On Mar 25, 5:33 pm, Harold <harold.ce...(a)gmail.com> wrote:
> Hi All,
>
> On a few of our Solaris 10 machines we have problems with the df
> command reporting incorrect data.
> I'm aware of the bugID "6362734 df output corrupt after under heavy
> stress" and we patched the system with the recommended patches, and
> did a reconfigure afterwards.
>
> # uname -a
> SunOS FRA01W2 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Fire-V240
>
> Startpoint was a full filesystem (in this case)
> After deleting 2200 files, and executing "lockfs -f" the df command
> was reporting 584G used (95% capacity)
> but "du -sh" reported 551G used. A difference of 33G.
> Also after each delete of 100 files the number of "free files" from df
> -h was not increased with 100 but +/-60 (there were not 40 files
> created).
>
> After executing
> # svcadm restart nfs/server
> the df command reported 551G used (90% capacity), and all output was
> equal. . .
>
> This is not only on this system, but on all our Solaris 10 machines.
>
> Any idea what's going on?
> I'm running out of options right now, and it's driving me mad.
> Please see more details below.
>
> Kind regards,
> Harold
>
> More detailed info:
> The system is continously writing data to that directory (40G/day),
> and some clients are continuously reading data from it via NFS.
> We run a cleanupscript every hour on that data directory to verify if
> the usage is > 90%
> If this is the case we remove the oldest 100 files, and recheck the
> usage. This goes on till usage is <= 90%
> The share is UFS with logging enabled. We disabled logging on another
> system, but the problem still exists.
> # Mount
> /package/data on /dev/dsk/c2t0d0s6 read/write/setuid/devices/intr/
> largefiles/logging/xattr/onerror=panic/dev=800086 on Tue Mar 4
> 23:33:53 2008
>
> After deleting 100 files we do a lockfs -f to flush the buffers.
>
> When we started:
> df -h
> Filesystem size used avail capacity Mounted on
> /dev/dsk/c2t0d0s6 622G 615G 856M 100% /package/data
>
> df -g
> /package/data(/dev/dsk/c2t0d0s6 ): 8192 block size 1024
> frag size
> 1304688454 total blocks 14802124 free blocks 1755240
> available 78821632 total files
> 78680977 free files 8388742 filesys id
> ufs fstype 0x00000004 flag 255 filename length
>
> deleting 2200 files, deleted per 100, followed by lockfs -f /package/
> data
>
> $ df -h
> Filesystem size used avail capacity Mounted on
> /dev/dsk/c2t0d0s6 622G 584G 32G 95% /package/data
>
> $ df -g /package/data
> /package/data(/dev/dsk/c2t0d0s6 ): 8192 block size 1024
> frag size
> 1304688454 total blocks 78765794 free blocks 65718910
> available 78821632 total files
> 78689033 free files 8388742 filesys id
> ufs fstype 0x00000004 flag 255 filename length
>
> $ du -sh
> 551G .
>
> # svcadm restart nfs/server
>
> # du -sh
> 551G .
>
> # df -h /package/data
> Filesystem size used avail capacity Mounted on
> /dev/dsk/c2t0d0s6 622G 551G 64G 90% /package/data
>
> # df -g /package/data
> /package/data(/dev/dsk/c2t0d0s6 ): 8192 block size 1024
> frag size
> 1304688454 total blocks 147904884 free blocks 134858000
> available 78821632 total files
> 78699226 free files 8388742 filesys id
> ufs fstype 0x00000004 flag 255 filename length
>
> Also the number of free files is increased by 10000. . .