@ttabbal provides solid advice..
@frogtech
I have been running zfs since about 2008 and I have NEVER needed log devices.. even with my esxi home lab all-in-one let alone a file server.
I ran/run a media server with zfs on OS X since 2008 and with a 8 disk pool serving over 16tb of data to multiple clients.. did fine with 8gb of ram (not ECC) and no log devices. that 8gb had to run OS X and underlying apps like the media server, OS X server, and a security camera program.
my current (primary) server at home is a dual cpu l5640 12 core 48gb (ECC) machine. it serves 2 online pools, (1 large media pool on spinners, and a VM pool for esxi on a 2 SSD stripe).. it is obviously esxi based with a ZFS VM (ominios - best ZFS after solaris) providing storage for 6 VMs (media, security cameras, vcenter, etc) over internal NFS while media is served to the media VM via internal SMB. multiple clients hitting media and the security cameras (6) writing 24/7 and no issues WITHOUT log devices. ZFS VM is only allocated 6GB.. thats right 6.. and it does fine.. and it also hosts an offline via a 4E port on the lsi card.. my backup shelf which is a 3xraidz1 stripe of 15 drives ... with everything going.. VMs active.. that pool scrubs at 950MBs saturating the link.. way fast enough for me .. and it writes at over 650MBs if I remember right. incremental backups take seconds... I could improve my VM pool slightly by adding a ZIL, but it would only improve fragmentation since the VMs have not been write contained and fragmentation will only cost me a storage space penalty, not speed.. I don't care.. when it frags too back.. I will secure wipe the SSDs, destroy/create the pool again and copy the data back from BACKUP.. done..
here is the thing with ZFS and nobody around here talks about it the right way... ZFS is OVERLY flexible. its a large bag of tools and an even bigger bag of tuning knobs and switches.. and there is NO BEST WAY to set it up.. and you really don't need a GUI.. I managed my ZFS 8 years ago with like 8 ZFS commands.. and you will learn what you are doing and WHY.
people are always asking and most reply.. oh you can only set it up as stripped mirrors.. bla bla.. with zfs you have to pick the right tools for you workload, COST, hardware, and RISK tolerance
for example..
people complain that you can't expand raidz, well yes you can .. with another raidz... they complain that that is too expensive.. well then don't use it. raidz is NOT backup.. its not even insurance... it was designed ONLY TO KEEP THE DATA ALIVE long enough for admins to switch over to a BACKUP.. i.e. an essential database or website that you don't want to go down if a device drops.. the pool will serve data... raidz is a great structure if you just want some bitrot protection .. say on a backup pool that spends it life offline.. that way if there is some corruption .. it can be repaired.. but if my backup pool faults an entire drive.. I don't do a rebuild from redundancy .. I destroy the pool replace all the drives if they are really old since one failed more are likely.. but once I square the hardware.. build a new pool and just backup to it again from scratch. but I have 2 backups..
a cost effective way at home is to just run (online) a basic stripe.. thats right.. no redundancy.. its the fastest structure and has ZERO overhead.... add disks when you need them 1 or 2 at a time... I do 2 so that data is read and written to at least 2 disks.. plenty fast for what I need. (over 300MBs) write and that is when all but 2 drives are 90+% full). and read saturates the controller.. . cost effective, and since a run a offline backup pool that is a raidz.. I have plenty of redundancy for failure, betrot, ransomware, etc. When I get to 5 drives and either run out of storage or say.. they are 4 years old.. I will buy say 2 new drives that now have the capacity to replace those 4-5.. copy the data over.. then add the old 5 drives as ANOTHER raidz1 dev to my backup shelf.. voila ... This works for ME.. I have ZERO online cost overhead for my main pools and my BACKUP pools are FREE. it my not be what you want ... but that is what makes ZFS a best in class storage system .. smart storage engineers have great flexibility ...
biggest takeaway.. mirrors/raidz is NOT BACKUP... its data redundancy to allow UPTIME.. the structure used is more a performance issue.. not how SECURE you non existent backup is... you MUST have a backup pool... period.. that is probably the only hard fast rule with ZFS.. like any other data storage system. you run without a backup pool.. you will eventually loose data.. probably from a il-entered command not hardware failure
second biggest takeaway.. if you are not reading from SUN/SOLARIS source manuals how to run and admin ZFS.. you are going to loose data.. coming here and getting half baked internet commando advice and trusting your data to it without understanding what you are doing is going to cost you your DATA.. that is a guarantee... zfs is powerful.. and CAN be complex.. and with great power comes great opportunity to screw it up.. keep it simple.. make it more complicated IF YOU NEED TO.
99% of the people here.. mostly the freenas crowd.. are using ZFS wrong.. way overkill in the hardware department.. and using pools in a less efficient way.
again.. I can run an entire media server. (my backup is still that 8 year old machine) and its an e8400 with 8GB ram serving (now) as a 2nd backup of data and primary backup for hardware.. with a 8 drive raidz1, compression on, and it can write at network line speed and serve at line speed to multiple clients.. while having enough cpu for compression, checksum, AND transcoding of media on the fly.. and that is 8YO hardware. it scrubs at over 500MBs..
with ZFS at home.. start off slow.. look at your REQUIREMENTS.. and plan your hardware and pools efficiently and ZFS won't cost a fortune and you won't loose data.. Unless you have money to burn and want geek bragging rights that your $16000 home storage server runs all the latest and greatest optain bla bla.. personally someone that brags about spending $16,000 to do the work of $1000 is a fool .. especially if they brag about it....
I have not lost a single file in 8 YEARS. that is 8 YEARS... 70,000 HOURS UPTIME.