What raid would you recommend for 4 drive config? [x4 28TB]

I have a DXP4800 Plus from UGREEN and have been really enjoying it. I previously had two 10TB drives mirrored but maxed that out because I host Jellyfin for my friends and family and they watch a lot of content.

I finally pulled the trigger and bought 4 28TB drives that will be arriving tomorrow and am trying to do research whether it should be in a striped mirror or RAIDZ2.

I also plan on using two 2TB 990 Pro’s (upgraded to the latest firmware) as a special VDEV for metadata and small block storage.

Looks like in openZFS 2.4 it will also be used for the ZIL which is nice because my homelab is currently using a NFSv4.2 Kerb setup.

What do you guys think?
Mirror + Stripe? - Performance but less redundancy
RaidZ2? - Redundant but less performance (I read that resilvering large drives takes FOREVER, but I don’t have experiencing in it)

Also yes - raid is not a backup, I won’t be backing up my whole pool as the movies/shows I can re-download. I typically reserve 1-2TB for personal data such as immich photos, etc which will be backed up.

If that is the case I’d recommend a RAIDZ1 to maximize usable capacity.

I don’t see why you’d need the performance boost from a RAID10 in this scenario either - same for the 990 Pros as cache although you didn’t write what exactly you’re storing with you NFS kerberos setup that would do so many sync writes.

I would use the 990 Pros as a seperate fast mirror for the containers, their config, databases and stuff while keeping the big files on the RAIDZ.

If you do notice that you need more performance you could still replicate the ssd pool’s content to the raidz afterwards, dissolve the SSD pool, add the SSDs as special vdev and so on and then rebalance the pool so it actually gets used.

1 Like

I would also do a raidz1 with the 4 28 TB drives for media data and a stripe or mirror with the nvme (depending on how much storage you need) for containers/vms. No need to waste storage vs performance when the usecase is basically a media server where even 30 MBit throughput per stream would be sufficient. You could probably still serve 25-30 of those streams at the same time anyways.

1 Like

Exactly, I personally wouldn’t feel too great about striping the SSDs but you could of course set up a replication job to the RAIDZ as 2TB more or less wouldn’t be too noticable there.

If one of the NVMes failed you’d have some downtime though.

Just make sure to do regular scrubs and maybe SMART tests (although long ones will take a while with 28TB drives) as you’ll probably want to replace a failing HDD asap and if possible with a USB adapter so the NAS won’t have to recalculate all the data. Resilvering a 28TB HDD could take very long otherwise and there’ll be some risk that another drives fails in the meantime.

1 Like

2 TB NVMe are plenty for apps. Create the app pool first so that the system dataset lands on it.

The use case may not require a special vdev at all. But is this is the path taken, the special vdev should be mirrorred.

he could move it afterwards but yes it would be easier that way of course

definitely yes

To the OP @TrevinLC1997

The question about configuring 4 drives as either striped mirrors or RAIDZ2 really comes down to your tolerance for disk failure. With striped mirrors, if two disks in the same mirror fail then you lose the entire pool. With RAIDZ2, you can lose any two disks without losing the pool. Striped mirrors will have slightly more IOPS - true - but this mostly affects write performance.

What is your priority? You did not say… If your main use case will be Jellyfin, then write performance doesn’t really matter. I would also question the need for special VDEV. As has been pointed out, serving media is not all that taxing.

System: TrueNAS 25.04.6.2 | Supermicro X9SCM-F | Xeon E3-1240V2
32GB ECC RAM | PNY 120GB SSD for boot
3 WD Red 4TB + 1 HGST Deskstar NAS 4TB in RaidZ2
Toshiba 128GB M.2 SSD