I have 2x4tb (A,B) and 1x8tb (C) drives. Is it possible with ZFS to create an 8tb mirror, where one of the 8tb drives is actually two 4tb drives?
To me this makes logical sense; keep half the data from C on A, and the other half on B. If any drive is lost, the other one/two has the data, but I haven’t been able to find any talk about such a setup (though that may be by lack of search skills).
I know you could also run raidz1 with 3x4tb, only using half of C, but I’m still curious about how the setup above would work.
Yes, it’s technically possible in the command-line, but it would not offer additional benefit, while adding needless risk of losing your data. If the “split” disk fails, it’s the equivalent of losing a drive in two different mirrors, putting both vdevs at a non-redundant state, rather than just one. Such a situation would require you to resilver both vdevs with replacement disks.
So what you’re saying is that if one of the 4tb’s is lost and replaced, both 4tb drives would have to be resilvered, and with regular raidz1 you would only need to resilver the new drive?
Oh okay, so in this scenario there are two mirror vdevs, each of 4tb usable storage. I was curious about whether you could have something of a hierarchical vdev or equivalent:
I already have a pool with the two 4 TiB drives, so I’ll have to destroy it regardless, but thanks for the warning and the explanations, they’ve been very helpful!
It’s much harder to do than you realize, because Discourse’s “preview panel” (seen on the right side when you are writing a post) causes your text cursor to act buggy, and it will even apply an “auto-resize” which crops out the flowchart.
In order to make a flowchart, you need to do it “blind”, without a real-time preview. (You have to memorize the syntax and rules.)
Start with a 2x4TB mirror vDev with the 8TB as a hot-spare.
If you want to, buy a 2nd 8TB drive now and create a second 2x 8TB vDev in the same pool.
Alternatively, wait until one of the 4TB drives fail, and then replace it with an 8TB drive and then migrate and replace the remaining 4TB drive with an 8TB one.
OPTION 2
Create a 3-wide RAIDZ1 vDev for 8TB useable space.
Replace drives as they fail with 8TB drives.
In a few years you will probably have 3x8TB drives and have 16TB useable space.
My biggest limiting factor right now is cost. I want to eventually get up to a single raidz2 vdev of 16TB drives (I have 6 bays). I started with a 4TB drive and my plan was to slowly increase the size of the drives over time as I needed more space, but it seems I’ve made some misinformed decisions along the way.
Based on eveyone’s advice, I think I’ll get a 16TB drive now, keep my 2x4TB mirror, create a 2x8TB mirror, eventually get more 16TB drives to create a 16TB raidz2 vdev and start getting rid of the smaller capacity drives.
Just to double check you on this, you’re going to use the 16TiB drive that you purchase to create a 2x8TiB mirror with the 8TiB drive you already have (mirrors will fit to the size of the smallest disk, so you’ll lose 8TiB temporarily)? There’s nothing wrong doing it this way, just want to make sure that is your intention.
One thing of note is that if the 8TiB disk goes, the minimum size you’ll be able to attach is a 16TiB disk as you can only attach a drive the same size or larger.
When you put in the final 16TB drive you will have 2x vdevs each of which is a mirror.
It will not be possible to convert this to a RAIDZ2 without taking off ALL the data and erasing the existing pool and creating a new RAIDZ2 pool. So you may be stuck with 2x 16TB mirrors instead.
Your proposed plan has you starting with 12TB of useable space, moving to 20TB of useable space when you replace the 8TB drive with a 16TB drive, and ending with 32TB of useable space when all drives are 16TB, but you will be stuck with 2x 16TB mirrored vdevs.
If you start now with a RAIDZ2 across the existing 4 drives you will have 8TB useable space. When you insert the last 16TB drive you will have 32TB space, but no growth in space in between.