Understood.I wouldn't say so.
If you loose/corrupt metadata writes to your hdd vdevs or loosing them to the special device vdev of SSDs is equally catastrophic.
One may of course argue that any added complexity is a way of additional points of failure.
I'd say the main reason special vdevs are not as popular around the forums is there is not much use for them for most people. Add a bit more complexity and additional hardware in typically already <device clogged servers> where drive slots needs to be economized, it oftentimes makes little sense. In some data configurations even less sense. It all depends on the circumstances.
Don't get me wrong, I'm grateful for all the advice I'm getting. I'm just trying to find the right balance of what works for me personally. I'm burning in 4x12TB HDDs right now and I still haven't decided whether to configure mirrors or raidz1.A special vdev can hold metadata, dedup data and small io. With the small io "caching" feature you can control via recsize whether a whole filesystem ist forced to a special vdev. (Beware, it should have the same ashift as the pool!)
So ... in a "regular" use case (without special vdev) metadata is (a) distributed (over multiple disks relative to the redundancy level) to a reserved area on the pool in (b) multiple copies (again relative to the redundancy level). How much redundancy has a single "special vdev" built from a single drive? I'd not go below tripple mirror. (Doing backups is mandatory anyway.)
Well. Yeah. But it's just hardware. Imagine, it's crashing from a dying PSU or a kernel crash or ... (fill in anything you could think of). If you don't care, fine. Do, whatever you want. I would have been glad, somebody told me to be careful, when I did my first ReiserFS-based file server.
If you are using 1^-14 URE drives, go RAIDZ2.I'm burning in 4x12TB HDDs right now and I still haven't decided whether to configure mirrors or raidz1.
and have better space efficiency
I'm not.If you are using 1^-14 URE drives, go RAIDZ2.
You don't want to have single parity.
Good for you.I'm not.
...Both?Good for you.
Then, what will be your use case? Plain storage = RAIDZ1; apps or VMs = mirror.
I think I'm finally starting to get it now, although my brain's a bit fried after reading primers and guides for the last two hours.Both is a PITA. Mirrors will store everything just fine but are not spacewise efficient. RAIDZ may not be spacewise efficient when used for block storage due to the way ZFS handles RAIDZ with padding and overhead. The best way is really two pools, one for each stprage use case.
I believe OP intends to use 4 drivesLooks fine although I personally would not go with anything less than RAIDZ2 - especially at 12 disks wide. I would not trust all 11 remaining disks during a full resilver ... one more failure and the pool is gone. Make sure to have a backup.
Mistook the 12 TB for the number of drives. Thanks.I believe OP intends to use 4 drives
my brain's a bit fried after reading primers and guides for the last two hours.
Hopefully this train of thought is a little less stupid.
One pool for data storage: raidz1 vdev of 4x12TB Seagate Ironwolf Helium HDDs and 1M recordsize. Add in a special mirror (x2 SSDs)
One pool for databases and VM images: SSD mirror