Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Simultaneous flash AND hard disk failure - what to do!!?! Please help!

Featured Replies

I somehow had a simultaneous failure of both my USB flash drive AND one of the hard disks in my array.  To top it off, I did not have a backup of the config on my flash drive either!  Where I am at now is that I re-installed UNRAID on a new flash drive, put my license key on it, and rebooted with the drives attached.  It came up with no drives assigned, so I assigned each of the disks to the same slots they were assigned to before...

 

However....  the failed disk does not even register in UNRAID as an attached drive, so right now the slot it should be assigned to in UNRAID is currently showing as unassigned.

 

I need some advice on what to do next please.....

 

1) Do I bring up the array leaving the disk unassigned and showing as "not installed" on the main screen?  Since my original flash config is gone, UNRAID does not see the disk as missing or being upgraded - it sees it as UNASSIGNED and I am worried that when it starts the parity sync, it will assume that whatever data drives are there is what should be there and then it will recalculate parity on the parity drive which will of course be all wrong, and the entire array will be destroyed.

 

or....

 

2) Do I replace the disk and assign it to the slot where the old one was.  I am thinking that if I do this though, when I bring the array online and it starts to do the parity sync, the data on the new disk will be incorrect of course, in which case when it calculates parity it will all be wrong and then it will overwrite the good parity on the parity disk and once again my entire array will be destroyed.

 

I've attached a screenshot of my current situation.

 

Can anyone help me and let me know what I should do next??  I am really worried I am going to lose everything and I don't want to do anything before I know the consequences.  Right now everything is powered down and I have not done anything else. 

 

Thank you in advance!!!!!

unraid_drives.jpg.68dfe97bdfb177e1752dd50edafffa64.jpg

First off, stop. Relax and don't do anything until you know what steps to take. Thrashing around trying things is the fastest way to lose your data - freeze.

 

For instance - your previous license key will NOT work on a different drive, this might be why it's not showing up. What exactly is wrong with your current USB stick? You need that working or another valid license/stick. Can you format it? What happened to kill it? Any printouts or screenshot of the previous drive config?

 

Data on drives that did NOT fail is safe so long as you don't do anything to format it. You will need those drives and a valid parity to recover the bad drive, do NOT allow anything to write to those drives in the meantime. The data can be retrieved from drives standalone but recovering the failed drive is an issue.

 

==============

Do not do this but as a solicitation to others for input: if he pulls his bad drive, puts the existing drives into the array, assigns them randomly but gets the parity drive right, will he still be able to recover data? He would need a drive in place of the failed one yes? Does order of drives matter? Does he need to fool it into thinking a drive was pulled for replacement? Order shouldn't matter for parity calcs should it?

  • Author

The failed USB stick is toast.  I got a new license key from Tom for my new replacement USB stick so that is fine now.  Problem is it is just a brand new install of unraid pro as I don't have the original configuration which was stored on the failed USB stick.

 

I have not started the array yet or done anything other than re-assign the disks to the exact same slots they were in before the USB failure.  For the failed disk, I have left this slot as currently unassigned.  After making these assignments, I did NOT start the array, I just powered everything back down and am awaiting an answer on how to proceed next.

 

The difference I see here is that since the original config is gone, unraid does not see the missing disk as one that has failed, but rather one that is not installed - see the screenshot (it thinks everything is brand new).  I am guessing that this is a completely different scenario when it comes to starting up the array and doing a parity sync?

 

I don't know if I put a new disk in it's place if it will mess up parity thinking it is the old data disk, or if unraid will be smart enough to recognize that the new disk is not using the unraid file system and treat it as a replacement for the old disk and start to rebuild it?  Does unraid know by looking at the parity disk, how many disks in total should be in the array?

Like BLKMGK said, you need to be VERY cautious, and understand what you are doing exactly, or ask questions before you do it. Basically, you need to set invalidslot 3, as explained here, in the last paragraph.

  • Author

Agreed, I am not doing anything until I 100% understand what to do next!

 

I looked at the forum post you pointed me to and I'm still not clear on where I set this parameter, how I apply it, etc.?  Is this something I need to do from a command line by telnet to the server?  Do I start the array first?  Can you please help to clarify more?

 

Thanks!

Is this something I need to do from a command line by telnet to the server?  Do I start the array first?  Can you please help to clarify more?

I'd be more comfortable if you could email Tom and get his specific guidance, but yes, in general, it's a command issued at the console (local or telnet), and NO, do NOT start the array first. I've never personally done it, that's why I'm hesitant to walk you through it. It's my understanding that once the command is issued and accepted, you should be able to refresh the web interface and show a status of a red balled disk 3, and the option to start the array unprotected, or assign a new drive to slot 3 and start a rebuild procedure. All disks blue means that if you start the array, the parity drive will be overwritten with the currently assigned disk information. That would mean you could no longer rebuild your missing disk. So, do NOT start the array with blue balls. (sorry for the sophomoric humor ;D)

 

Please, email Tom and get his instructions first, then post back here with your results.

  • Author

LOL... yes in most cases (including this one), blue balls is never a good thing :-)

 

I have already emailed Tom prior to posting here in the forum... hopefully he'll have an answer for me and things will work out.

 

In the mean time, if anyone else can offer some insight it would be much appreciated!

  • Author

Do any of the other gurus in this forum know what I need to do to safely get my array back online without losing any data?

 

Limetech, could you kindly advise how I should proceed here?

 

Thank you!

Hope you get the issue sorted - sounds like a tricky one :(

 

 

may i also recommend that once the issue is solved, that we place the answer on the wiki ( especially since it will be related to V5 - the invalidslot command seems to be not fully supported on V5 anymore)

 

 

sorry i can't assist tho - must be driving you crazy  :P

Here's the first issue. From reading past posts, it seems the set invalid slot command will cause a drive rebuild without the proper partition being created on the disk. So, what you first need to do is to assign the replacement drive as the only data drive in the server and start the array. You can format the drive when the array is started if you want, but it's not necessary.

 

So, assign the replacement disk as the only disk in the array, say disk1.

Type "initconfig" on the command line and press enter.

Refresh the web page and the disk should be blue.

Press Start.

 

Next is to setup the correct array. The main things are to make absolutely 100% that you have the parity in the correct spot and you know where the replacement disk is located.

 

So, stop the array with the single disk.

Assign all the old disks the disks to their correct slots.

Assign the replacement disk to it's location.

 

Now, type the "initconfig" command again.

 

Refresh the web interface. All the disks should be blue.

 

Next type "mdcmd set invalidslot 3"  --> this is assuming the array is like your picture and the replacement drive is in the disk3 location. Otherwise, use the disk number where you assigned the replacement disk.

 

The older versions gave an output to this command but 4.7 does not. So, this is the point where you take a leap of faith, cross your fingers and press the start button.

 

  • Author

Hi,

 

Thank you so much for the instructions.  I will give this a try but before I do, I just want to clarify a few things, just so I am 100% sure that I don't make a mistake.  Some of these questions might seem obvious but I have a lot at stake here and I am really nervous about doing this :-(

 

1) Since I've already assigned my disks per the screenshot, and then powered down the server (I did NOT start up the array), should I power it back on with the drives still connected (this won't automatically start a parity sync will it???) and then un-assign them from the GUI, then power back down, connect the single replacement disk, and power back up?  Or should I just disconnect all of the drives before powering up and I assume they will show as "missing" or something like that, un-assign them from the GUI and then go from there?  What is the best/safest way to do this?

...Or are you saying to just connect everything including the replacement disk right from the get-go, power on and then un-assign everything and only assign the replacement disk?  I would feel safer if the other drives were disconnected during this first step even though that with the other drives being unassigned they should not be touched by UNRAID.... just need your advice here.

 

2) Does it matter which disk# I initially assign the replacement disk to?  Would it be best to assign it to disk3 since that is where it will end up going when I make the correct assignments?

 

3) Pressing "start" will start the array with just the single disk and no parity disk in place?  What do I need to see happen before I can stop the array to make the correct assignments?

 

4) Yes, the array is like my picture and the replacement disk will be assigned as disk 3.  So, after I type the "mdcmd set invalidslot 3" command and hit enter, I assume that I should I refresh the web interface again and what should I see?  Everything blue except disk 3 which I understand should show as a red ball?  I would like to confirm this so I know what I should see before I hit that start button :-)

 

THANK YOU!!!

#1 - if you feel safer then by all means disconnect the drives until you are ready to setup the final array.

 

#2 - It doesn't matter as long as you match the disk and the command. However, if it's going into the disk3 slot then you might as well start with it there.

 

#3 - You just need to see the array appear as successfully started so you can press the stop button. A successful start on a new disk will partition it.

 

#4 - I don't recall what colors you will see. I think they will all turn green. You should see disk3 being written and all the others being read. You will likely see some reads on all the disks though, as there are some reads done to mount them.

  • Author

Still waiting to receive my replacement drive from RMA so I can proceed with your instructions to get back up and running...

 

In the mean time, has anyone else used the "invalidslot" command that can share their experience/results?

 

I still would like to confirm what exactly I should see on the web console after entering this command in terms of the color of the balls next to the replacement disk and the other disks before I hit "start" :-)

  • Author

Lionelhutz,

 

I have followed your instructions to the letter and everything has gone as you described so far.  However, I am at the very last step, and I need to confirm this before I start the array.  After typing "initconfig" for the second time (with all of the disks including the replacement disk assigned), I got blue balls next to all of the disks as expected.  I proceeded to type "mdcmd set invalidslot 3" for the new disk.  There was no feedback on the command line console, also as expected, but it seems to have accepted the command.

 

Here's my question - I refreshed the web interface and all of the disks still show with blue balls next to them (see attached screenshot).  Shouldn't everything have turned green or is it ok to start the array with everything blue?  Even the replacement disk should also be blue?

 

Please confirm as I am so anxious to get this array back online again!!

 

Thanks!!!

unraid_6.jpg.f670a3fed957abf6f01eb43475f6958c.jpg

I don't think you should be seeing blue. Before doing anything had you made a backup of the flash drive? I *think* you want to see all green with the invalid slot marked for expansion. Please do not go any further until others weigh in!

  • Author

There was nothing to back up because my flash drive is brand new as well...

 

Yeah, I'm not sure if they should be blue either.  That being said, the "initconfig" command basically erases all disk-related config and makes everything show up as new disks.  The invalidslot command somehow tells unraid to rebuild that one disk but the question is, should that invalidslot command also make unraid now think that the disks are valid, and part of an existing array?  In a way I am kind of thinking that maybe they SHOULD all be blue as they are but I agree, I am not sure and I would really appreciate it if someone could please confirm before I hit the start button?!?

 

I've emailed Limetech a few times but I am not getting any response...

Ah yes good point about the flash, I'm honestly not sure what you should do and I'm surprised you've not heard for Tom as in my experience he has responded well to email requests for help...

The initconfig command will turn everything blue, which is the indicator for new disks or new array.

 

The set invalid slot command just tricks the raid engine into "building" disk3 instead of "building" parity. You MUST NOT refresh the web interface after using the command so they won't be able to change colors.

 

I re-read your posts and I answered your one question wrong. I posted they would turn green, but I meant after pressing the start and not after a refresh. Damnd good thing you took your time and posted again.

 

  • Author

Ok so since I DID refresh the web interface after issuing the invalidslot command, now what?  Should I enter the command from the command line console again and then hit start?  Not sure I understand how refreshing the web interface would have any effect?  I am confused now!  The array is stopped per the screenshot.  What do I do next?

Ok so since I DID refresh the web interface after issuing the invalidslot command, now what?  Should I enter the command from the command line console again and then hit start?

Yes
Not sure I understand how refreshing the web interface would have any effect?
Because the "md" driver is re-initialized every time you refresh the screen while the array is stopped.  This is to allow it to recognize any new drives you might have plugged in while it was stopped.  Basically, when it re-initialized, it undid the set invalidslot you issued.
I am confused now!  The array is stopped per the screenshot.  What do I do next?

Hope this helps.  Issue another set invalidslot command, do NOT refresh the screen, press "Start" instead, (if religious, say a prayer or two  ;D, if superstitious, do not walk under a ladder  8) or break any mirrors.  ;D)

What Joe posted. You have to issue the command and then press start without refreshing the main web page.

 

You re-issue the set invalidslot command and press start, assuming it's still sitting like your screen shot shows and you still have that window open. If not, open the web interface first, issue the command and then press start.

  • Author

Thanks guys!!!!!!

 

I will give it a go tonight when I get home and I will report back.  Not going to worry about prayers or ladders or mirrors... if this is supposed to work then I trust that it will, so I will leave it at that :-)

 

One last thing - after I hit the start button, can I THEN refresh the web interface to see the status of what's going on, etc?  What should I see happening, and what should I do if I see something OTHER than what is supposed to happen - pull the plug?

Thanks guys!!!!!!

 

I will give it a go tonight when I get home and I will report back.  Not going to worry about prayers or ladders or mirrors... if this is supposed to work then I trust that it will, so I will leave it at that :-)

 

One last thing - after I hit the start button, can I THEN refresh the web interface to see the status of what's going on, etc?  What should I see happening, and what should I do if I see something OTHER than what is supposed to happen - pull the plug?

Once the array is started you can refresh the screen, and you should see one disk being written to heavily, and all the others being read heavily.

 

If the disk being written to is the wrong one... sorry.  (hit Stop/cancel rebuild)

 

Joe L.

  • Author

Thanks Joe.  As long as "mdcmd set invalidslot 3" corresponds with the "disk 3" position I should be good to go!

  • Author

Joe L. and Lionelhutz... THANK YOU!!!  Disk 3 is rebuilding now so things are looking good!  I can't thank you enough for all your your guidance.  I really appreciate it.

 

I have one last question for you - since my flash drive's config was also wiped during this disaster, I have had to re-do all of my share settings, etc.  I would like to confirm that for the disk settings I should have:

 

Force NCQ disabled = yes

enable spinup groups = yes

default partition format  = MBR: 4k-aligned

 

Those are the settings I had in place before the failure and I also set these same settings before doing the invalidslot stuff... are these the optimal settings and should they remain this way?

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.