Recently I got a very simple question from a customer, which stated:
Is using ZFS with smart (i.e. non JBOD) storage a good idea? What does it bring?
The short answer is: Yes. Here are the remarks, considerations and links I came across while searching an answer:
- Cache flushes initiated by the storage
http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide#Cache_Flushes
- Choose the right ZFS failmode (ZFS should not panic when storage becomes
unavailable)
- Have ZFS calculate checksums, even though the storage might do so too
(it is nice to have zfs find a bad block and be able to fix it by
redundent storage)
- Do NOT "TrueCopy" ZFS pools onto the same host (ie TrueCopy a zfs pool
from one host into a second LUN that is ZFS mounted on the same host. ZFS
gets all confused when you do).
- Be careful with array based snapshots when having multiple lun's in one pool. If the snapshot create on all of the lun's do not happen at the same time you have an inconsistent set of data from a zfs perspective
- Array replication ( TrueCopy being one): Special attention have to be given when using async replication to assure having a consistent copy of the file system at all times by creating regular snapshots at the secondary site
- Consider where to put the ZFS Intend Log (ZIL): on SSD or on the storage
- Use as least Solaris 10 update 6 - this version has many ZFS improvements
- Do NOT enable "Thin Provisioning" on the storage box if it can... interacts badly with ZFS Copy-on-write mechanism
Thanks to everyone who contributed to this list - you know who you are 
Bart,
I recently stumbled over this post which outlines using zfs for added protection on a single-drive laptop:
http://blogs.sun.com/erickustarz/entry/zfs_on_a_laptop
Quite a few bits apply here as well.
Antoon
Posted by Antoon on April 03, 2009 at 08:10 AM CEST #