I have some machines running FreeBSD as redundant NFS servers (using CARP).
The way they work is the following:
- I have a master (content) machine on which I maintain an UFS
filesystem image on an UFS
- I have this image mounted through md
- there are (any) number of NFS servers, one that is the master (from
the client PoV) and the others as slaves
- everytime I need changes in the content of the image, I make them,
then do a mount -o ro -u /nfs and issue an rsync to the NFS (slave)
servers, then I switch over the master and do a sync to there too

This works wonderfully, although the image distribution is slow and
painful (thanks to rsync).

With ZFS there is a more simple oppurtunity: make snapshots on the
content master and distribute them via zfs send&receive.
However there's a little problem: the fsids are not in sync and the
clients get stale NFS filehandle errors.

This is solved in the current scenario by distributing whole UFS images
with their static fsids, but I don't know how it would be possible with ZFS.

Currently I see two possibilities:
- changing the NFS server, so it can be manually set (like in Linux,
where it's possible to give an fsid parameter in exports)
- synchronize ZFS fsids across the machines

The second would be perfect for me, I just couldn't figure out how could
I do this (a cursory glance on the ZFS source didn't result a clean and
simple solution).

Any ideas on this?

(I've seen some discussions on this topic in a ZFS list, but there was
no solution, just a little misunderstanding with shared storages and Sun


Attila Nagy e-mail: Attila.Nagy@fsn.hu
Free Software Network (FSN.HU) phone: +3630 306 6758

freebsd-fs@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"