1) I once had 2 parity disks, but "Parity 1" died and I didn't replace it, so the remaining parity disk is named "Parity 2". But it shouldn't matter that it's not "Parity 1", right? Feels weird to have only "Parity 2" but not "Parity 1". But it's only a naming issue, no need to worry, right?

2) What is the best way (order of steps) to achieve my "Wanted end result"?

Thanks for your help! 😀

(P.S: Both new 10TB drives are almost done with their 3 cycle Preclear.)

Edited May 14 by madshi

Share this post

Link to post

Is there data on disk1 (I.e. is it being emulated by the other disks plus parity). The answer will determine ways forward. If it does contain data then you will want to use the ‘parity swap’ procedure that is used when you want to replace parity with a larger drive and use the old parity drive to replace the failed drive.

Share this post

Link to post

Yes, there is data on disk1 (emulated by the other disks plus parity).

So I would do a "parity swap" as the first step, which would replace the current 4TB parity disk with a new 10TB parity disk, correct? And such a parity swap is possible without data loss while the array has an "emulated" disk in it? I don't suppose there's a way to "repair" the array first? I would feel safer if putting the array back into a fully protected state would be my first step, if there's any way to do that?

Thank you!

Share this post

Link to post

Not sure if this is "best way", but instinctively I would suggest adding one of the 10TB drives as Parity1 and let it build and check parity afterwards, then remove Parity2 and use it as the replacement for Disk1 and do a parity check, then replace Disk4 with the other 10TB and do a parity check afterwards.

There are several gotcha's along the way with this that may require new configs or other gyrations, @johnnie.black would probably know off the top of his head whether such manipulations are necessary.

A parity swap procedure will work, but won't change your parity drive type, it will remain type2 instead of rebuilding as type1.

This whole procedure ASSumes the rest of your drives are in perfect health, which isn't a guarantee, especially since you just had a drive failure. I suggest posting the diagnostics zip file here to help analyze the level of risk you are currently facing.

Do you have current backups of ALL data that you value? If not, I suggest re-purposing one of your new 10TB drives as a backup drive FIRST, before mucking about with the array drives.

Share this post

Link to post

I would feel safer if putting the array back into a fully protected state would be my first step, if there's any way to do that?

Yes, replace the failed disk with a drive the same size as your current parity drive. You could do that by resizing one of the 10TB drives to 4TB temporarily using a HPA. However, you would be once again putting the array at the same amount of risk when you go through the procedure to reclaim the other 6TB.

Share this post

Link to post

Good thinking on the backup. Unfortunately, I "lied" about the number of drives to keep my first post short and simple. It's actually 8 disks + parity, and most of the drives are almost full. Which means I don't have enough space (by a mile) on the 10TB drive to backup all data, unfortunately.

I guess I could backup the emulated "Disk 1" on one of the 10TB drives, but doing that would require a full read of all drives, anyway, so if that succeeds, then an arrray rebuild should succeed, as well, so trying to back up "Disk 1" on a 10TB drive wouldn't actually help, I think?

FWIW, unRaid insisted on doing a parity check with the simulated drive (after a power out), and it "succeeded". Not sure what it was good for (probably nothing), but at least reading all drives didn't make any further drives fail so far.

I suppose I can't simply tell unRAID to replace the broken 4TB disk with a 10TB disk, treating the 10TB as a 4TB disk, can I? Doing that sounds like your HPA suggestion, but I'm not sure how I would do that HPA stuff.

Share this post

Link to post

I suppose I can't simply tell unRAID to replace the broken 4TB disk with a 10TB disk, treating the 10TB as a 4TB disk, can I? Doing that sounds like your HPA suggestion, but I'm not sure how I would do that HPA stuff.

HPA is exactly how you would do that, but honestly, you aren't going to save any reads doing that unless you are willing to permanently leave it that way. Rebuilding it from the 4TB to 10TB after you get parity straightened out puts you in the same situation you are in right now, except you would be trusting your new 10TB parity drive to do the rebuild instead of the current 4TB, which is still going to be in the array anyway.

I think my initial gut reaction of how to proceed is probably the most straight forward way to accomplish your end goal.

Share this post

Link to post

Either do a parity swap or what jonathanm suggested, IMO both are good options.

32 minutes ago, jonathanm said:

A parity swap procedure will work, but won't change your parity drive type, it will remain type2 instead of rebuilding as type1.

In one sense type 1 and type 2 parity are equivalent, they both allow a single drive failure each. However, parity 2 is rigid as to drive slot assignments, parity 1 is slot agnostic for data drive.

Parity swap is a single operation, my suggestion requires extra time at risk with 2 rebuild operations to accomplish the same task, but changes to type 1 parity.

Quickest way forward is stick with type 2 parity and do the swap.

Only you can make the call of how long to be at risk. Safest would probably be to do the swap, then add the 2nd 10TB as type 1 parity. Downside is no additional free space right now, upside is extra protection from drive failure as you start swapping out your small drives for 10TB units.

Share this post

Link to post

Ok, I understand. But can't I protect against that by saving the unRAID config (flash drive contents) before doing step 5? If then another disk fails during the rebuild, I can restore the saved config and unRAID doesn't have to know that I tried to do a rebuild.