Re: raid10 redundancy
flat view
From: Adam Goryachev <hidden>
Date: 2021-05-19 03:42:19
On 19/5/21 09:48, antlists wrote:
On 18/05/2021 17:05, Phillip Susi wrote:quoted
Wols Lists writes:quoted
When rebuilding a mirror (of any sort), one block written requires ONE block read. When rebuilding a parity array, one block written requires one STRIPE read.Again, we're in agreement here. What you keep ignoring is the fact that both of these take the same amount of time, provided that you are IO bound.And if you've got spinning rust, that's unlikely to be true. I can't speak for SATA, but on PATA I've personally experienced the exact opposite. Doubling the load on the interface absolutely DEMOLISHED throughput, turning what should have been a five-minute job into a several-hours job. And if you've got many drives in your stripe, who's to say that won't overwhelm the i/o bandwidth. Your reads could be 50% or less of full speed, because there isn't the back end capacity to pass them on. Cheers, Wol
Jumping into this one late, but I thought the main risk was related to the fact that for every read there is a chance the device will fail to read the data successfully, and so the more data you need to read in order to restore redundancy, the greater the risk of not being able to regain redundancy. So, assuming all drives are of equal capacity, you will need to read less data to recover a RAID10 than you would to recover a RAID5/6, thus a RAID10 has a better chance to recover. 1) speed of recovery (quicker to read 1 x drive capacity instead of n x drive capacity even if all in parallel) (unless you can sustain full read speed on all devices concurrently I guess). 2) equal load on the single "mirror" device from RAID10 compared to load on ALL devices in the RAID5/6. 3) lower impact to operational status (ie, real work load can continue without impact on all reads/writes not involving the small part of the array being recovered, equal impact for read/write that does involve this part of the array). Right? Regards, Adam