RAIDZ Regret

My current setup is as follows:

  • TrueNAS 25.04.2.6
  • two datasets
    • Main
      • This is made up of 3 x 6TB HDDs, configured in RAIDZ1.
    • Apps
      • This is made up of 2 x 128GB SSDs, configured as a Mirror.

The “Main” dataset stores all my data. The “Apps” dataset stores the apps themselves. I am having RAIDZ1 regret as I am wanting to expand the “Main” dataset in future, to 8 x 6TB HDDs total. Ideally I would have this in a RAIDZ3 configuration, so that I would have 30TB of usable storage.

My understanding is that it is impossible to change RAIDZ configurations after the fact. Is the best option to create a separate dataset using 5 x 6TB HDDs in RAIDZ3, migrate the data between the datasets, and then add the 3 x 6TB HDDs from the old “Main” dataset to the new dataset? Any issues when migrating datasets, e.g. with app configurations etc.?

Consider me technically semi-literate! I am by no means fluent.

Why Raid-Z3? Raid-Z2 is a bit more common. Do you need three disks of redundancy and are you backing up your data elsewhere? Raid-Z3 screams this is your only source of data and no backups.

If you have excellent backups, it would be best to restore the Main data pool from that after destroying and creating the final pool as Raid-Z3.

Posting your hardware details and what apps you are running may help as we can offer advice on anything that could use improvement or isn’t really helpful to your setup.

3 Likes

This, but with “pool” instead of “dataset”. And then you may rename the new pool to match the name of the old pool.
With the caveats of raidz expansion, of course: Wrong space reporting, optional rewrite of old data to match the new width.

Going from raidz1 to raidz3 may be a bit over the tpo, though. 8-wide raidz2 is a common choice.

4 Likes

@SmallBarky @etorix This is great, thank you. So to be clear, you’d recommend simply destroying the “Main” pool, creating the new “Main” pool, and restoring from backup? I use Backblaze B2 to back up.

Apps:

  • anki (docker)
  • audiobookshelf
  • automatic ripping machine
  • baïkal (docker)
  • immich
  • jellyfin
  • navidrome
  • nginx-proxy-manager
  • pihole
  • syncthing
  • tailscale

Relevant hardware:

  • Intel i3-14100
  • 2x Patriot P300 M.2 PCIe Gen 3 x4 128GB (for boot)
  • Gigabyte B760M DS3H DDR4
  • Crucial RAM 16GB Kit (2x8GB) DDR4 3200MHz CL22
  • 3x Seagate IronWolf 6TB, Internal NAS HDD, CMR 3.5 Inch, SATA 6GB/s,
    5400 RPM, 256MB Cache for RAID NAS (ST6000VNZ06)
  • 2x Patriot P210 SATA 3 128GB SSD (for “Apps” pool)

Yes, if you have the option to restore from backup, directly creating an 8-wide raidz2/raidz3 has benefits over creating at 5-wide and expanding 3 times.

2 Likes

Got it. And no danger of data mismatching in terms of apps finding the restored data? I haven’t restored from backup before so it’s alien to me.

This is not useful advice, but “bad things can always happen”.

However, there shouldn’t be an issue.

1 Like