January 23Jan 23 The Unraid Docs and the r/Unraid subreddit have been a treasure trove of information, but I'm still no closer to knowing what's the optimum configuration for my mix of HDDs and SSDs. I'm hoping this community can help me with some expert suggestions. My main goal for setting up my home server is to act as a media server and store family documents/photos/videos. I chose Unraid because I already had a mix of HDDs and SSDs, of varying sizes.These are the drives I can put into my server:2x 16TB HDD1x 10TB HDD1x 8TB HDD1x 8TB SATA SSD1x 4TB SATA SSD2x 2TB SATA SSD1x 1TB NVMe SSD (think I will put this in my workstation instead of my server, unless there is a good reason otherwise)I initially thought it would be as simple as chucking everything into a single array, with one of the 16TB HDDs as a parity drive. Then I read about cache pools and how they can improve write speeds. Then I also read that putting SSDs into an array would be suboptimal at best, and unsupported at worst. My main priority is to maximise capacity - I currently have about 35-40TB of data which I intend to store on my Unraid server. I'm okay with the minimum amount of redundancy - that's why I was okay having just the single 16TB parity drive. Having a cache would be cool too, if possible for my configuration.Any and all suggestions for an optimum configuration for my setup are welcome.
January 23Jan 23 Community Expert Solution HDDs in array with 16TB parity.SSDs in the array can only be written at parity speed and cannot be trimmed, so better if they are in pools outside the array.2x2TB SSDs could be a mirror for your Docker/VM related shares - appdata, domains, system.The 4 or the 8 should be more than enough for caching writes.
January 23Jan 23 Author 6 hours ago, trurl said:HDDs in array with 16TB parity.SSDs in the array can only be written at parity speed and cannot be trimmed, so better if they are in pools outside the array.2x2TB SSDs could be a mirror for your Docker/VM related shares - appdata, domains, system.The 4 or the 8 should be more than enough for caching writes.Thanks, that sounds like a good idea. Someone on reddit also suggested:Unraid Array: 1x16TB Parity, all other HDD as array disks; 34TB usable, fully protectedCache Pools:POOL #1 - btrfs raid1 of the 1x8TB + 1x4TB + 2x2TB. 8TB of usable space, fully protected. Use for appdata, system, domains, Docker/VM related shares.POOL #2 - single 1TB nvme SSD and use as an array cache for downloads / data, etc.Do you see any issues with this?
January 24Jan 24 Community Expert none.however I'm pro zfs and pool only setups. Review:https://www.youtube.com/watch?v=UR5RCItyCswSome Q/A per your post:First: clear up the big misconceptionsSSDs in the Unraid arrayYou read correctly:SSDs should NOT go in the traditional Unraid parity arrayTrim + parity don’t mixPerformance is worse, not betterIdeally SSDs belong in pools, not the array.Cache pools ≠ just “cache” anymoreIn modern Unraid, pools are:Full-fledged storage tiersCan be Btrfs or ZFSCan host appdata, VMs, media staging, photos, etc.You are no longer limited to a tiny “cache disk”.ZFS is now first-class in UnraidThis is the key unlock for your setup.ZFS gives you:Checksumming (bit-rot protection)Snapshots (huge for family photos/docs)Better SSD pooling behaviorMuch clearer performance characteristicsFor a new Unraid user in 2026, ZFS pools are no longer “advanced only”. They’re recommended when the disks make sense.Your goals (translated into storage design)From what you said, your priorities are:Maximize usable capacity (you already have ~35–40 TB)Single-parity is fineGood write speedSafe storage for irreplaceable dataNot fragile or weirdGood news: your disk mix is actually excellent for a hybrid Unraid + ZFS layout.Recommended High-Level Design:LayerPurposeArray (HDDs)Bulk media + large cold storageZFS SSD poolFast, safe storage for photos, docs, appdataOptional NVMeScratch / workstation (or later server upgrade)So here is my Concrete Recommended Configuration1. Unraid Array (HDDs only)Use this for:MoviesTV showsBackupsLarge archivesDrives:Parity: 1 × 16 TB HDDData:1 × 16 TB HDD1 × 10 TB HDD1 × 8 TB HDDResulting usable capacity:16 + 10 + 8 = 34 TB usable This already holds most of your existing data.Why this works:Parity must be ≥ largest data disk: https://docs.unraid.net/category/manage-storage/HDD array excels at large sequential reads (media)Simple, well-understood, very stable* Do not put SSDs here2. Primary SSD Pool — ZFS Mirror (important data)This is where ZFS shines.Drives:2 × 2 TB SATA SSD → ZFS mirrorUsable: 2 TBRedundancy: Yes (1-disk fault tolerant)Use for:Family photosDocumentsPersonal videosNextcloud / Immich / photo appsAnything you cannot re-downloadWhy this is ideal:ZFS checksums protect against silent corruptionSnapshots protect against accidental deletion/ransomwareMirror keeps it simple and fastThis pool becomes your “gold tier” data. to copy into for deep stroage / use (immich settup)3. Secondary SSD Pool — ZFS Stripe (performance + capacity) raidz1You still have:8 TB SATA SSD4 TB SATA SSDThese do not mirror cleanly, so don’t force it.Recommended:Single ZFS pool using both disks as individual vdevs (striped)Usable: ~12 TBRedundancy: ❌ none (acceptable by design)Use for:Media stagingDownloadsTranscodesDocker appdata (with backups)Scratch spaceWhy this is okay:ZFS still gives checksummingData here is replaceableMassive speed boost over HDD arrayYou keep maximum capacityIf a disk dies here → inconvenience, not disaster.4. NVMe SSD (1 TB)Your instinct is correct.Best choice:Put it in your workstationUnless:You plan on running heavy VMsOr lots of real-time transcodingOr want a future L2ARC/SLOG experiment (not needed yet)Unraid doesn’t benefit enough from a single small NVMe to justify pulling it from your desktop.📁 How data should flow (important)Set your shares examples like this:ShareLocationNotesmediaHDD arrayNo cachephotosZFS mirror poolSnapshots enableddocumentsZFS mirror poolSnapshotsappdataSSD striped poolBacked up nightlydownloadsSSD striped poolMover to arrayUnraid handles this beautifully once shares are set correctly. user script plugin and some scripts on the forum to assist with data movement and deep storage...So, About redundancy & backups (real talk)Parity ≠ backup. ZFS mirror ≠ backup.For irreplaceable data:ZFS snapshots (daily/weekly)External backup (USB or cloud)Even a cold HDD rotated monthly is enoughYou don’t need RAID-Z2 or dual parity for home use unless uptime is critical.
January 24Jan 24 Community Expert I would actual recommended multiple pools of zfs raid z1:Beginner-safe ZFS-first Unraid design with two RAID-Z1 groups, plus a practical Docker stack (Immich-centric) that won’t paint you into a corner later.This assumes Unraid 6.12+ with native ZFS support.High-level architecture (what you’re building)You will have:ZFS Pool A (RAID-Z1, HDDs) → bulk media + archivesZFS Pool B (RAID-Z1, SSDs) → photos, documents, Docker dataDocker stack → Immich + media servicesSnapshots + scrubs → data integrity and recoveryThis avoids the legacy Unraid parity array entirely and gives you:End-to-end checksummingSnapshotsPredictable performanceSimple mental modelExample:ZFS Pool Layout (recommended)Pool 1: tank_media (HDD RAID-Z1)Disks16 TB HDD10 TB HDD8 TB HDDLayoutZFS RAID-Z1 (1-disk parity)Usable capacity~18 TB usable (smallest disk × (n-1))PurposeMoviesTV showsLarge videosISO / archivesAnything replaceable or re-downloadableWhy this worksRAID-Z1 is fine for 3 disksSequential media workloads are ideal for HDD ZFSOne-disk failure tolerance🟩 Pool 2: tank_ssd (SSD RAID-Z1)Disks8 TB SATA SSD4 TB SATA SSD2 TB SATA SSD⚠️ Yes, mismatched sizes are okay — ZFS will normalize to the smallest disk (2 TB).Usable capacity~4 TB usablePurposeImmich photos/videosDocumentsAppdataDatabasesAnything irreplaceableWhy RAID-Z1 hereSSDs fail silently more often than HDDsRAID-Z1 + ZFS checksums is vastly safer than Btrfs cacheStill much faster than HDDsWith future replainge the smallest disk over time to increase storage...Assuems future expansion to mathc disk sizes latter.... Spare drives (recommended)1 × 16 TB HDD → cold spare / offline backup1 × 2 TB SSD → future mirror, hot spare, or app expansionOr l2arc and side setups for zfs metadata...Dataset design (very important) example...Create datasets, not one giant filesystem.On tank_mediatank_media/media tank_media/movies tank_media/tv tank_media/downloads Properties:compression=lz4atime=offNo snapshots needed (optional)On tank_ssdtank_ssd/photos tank_ssd/documents tank_ssd/appdata tank_ssd/immich tank_ssd/postgres tank_ssd/backups Properties:compression=lz4atime=offSnapshots ENABLEDSnapshot policy (simple & safe)For tank_ssd datasets:Hourly snapshots (24h retention)Daily snapshots (14–30 days)Weekly snapshots (3 months)Use ZFS Master plugin or Sanoid(3rd party install).This is huge protection against:Accidental deletesBad Docker updatesRansomwareDocker stack (Immich-focused)All Docker data lives on tank_ssd/appdata.Brandon Martino - Personal SiteImmich-on-Unraid-CA-DockerBrandon Martino - Personal SiteSome Core containers exampleFOr Photos Immich (self-hosted photos)Image: ghcr.io/immich-app/immich-serverUploads: tank_ssd/immichDB: separate Postgres containerImmich containers:immich-serverimmich-microservicesimmich-machine-learningpostgresredisImmich benefits heavily from:SSD I/OZFS snapshotsLarge datasetsMedia stack (optional but common)I recommend plex / *Ars stack...AppPurposePlex / JellyfinMedia streamingSonarrTV automationRadarrMovie automationProwlarrIndexer managementqBittorrentDownloadsMedia flow:Downloads → tank_media/downloads Processed → tank_media/movies / tv Infrastructure containers (recommended)*Contained and controlled is you use the docker compose guide posted above...ContainerWhyMariaDB / PostgresDatabasesRedisImmich, cachingNginx Proxy ManagerHTTPSWatchtower (optional)Auto updatesDuplicati / KopiaBackupsUnraid plugins you should installPluginWhyZFS MasterScrubs, monitoringCA Backup / Restore AppdataDocker safetyFix Common ProblemsPrevent mistakesUser Script PluginCron and custom user scriptstips and tweaksgeneral helpful info for the eunriad web ui.ZFS maintenance scheduleSome scripts:*https://forums.unraid.net/topic/178033-bmartino1-user-scripts/Scrub: monthly (both pools)SMART tests: monthlySnapshot pruning: automaticBackups: at least one offline copyWhy this beats “classic” Unraid for your caseDitch the standard unraid array go pool disk groups only.Classic ArrayZFS PoolsNo checksumsEnd-to-end integrityParity ≠ corruption detectionSilent corruption detectedCache complexityClean tiered poolsLimited snapshotsNative snapshotsYou still keep Unraid’s Docker/UI strengths — just with a modern storage backend.My Final verdictThis setup:Maximizes data safetyIs new-user safeUses ZFS where it mattersAvoids SSD-in-array footgunsScales cleanly laterIf you want next steps, I can:Map this exactly to Unraid UI clicksGenerate docker-compose / CA templatesDesign a backup rotation planHelp size RAM for ZFS ARCPro cons to each.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.