ZFS filesystem: export for more than one subnet
Jeremy Chadwick
koitsu at FreeBSD.org
Mon Sep 8 09:10:54 UTC 2008
On Mon, Sep 08, 2008 at 11:21:48AM +0400, Dmitry Morozovsky wrote:
> On Sun, 7 Sep 2008, Jeremy Chadwick wrote:
> JC> That said, what happens if you edit /etc/zfs/exports by hand, then run
> JC> "zfs list -o sharenfs"? Does it show the changes you put in place? If
> JC> so, then great -- it means there's two ways a person can edit the
> JC> NFS-exported ZFS shares (by editing the file directly, or using "zfs").
>
> Nope, ZFS does not track /etc/zfs/export, hence "Do not edit!" comment in it.
Understood. Then using "zfs" is the only option.
> JC> If not (e.g. mountd rejects it, or only the first network is used), then
> JC> this would indicate a problem with the exports file syntax / problem
> JC> with mountd, and not with ZFS.
>
> It is of course FreeBSD' mountd problem (more than it does not understand CIDR
> slashed notation):
>
> marck at beaver:~# cat /etc/zfs/exports
> # !!! DO NOT EDIT THIS FILE MANUALLY !!!
>
> /FreeBSD -ro -alldirs -network 195.54.192.0 -mask 255.255.255.192
> 255.255.255.192
> marck at beaver:~# zfs get sharenfs bv/FreeBSD
> NAME PROPERTY VALUE SOURCE
> bv/FreeBSD sharenfs -ro -alldirs -network 195.54.192.0 -mask 255.255.255.192 local
> marck at beaver:~# zfs set sharenfs="ro,alldirs,network=195.54.192.0/26,192.168.39.0/24" bv/FreeBSD
> marck at beaver:~# zfs get sharenfs bv/FreeBSD
> NAME PROPERTY VALUE SOURCE
> bv/FreeBSD sharenfs ro,alldirs,network=195.54.192.0/26,192.168.39.0/24 local
>
> Sep 8 11:18:18 beaver mountd[25992]: can't get address info for host 192.168.39.0/24
> Sep 8 11:18:18 beaver mountd[25992]: bad host 192.168.39.0/24, skipping
> Sep 8 11:18:18 beaver mountd[25992]: network/host conflict
> Sep 8 11:18:18 beaver mountd[25992]: bad exports list line /FreeBSD -ro -alldirs -network
It does support CIDR, and the output mountd gave you even shows that
it does (look closely at what "bad host" it's giving you -- that isn't
the first host in the exports list!).
You changed the syntax of what I gave you as an example. Look closely:
# zfs set sharenfs="ro,network=aaa/xx,network=bbb/yy,network=ccc/zz" some_fs
Here's what you typed in:
# zfs set sharenfs="ro,alldirs,network=195.54.192.0/26,192.168.39.0/24" bv/FreeBSD
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-fs
mailing list