TugboatBill Wrote:For my NAS I'm using an unraid setup. I'm in the process of designing/accumulating parts to combine this into a box with a server MB that will be set up with a VM server that will have a 2008 R2 DC VM, an 2008 R2/exchange 2010 server VM, and a PVR backend VM (probably Mythtv).
I'm enjoying the challenges of designing an efficient, small, and near noiseless server.
There is nothing even CLOSE to ZFS out there. The fact of the matter is, if you care about your data at all, you'll use ZFS. If you don't, then use anything else.
ZFS is at least 10 years ahead of anything else out there. OpenSolaris is amazing. The only downside to ZFS currently is that you can not expand single vdevs. This is a minor issue considering you can add more vdevs to a pool. It forces you to plan your setup a little better but that's a GOOD thing.
The coolest features include:
Pooled storage. ZFS creates a giant pool which all the filesystems share.
It makes disk space act like virtual memory does for ram. If a filesystem needs space, it grabs it from the pool, if it is done with it, it reverts back to the pool. Adding new storage to the pool makes it available to all filesystems immediately.
end to end checksums for data and metadata which can detect and FIX silent data corruption (This is hands down better than any other filesystem available today, you can copy random bits over giant parts of your data and ZFS will happily find and fix them in most cases if you have redundant setups)
On the fly compression which works at a variable bit rate. It will comprss the data to disk and decompress it on read, often making performance better in sitautions where i/o is the bottleneck (which is very often because CPU's and memory get faster every day due to moores law but disk speeds don't get faster)
It's copy on write and transactional, because of this it eliminated the raid write hole facing most raid systems (ever lose power and have to spend 4 hours resyncing? this doesn't happen on ZFS, no need for fsck ever)
because of this copy on write system, it allows you to get snapshots for free. A snapshot is a full read only "point in time" copy of a filesystem. The coolest thing about snapshots is they innitially take up very little space (a few kilobytes) and only grow in size when there are differences between datasets...This allows you to take snapshots quite often which can protect against accidental deletions. you can revert a filesystem back to a snapshot OR just browse to the snapshot and copy a file out of it.
You can also make clones of a snapshot which are basically a read/write copy of the snapshot, essentially giving you 2 filesystems which share a common point in time. This can have lots of cool features...a real world way i used this was, in FreeBSD i'd make "jails" and clone them, i could have 5 clones and they'd all be thier own read/write jails but taking up very little actual space. Another way i used this was: I had 2 itunes libraries, one was my music, one was a clone for my girlfriend, she kept the stuff she wanted from my music and added her own.
ZFS now has dedup which makes files which are the same only take up the space on the system one time. So if you copy the same file multiple times on a deduped filesystem, it will only take up the space of one file. The coolest part about this feature is that it works at the block level, This can be awesome for multiple Virtual Machine images
And on solaris, ZFS has a fully integrated CIFS kernel module allowing you to share a filesystem as a windows filesystem with a simple command. It's quite aweomse, you can create a new filesystem, then share it with sharesmb=on and it then you can mount it as a network drive. It has a similar feature for NFS.
IT also lets you create ZVOLS which are like...virtual hard drives backed by the storage pool. you can then use these for xen hard drives or share them iscsi (this is REALLY cool because with iscsi you can create a virtual hard drive and any os that has iscsi will see the drive as a new, emptry hard drive. Aloowing you to format it. These all gain the other benifets of ZFS like dedup, compression, snapshots and clones.
and i'm sure i've left out a few features. All in all, it absolutely crushes anything else out there. Also, it should be noted that ZFS is a software raid system which totally eliminates the need for expensive hardware controllers. With ZFS you can get speeds BETTER than many hardware systems and often with double the space or half the price.
My current system can EASILY do 600 MB/s (right now it can't push that to the network because i only have 2 gigabit link aggregates but i might add 2 more)
I couldn't imagine using anything else for my nas. The features are just too good, the commands are just too easy...