ZFS & NFS

Chris Brennan xaero at xaerolimit.net
Sun Dec 25 21:54:20 UTC 2011


Greetings!

Hopefully I don't get to lost in my explanation here. I have a raid1
array w/ ZFS running ontop of it, yes I realize this isn't the ideal way
to do things, I didn't know that at the time.

The system is stock FreeBSD-8.2-i386, with 2GB of RAM.

In /boot/loader.conf I have the following:
vfs.zfs.txg.timeout="5"
kern.maxvnodes=250000
vfs.zfs.txg.write_limit_override=1073741824

The array is 2x750GB Seagate 2.5" drives w/ 16MB cache/ea. I'm not
doing anything fancy except storage of various Operating System
ISO's and some other files, all being served to my lan via Samba
(to some windows clients) and via nfs to several linux/freebsd clients.

Now, on to the juicy stuff.

Windows is unable to successfully connect to the SMB shares anymore,
and I can't figure out why. No error messages are printed in
/var/log/messages on the server. The samba share block for /tank/store
is as follows:

[tank]
        comment = ZFS Tank
        path = /tank
        valid users = chris
        admin users = chris
        read list = chris
        write list = chris
        read only = No
'chris' being the uid I use everywhere on my lan. Every machine
has this login.

NFS wise, I have the following set up:

[root at ziggy ~]# cat /etc/exports
/home   -alldirs      -network 192.168.0.0 -mask 255.255.255.0
/usr/obj    -maproot=root -alldirs -rw
/usr/src    -maproot=root -alldirs -rw
/usr/ports  -maproot=root -alldirs -rw
/usr/ports/distfiles    -maproot=root -alldirs -rw
/usr/ports/packages -maproot=root -alldirs  -rw
[root at ziggy ~]# cat /etc/zfs/exports
# !!! DO NOT EDIT THIS FILE MANUALLY !!!

/tank   -maproot=root -alldirs -rw
/tank/music     -maproot=root -alldirs -rw
/tank/store     -maproot=root -alldirs -rw
/tank/tmp       -maproot=root -alldirs -rw

[root at ziggy ~]# showmount -ae
All mount points on localhost:
stewie.xaerolimit.net:/tank/store
Exports list on localhost:
/tank/tmp                          192.168.0.0
/tank/store                        Everyone
/tank/music                        192.168.0.0
[root at ziggy ~]#


/usr/src, /usr/obj, /usr/ports, /usr/ports/distfiles, and
/usr/ports/packages are all zfs remounts

[root at ziggy ~]# df -h
Filesystem              Size    Used   Avail Capacity  Mounted on
/dev/ad10s1a            989M    175M    735M    19%    /
devfs                   1.0K    1.0K      0B   100%    /dev
/dev/ad10s1e            989M    4.2M    906M     0%    /tmp
/dev/ad10s1f             61G    1.0G     55G     2%    /usr
/dev/ad10s1d            5.8G     96M    5.2G     2%    /var
/dev/ad8p2              902G    2.4M    830G     0%    /usr/home
procfs                  4.0K    4.0K      0B   100%    /proc
tank                    488G    4.8G    483G     1%    /tank
tank/music              483G     27M    483G     0%    /tank/music
tank/store              622G    139G    483G    22%    /tank/store
tank/tmp                539G     56G    483G    10%    /tank/tmp
tank/obj                484G    634M    483G     0%    /usr/obj
tank/ports              484G    257M    483G     0%    /usr/ports
tank/ports/distfiles    484G    580M    483G     0%    /usr/ports/distfiles
tank/ports/packages     483G    196M    483G     0%    /usr/ports/packages
tank/src                484G    798M    483G     0%    /usr/src
[root at ziggy ~]#

Now when I try to mount anything from the tank path, I get success,
but, I am not able to create files on /tank/store, whereas I can on
/tank/tmp and /tank/music, which is odd in of itself.

Now if I try to mount any of the zfs-remounted shares from /usr, I get
permission denied errors, such as this.

>From the client: (fbsd8.2 laptop, recompiled srcs)
root at blackdragon ~]# mount -t nfs ziggy:/usr/src /usr/src/

[tcp] ziggy:/usr/src: Permission denied

^C
[root at blackdragon ~]#

And from the server's /var/log/messages I see:
Dec 25 16:49:15 ziggy mountd[788]: mount request denied from 192.168.0.5
for /usr/src

I'll get that error message for any of the following nfsshares:
/usr/src, /usr/obj, /usr/ports, /usr/ports/packages, and
/usr/ports/distfiles.

So I am unsure where I went wrong but some guidance would be
greatly appreciated.

> --
> Chris Brennan
> A: Yes.
> >Q: Are you sure?
> >>A: Because it reverses the logical flow of conversation.
> >>>Q: Why is top posting frowned upon?
> http://xkcd.com/84/ | http://xkcd.com/149/ | http://xkcd.com/549/
> GPG: D5B20C0C (6741 8EE4 6C7D 11FB 8DA8  9E4A EECD 9A84 D5B2 0C0C)
------------------------------------------------------------------------


More information about the freebsd-questions mailing list