I would appreciate your opinion and input on my approach.
I’m moving from 2012 built Windows Server 2012 with RAID-5 that still has 7.5 TB available out of total 9 - so, I dont need much space.
Building a new storage system on:
QNAP TVS-h874T 12 gen i9-12900E with 64 GB RAM (non ECC ), 8 bays, 2 m.2 slots
Using:
8 IronWoolf Pro 12TB drives
1 m.2 WD Red 2TB for L2ARC
1 m.2 Kingston 1TB for OS (will upggrade to RED)
Needs:
Mostly SMB storage and data preservation/resiliance
One Linux VM for random once or twice a year tasks
Entertaining an idea to create Win 11 VM and instll Proton Drive on it to constantly sync Documents folder to my Proton Drive cloud
Utilizing TrueNAS snapshots, scrubs and SMART tests
UPS tested to shut down when low on battery
Here is how designed additional data protection UNTIL I get a second TrueNAS hardware for my second home to actually have data in separate locations, until then:
My Clonepool is not accessible by anyone but just 1 user
that 1 user runs nightly rsync cron job to copy everything from Datapool to Clonepool syncing all propagating deleted files - so, pretty much cloning.
My Idea is that I at least have 2 copies of my data, each utilizing snapshots and, while these copies are not entirely “independent” as they are on the same HW box, at least they are on different drives and with different ACLs. This seems to allow me pretty luxurious HDD failure tolerance and data availability.
Would’ve you done this differently?
Thank you for your time
Too large. 640 GB max. with 64 GB RAM.
And possibly not necessary…
A hot spare on raidz2 is of dubious use. If you’re paranoid, go straight for raidz3 and no spare.
Though a better use of this drive might be as third member in the clonepool mirror.
Yup, I suspected it would be unnecessary and too big, but price diff between a smaller drive was just not significant and I decided - WTH, who knows how I’m going to use this box in 5 years
I can still do that, right? Remove it as hotspare and then expand the mirror with it? … just did a quick search on this, not easily huh.
Changing from RaidZ2 to RaidZ3 is pool recreation, I think. You can remove the hot spare and expand the RaidZ2 vdev by one disk more. The size reporting is still funny though after expansion. If you used the hot spare and add it to the mirror pool you would have a three way mirror instead of two way
I am assuming you are on the newest and latest SCALE release though.
Not having ECC memory is not that much of a worry for a home server.
64GB of memory is much much much more than you need for TrueNAS plus a small Linux VM. 32GB would be fine, but more memory is never a problem - and with 72TB of useable space, you will get more stuff in cache.
You almost certainly won’t need L2ARC. But these m.2 WD Red would be good for a SSD pool for VMs and apps. You should replicate it to HDD as a backup.
You should see if you can run Proton sync in a docker image rather than a Windows VM. Simpler and so more likely to be reliable.
Use ZFS replication rather than rsync to copy to the clone pool.
And I agree with what @etorix also said about L2ARC and hot-spare with Z2.
I did briefly look into that but from what I found, maybe incorrectly, that replication wouldnt give me a true copy of my files, it would give me a path to re-create my data from snapshot - am I wrong? I went with the copy thinking that if main pool fails/data corruption/whatever, i can just assign permissions to Clonepool and share it right away getting immediate access to my files.
And that would give me full “stand-alone” (no need to rebuild or have source Datapool present) immediately available access to my data?
Damn! There goes my 2 days creating scripts with Grok, setting up schedules, permissions, testing, etc … Ehh, it was good experience. BTW, Grok is freaky good
Replication would portably be more efficient and faster than my hack-job rsync -u --delete,woudlnt it?
Yes. Replication creates a read-only copy at the destination. You can mount it as is (i.e. read only). You can remove the read only flag (this prevent further replication from the source), and makes it the new working dataset.
And replication always beats rsync on speed.