General opinion needed for overall setup and configuration

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 :frowning: ), 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

Here is what I’ve done so far.
Pools:

  • Datapool - Z2 on 5 HDD + 1 HDD hotspare + 2TB WD m.2
  • Clonepool - Mirror on 2 HDD

For protection:

  • 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.

1 Like

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.

Thank you for your time and suggestions

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.

1 Like

I’m suggesting turning clonepool into a 3-way mirror. This can be done at any time, on any version of TrueNAS and size reporting works. :wink:

1 Like

My personal opinion:

  1. Not having ECC memory is not that much of a worry for a home server.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

2 Likes

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.

Am I wrong?

A snapshot is just metadata but replication copies the snapshots and the data they hold.

1 Like

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 … :slight_smile: 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. The replication would be an almost perfect zfs clone. And faster and more efficient.

1 Like

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.

1 Like

In essence when you use replication it knows what was already sent and it just streams the changes.

When you use rsync it needs to check individually whether each and every file needs to be sent - so it is much less efficient.

1 Like

Really? Docker can do this? I have no idea what docker is or how it works - never used one - but I’ll read up. Thank you for the hint