I am starting this thread in desire to document ZFS (FreeBSD) and HAMMER1 (DragonFlyBSD) feature differences for people who are interested in serious storage solutions. As a disclaimer I have been using ZFS almost exclusively for the past year and the half as a storage solution at my work but should be considered ZFS n00b. I tried to use DragonFly but I bailed out about 3 months ago mostly out of frustration with monitoring tools ( I could not compile Monit on DF and net-snmp didn't work the way I wanted).
For starters ZFS is a file system and a volume manager in one. HAMMER is just a file system. If you want to use ZFS, you should get a decent Host Bus Adapter (HBA) like LSI 9211-8i. If you want to use HAMMER as a serious storage solution you should get a good hardware RAID controller, LSI and Areca come to mind as very well supported (not cheap with the price over $600 in U.S.).
Both systems are in practical terms 64 bit only and they are resources hungry. If you want ZFS you need lots of expensive ECC RAM. The fact that somebody is running ZFS in her/his laptop on 2GB of RAM will be of no importance to you when that 16TB storage pool fails during the ZFS scrub or de-duplication because you have insufficient RAM or the RAM is of low quality. The rule of the thumb is that you typically need about 16GB of RAM to begin with ZFS and then about 1-2 GB for each additional TB of data. You also need a really good Intel processor. FreeNAS officially doesn't support any AMD hardware and those people know something about storage solutions. Please refer to mailing lists to all sorts of problems with AMD processors. Long story short you are looking at the very serious initial investment with ZFS.
HAMMER is not a cheap file system too, but it is far cheaper than ZFS. While you probably need a little bit more than 2 GB of RAM with 16TB of RAID 6 with HAMMER1 on the top of it, you probably can get a way with it. Notice that HAMMER is not enterprise file system suitable for large data farms according to Matt himself.
When is come to storage solutions, I like to install both FreeBSD and DF on small 32 GB SSD drives (preferably 2 in ZFS mirror configuration or HAMMER mirror-stream). Using SSDs has actual technical advantages. I hope people seriously help me complete these lists.
ZFS good
ZFS bad
ZFS ugly
HAMMER bad
HAMMER ugly
Finally, the DragonFly community is really tiny and charismatic. People are really cool but there are too few of them to stabilize infrastructure which is needed for enterprise solutions. FreeBSD also has a meaningful vendor support with HBA cards and RAID cards for that matter which should be used only with UFS. DF jail infrastructure is stuck in 2005 although there is a Google Summer Code project 2015 to sync DF jails to FreeBSD 9.xxx.
As a matter of subjective opinion I will tell you that DF new network stack and the whole OS feels smoking fast comparing to FreeBSD. As a matter of fact I have not seeing anything faster than DF on my hardware period (I have Red Hat computing nodes and OpenBSD too beside FreeBSD).
For starters ZFS is a file system and a volume manager in one. HAMMER is just a file system. If you want to use ZFS, you should get a decent Host Bus Adapter (HBA) like LSI 9211-8i. If you want to use HAMMER as a serious storage solution you should get a good hardware RAID controller, LSI and Areca come to mind as very well supported (not cheap with the price over $600 in U.S.).
Both systems are in practical terms 64 bit only and they are resources hungry. If you want ZFS you need lots of expensive ECC RAM. The fact that somebody is running ZFS in her/his laptop on 2GB of RAM will be of no importance to you when that 16TB storage pool fails during the ZFS scrub or de-duplication because you have insufficient RAM or the RAM is of low quality. The rule of the thumb is that you typically need about 16GB of RAM to begin with ZFS and then about 1-2 GB for each additional TB of data. You also need a really good Intel processor. FreeNAS officially doesn't support any AMD hardware and those people know something about storage solutions. Please refer to mailing lists to all sorts of problems with AMD processors. Long story short you are looking at the very serious initial investment with ZFS.
HAMMER is not a cheap file system too, but it is far cheaper than ZFS. While you probably need a little bit more than 2 GB of RAM with 16TB of RAID 6 with HAMMER1 on the top of it, you probably can get a way with it. Notice that HAMMER is not enterprise file system suitable for large data farms according to Matt himself.
When is come to storage solutions, I like to install both FreeBSD and DF on small 32 GB SSD drives (preferably 2 in ZFS mirror configuration or HAMMER mirror-stream). Using SSDs has actual technical advantages. I hope people seriously help me complete these lists.
ZFS good
- Self healing.
- ZFS Clones are writable (ideal for hot migration).
- Fully journaling system using ZFS snapshots.
- Uses compression to store data I like (lzmi).
- Portable storage: ZFS pool created in Linux can be imported into FreeBSD.
- "Portable" in general as it runs on Solaris, FreeBSD, and Linux. The truth of the matter is that large parts of Solaris kernel have been reimplemented in FreeBSD to add native support for ZFS. Linux implementation relays on FUSE.
- It is possible to use ZFS Volume as a iSCSI Target
- It is possible to share ZFS via NFS and SMB
ZFS bad
- Well known data base degradation (not suitable to keep SQL data bases).
- No file grained journaling like hammer history.
- No volume growing at least FreeBSD version.
ZFS ugly
- CDDL license.
- Extremely complicated peace of software. List of files required to compile ZFS into FreeBSD kernel support is very loooong.
- Legally associated with Oracle.
- Native encryption for ZFS has been only available in Oracle version.
- Upstream is dead. I don't know much about you but OpenZFS doesn't inspire lots of confidence in me.
- Fine grained journaling with HAMMER history beat a pants out of everything around.
- HAMMER has high focus on data integrity.
- Backup ready having network aware hammer-snapshot/hammer-stream.
- Phenomenal performance with with SQL.
- Much lower RAM requirements for HAMMER de-duplication than ZFS.
- Pseudo-Filesystems (PFSs).
- Fully open source with nice BSD license attached to it
- It is possible to share HAMMER via NFS.
HAMMER bad
- No self healing.
- No compression.
- No volume growing.
- mirror-snapshot/stream are read only and require human intervention to be deployed.
- PFS can't be used as iSCSI target.
HAMMER ugly
- HAMMER 1 is dead end. The file system has reached limitations of its original design and no new features are planned/possible.
- Not portable https://wiki.freebsd.org/PortingHAMMERFS.
Finally, the DragonFly community is really tiny and charismatic. People are really cool but there are too few of them to stabilize infrastructure which is needed for enterprise solutions. FreeBSD also has a meaningful vendor support with HBA cards and RAID cards for that matter which should be used only with UFS. DF jail infrastructure is stuck in 2005 although there is a Google Summer Code project 2015 to sync DF jails to FreeBSD 9.xxx.
As a matter of subjective opinion I will tell you that DF new network stack and the whole OS feels smoking fast comparing to FreeBSD. As a matter of fact I have not seeing anything faster than DF on my hardware period (I have Red Hat computing nodes and OpenBSD too beside FreeBSD).
Last edited: