Do you lose all of your data in a zpool with 2 x RAIDZ1 if 2 drives die in the same vdev?

oRAirwolf

Explorer
Joined
Dec 6, 2016
Messages
55
I have a new backup server that receives a daily rsync from my primary file server. It does not serve up any files to my network and is just It is running with a zpool comprised of 12 x 8TB drives in 2 vdevs comprised of 6 x 8TB drives in RAIDZ1. I am curious what happens if 2 of the drives in one of the vdevs died at the same time. Would I lose all of my data across the entire pool or would I just lose the data stored in the vdev? If I would lose the data off the entire zpool, as random performance isn't really much of a concern, would it be better to run a 1 x 12 drive vdev in RAIDZ2 to allow for more parity?
 

Spearfoot

He of the long foot
Moderator
Joined
May 13, 2015
Messages
2,478
I have a new backup server that receives a daily rsync from my primary file server. It does not serve up any files to my network and is just It is running with a zpool comprised of 12 x 8TB drives in 2 vdevs comprised of 6 x 8TB drives in RAIDZ1. I am curious what happens if 2 of the drives in one of the vdevs died at the same time. Would I lose all of my data across the entire pool or would I just lose the data stored in the vdev? If I would lose the data off the entire zpool, as random performance isn't really much of a concern, would it be better to run a 1 x 12 drive vdev in RAIDZ2 to allow for more parity?
A RAIDZ1 vdev fails if you lose 2 drives. You would lose all of the data in your pool of 2 x RAIDZ1 vdevs if this were to happen.

You could indeed create a pool made up of a single RAIDZ2 vdev of 12 drives, but this is considered a little too 'wide' and would lack in performance. A pool made up of 2 RAIDZ2 vdevs, each containing 6 drives, would be a reasonable alternative; you would have to lose 3 drives in one of the vdevs before you would lose your pool, but you would be sacrificing 4 disks for parity.

Alas, there are always tradeoffs...
 

oRAirwolf

Explorer
Joined
Dec 6, 2016
Messages
55
A RAIDZ1 vdev fails if you lose 2 drives. You would lose all of the data in your pool of 2 x RAIDZ1 vdevs if this were to happen.

You could indeed create a pool made up of a single RAIDZ2 vdev of 12 drives, but this is considered a little too 'wide' and would lack in performance. A pool made up of 2 RAIDZ2 vdevs, each containing 6 drives, would be a reasonable alternative; you would have to lose 3 drives in one of the vdevs before you would lose your pool, but you would be sacrificing 4 disks for parity.

Alas, there are always tradeoffs...

I appreciate the quick response. This server is literally only used for backup purposes and the backups run overnight when I am asleep, so performance isn't much of a concern. I will switch it over to RAIDZ2 with a single vdev and do some performance testing to see if there is any serious degradation when using rsync. Seeing as how rsync is usually the weak link, I doubt there will be.

Thanks again!
 

Heracles

Wizard
Joined
Feb 2, 2018
Messages
1,401
Hii oRAirwolf,

If your plan is to put all drives in a single vDev, you may consider RaidZ3 instead of RaidZ2. As the name suggests, RaidZ3 will survive the loss of 3 drives instead of 2.

So ask yourself how much space you actually need / How many drives can you dedicate to redundancy.
1 drive for redundancy : All 12 drives in a single RaidZ1 vDev. Not recommended at all and below your actual config.
2 drives for redundancy : All 12 drives in a single RaidZ2 vDev. Same number of redundant drives but better protection because you can loose any pair of drives instead of 1 per vDev as of now
3 drives for redundancy : All 12 drives in a single RaidZ3 vDev. Increased protection
4 drives for redundancy : 2x 6 drives in RaidZ2 vDevs. Will also offer better performance
More than that, you can look at the equivalent of Raid10, using hot spare, etc.

Better be safe than sorry when designing redundancy....
 

toadman

Guru
Joined
Jun 4, 2013
Messages
619
The 1 vdev x 12 drive RAIDZ2 keeps the same effective pool size vs the 2 vdev x 6 drive RAIDZ1 config, so I can see why that is attractive. One thing to consider is resilver time, which I think will get worse with RAIDZ2.

So if there is no issue on pool capacity I would second the suggestion from Heracles and recommend considering 1 vdev x 12 drive RAIDZ3. Though I realize it's backup and loss of the pool may be not that big of a deal. One has to think through the failure scenario. Can you withstand the potential multi-day rebuild? Etc...

Capacity was (is) an issue for me on my backup, so I'm running a 1 vdev x 8 drive RAIDZ2. Periodically I have to destroy it and add drives. I'll probably limit it to 1 x 10 drive RAIDZ2. Any larger and I'd probably jump to 2 x 7 drive RAIDZ2 (I'd have to skip 2 x 6 drive Z2 as it's the same capacity as 1 x 10 drive Z2.)
 
Top