# ZFS Storage across multiple servers? NFS? CIFS? WebDAV?



## SteveMustafa (Mar 22, 2013)

Is the ability to aggregate a ZFS pool across more than one server?  Regardless of how you group the disks for RAID-Z (6-8 disks, 4TB each), but say we have 5 such machines with the potential for 32 disks each, would it be possible to cluster them?

Having said that, would we be able to expose the data through NFS? CIFS?  WebDAV? In the sense that they're baked in to Filesystem or (with the understanding that WebDAV needs a web server of course)

The OS would be using the RAID 1 cards already in the boxes and they would be on their own drives anyways, so the RAID-Z will carry data only.

TIA


----------



## usdmatt (Mar 23, 2013)

There is no support for any type of clustering in ZFS at all so you can't spread a pool across multiple servers.

We have, however previously discussed the usage of ggated() to make disks on multiple systems available to one master/head server. ggate is a GEOM provider with a fairly straightforward idea - it provides a GEOM/disk device to Machine1 where all disk commands are sent over the network to Machine2 where the ggated service receives them and passes them down to the disk.

I'm not sure how far the person who was asking got with it. The idea is to expose the disks on all the servers but one (the highest specced one ideally) via ggated. You then `mount` those disks on the master/head unit and build a ZFS pool out of them. As ggate is sending raw GEOM commands across the network it should have fairly low overhead (I would suggest a decent low-latency GigE network or better, with server class interfaces if possible).

As an added bonus, ZFS will allow you to add local drives in the master unit as ZIL/cache devices.

NFS is built into the FreeBSD kernel, and as such has been linked into the ZFS commands. With the NFS server enabled in /etc/rc.conf you can share ZFS filesystems over NFS by just running

[cmd=]# zfs set sharenfs="-network=1.2.3.4/24" pool/filesystem[/cmd]

For CIFS you will need to install and configure net/samba36 as there is no built-in support for it. This also means you can't use the sharesmb properties in ZFS.

I'm not sure about WebDAV.


----------



## SteveMustafa (Mar 24, 2013)

Hmmm...

Thanks for the quick reply.

WebDAV, I know is really a WebServer thing, Nginx or Apache are the prime suspects.

Are there plans for ZFS clustering?  Or should this be something to layer on in FUSE?  Or perhaps, better yet, ZFS as a backing store and then have cluster-able filesystem would such a thing work?


----------



## throAU (Mar 26, 2013)

SteveMustafa said:
			
		

> ZFS as a backing store and then have cluster-able filesystem would such a thing work?



I suspect this is the way to do it.

ZFS is fairly specialised at what it does, rather than extending ZFS, I'd be more inclined to write a backing-store-agnostic filesystem to run on the top of it (in addition to UFS, HAMMER or whatever).


----------



## olav (Mar 26, 2013)

You can run a Hadoop/HDFS cluster on top of ZFS. 
Hammer2 is supposed to be a multimaster/clustered filesystem.


----------

