Array dead - I killed 2 drives, only had 1 parity - learning/practice opportunity for me


Go to solution Solved by itimpi,

Recommended Posts

Before you continue reading: please don't spend time on this topic if you don't have time to waste. This is rather purely academic for me, no important data was lost, so please carry on with whatever you were doing, if you have anything even remotely important on your plate.

 

 

So yeah, I'm involuntarily taking that trial part of my trial license very seriously. 

Apparently I get to try what happens when one is stupid enough to use the wrong modular PSU cable for powering a few hard disks, frys 3 of them permanently and doesn't have enough parity drives in the array to compensate for that stupidity. 

 

Well. On the plus side it was only 2x 250GB and 1x 320GB drives, the smallest I still had in use and there basically wasn't anything on them - nothing I couldn't afford to lose at least - but now I'm getting to learn what to do in this - not "real", but "closely simulated" - worst case.

 

 

So I had a testing array with 4x 500gb, 1x 250GB and 1x 320GB disks, one of the 500GB ones being parity. The two smallest drives were among the three disks I literally burned to hell. 

Now... the situation presents itself as having

- a rather useless parity drive of 500GB, which isn't enough to compensate two drives that have gone the way of the dodo, so I probably have no use for this anymore - or rather: for the data on it

- three 500GB drives that should have their data intact - at least if I read that correctly on the forums time and time again - and that means basically everything that was on the array in the first place

- the two crispy, kinda smelly ones that only left a red X in their wake and are lying on my desk in front of me, mocking me for my lack of coffee and ability to inspect cables closely enough this morning

 

The array WAS set up to go "fill", so all the data should actually still be there, as the toasties were the last two drives in the array. Just... all the drives were btrfs-encrypted formatted and I'm kinda clueless as two how to access them now. Kinda.

 

 

Well. I'm not totally clueless regarding linux so I think I could probably mount those drives in the unraid instance itself - with correct parameters for btrfs and encryption of course, which I'll have to google - and then probably share them via samba to get the data from another PC. After that I think I'd have to go via Tools -> New Config to build a new array, then move the data back.

 

Is this about right? Or is there a way to remove those two drives, that are definitely, without question, never in a million years coming back, from the array, rebuild the parity disk and keep the array and the data on it without the movery?

 

 

Again: please don't spend time on this if you don't have any to spare. I could literally just kill the array and restart via Tools -> New Config and be done with it, no harm done.

 

 

By the way: is there any central writeup what to do in such a case where the array is most definitely dead? For example... in the docs? Couldn't find one there, though. Which I find a bit strange, I must say, since I thought unraid was kinda big on redundancy and such... surely remedying a catastrophical failure should be as well documented as possible?

Or am I expecting too much here and this gets handled via forums as such problems arise?

Maybe because those failures are few and far between? (Kinda doubt that)

Or rather: they are very individual, so one writeup wouldn't help much in general? (I could see the point in that).

 

 

Best regards and happy easter for those who care about that (I don't, though, hence I'm playing with the unraids - yeah, it's already two now).

buetzel

Edited by buetzel
Link to comment
  • Solution

You can use Tools->New Config to reset the array and assign the surviving  array drives as you want them.  When you start the array then these assignments are committed and parity (if you have assigned one) is rebuilt from the remaining drives.   Unraid will recognise the drives that have previously been used by Unraid and will leave their data intact.

 

Since each drive in an Unraid array is a free-standing file system they can also be read individually when not part of the array.   Easiest is some sort of Linux system as it will have built in support for the file systems used by Unraid.

  • Thanks 1
Link to comment

Thank you for your reply, @itimpi

 

Am I correct in assuming that your first option would be done with the default "Preserve current assignments: none" option in the New Config tool, as I specifically do not want the array slots preserved - two drives being unrecoverable and as such clearing their slots is the whole idea?

Link to comment

When using the New Config tool it is completely optional whether you preserve assignments or not - the key thing is to have the assignments as you want them before starting the array.  The one mistake you do NOT want to make is to accidentally assign a data drive to a parity slot as if you do so then starting the array will destroy its contents.   The advantage of preserving assignments is that it often reduces the chances of user error but as I said it is optional.

  • Thanks 1
Link to comment

So "preserve assignments" basically just preassigns the drives to the slots they were in before for the new array? That of course is a very useful functionality.

 

Thanks for the warning about not putting data drives in the parity slot. Always good to know.

Would have put the same drive as parity "by accident" -  I think it's the fastest one and of a different manufacturer, so easy to find out which one it is - but it sure is better to do this on purpose and to know why.

Link to comment
Just now, buetzel said:

So "preserve assignments" basically just preassigns the drives to the slots they were in before for the new array? That of course is a very useful functionality.

 

Thanks for the warning about not putting data drives in the parity slot. Always good to know.

Would have put the same drive as parity "by accident" -  I think it's the fastest one and of a different manufacturer, so easy to find out which one it is - but it sure is better to do this on purpose and to know why.

There is more detail 0n the New Config tool here in the online documentations accessible via the ‘Manual’ link at the bottom of the GUI.

  • Thanks 1
Link to comment

Thanks for the deep link to the relevant part of the docs.

If I wasn't a programmer myself I would probably complain why the link on the bottom of the GUI wasn't adjusted for the relevant part of the GUI that's shown at the moment... but hey... I would hate to code that, too ;)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.