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.

While rebuilding parity on a new parity drive, a data drive failed. What now?

Featured Replies

Hello. I replaced the parity drive with a new one and started a parity rebuild. When it got to 2.3%, disk2  started to show thousands of errors on the Main page under "Device status". I believe that the hard drive assigned to disk2 had become unavailable.

After a reboot, the "Device status" box now shows disk2 as "Not installed". On the same line, it shows the correct size of the underlying hard drive (4TB) but then it says "Unformatted".

If stop the array, I have the option to re-assign the hard drive to disk2 but when I do so, I get a blue ball, which I believe means that Unraid would treat the hard drive as a new one.

I've tried to reboot a few times and to double-check the cables but no luck.

 

So currently I have a one data drive missing and a parity drive which is only 2.3% completed.

 

I still have the old parity hard drive and have made no changes to the data drives. How can I use the old parity hard drive to rebuild disk2? (I would obviously use a new hard drive for disk2).

I'm using Unraid version 5.0.6 and I am afraid I have not made a copy of the flash drive before replacing the parity drive.

 

Thank you!

  • Replies 66
  • Views 9.8k
  • Created
  • Last Reply
10 hours ago, riccume said:

I'm using Unraid version 5.0.6

This is a problem, you should be able to use the invalid slot command but don't remember if it was working correctly with that release, nor the steps needed for that particular release since it's been many years, maybe you can find something in the forum, if you don't post back I see if I can get 5.0.6 to boot on my test server.

  • Author
36 minutes ago, JorgeB said:

This is a problem, you should be able to use the invalid slot command but don't remember if it was working correctly with that release, nor the steps needed for that particular release since it's been many years, maybe you can find something in the forum, if you don't post back I see if I can get 5.0.6 to boot on my test server.

Thanks JorgeB. I've done some additional searching and I was wondering whether I can use the "Parity Swap" ("Swap Disable") procedure (https://wiki.unraid.net/The_parity_swap_procedure ).

Are you saying that the commands needed for the Parity Swap might not work property on 5.0.6? It seems to have been around for a long time

although some people seem to have struggled with it...

- disable both parity drive and disk2

- install old parity hard drive in disk2

- copy the old parity drive to the new parity drive using the built-in Copy function

- install a new hard drive on disk2 and rebuild parity

Parity swap isn't for this case, search for "invalidslot" and "5.0.6"

  • Author
11 minutes ago, JorgeB said:

Parity swap isn't for this case, search for "invalidslot" and "5.0.6"

Double-checking; why isn't parity swap a possible solution here? The old parity drive is still available, unchanged (was kept offline) and working and I made no changes to the data in the array since taking it off. All I did was mount the array with the new parity drive, start the parity rebuild, then stop it when the errors from disk2 started to pop up - so the other data drives should also be unchanged.

Given this premise, cannot I simply 'rewind' to the setup before the failed parity rebuild and use the standard parity swap procedure to replace disk2?

 

In the meanwhile, as you suggest, I'm trying to figure out how invalidslot works - I'm not familiar with it.

 

Luckily v5.0.6 still boots on my test server, procedure is this:

 

-stop array and take a note of all the current assignments

-Utils -> New Config -> Yes I want to do this -> Apply

-Back on the main page, assign all the disks as they were as well as old parity and new disk2, double check all assignments are correct

-Important - After checking the assignments leave the browser on that page, the "Main" page.

-Open an SSH session/use the console and type (don't copy/paste directly from the forum, as sometimes it can insert extra characters):

mdcmd set invalidslot 2

-Back on the GUI and without refreshing the page, just start the array, do not check the "parity is already valid" box, disk2 will start rebuilding, disk should mount immediately but if it's unmountable don't format, wait for the rebuild to finish and then run a filesystem check.

  • Author
10 minutes ago, JorgeB said:

Luckily v5.0.6 still boots on my test server, procedure is this:

 

-stop array and take a note of all the current assignments

-Utils -> New Config -> Yes I want to do this -> Apply

-Back on the main page, assign all the disks as they were as well as old parity and new disk2, double check all assignments are correct

-Important - After checking the assignments leave the browser on that page, the "Main" page.

-Open an SSH session/use the console and type (don't copy/paste directly from the forum, as sometimes it can insert extra characters):


mdcmd set invalidslot 2

-Back on the GUI and without refreshing the page, just start the array, do not check the "parity is already valid" box, disk2 will start rebuilding, disk should mount immediately but if it's unmountable don't format, wait for the rebuild to finish and then run a filesystem check.

So so grateful for your help here JorgeB! Double-checking the obvious to make sure I don't end up deleting data for good:

- I physically replace the new hard drive for the parity disk with the old one that I took out before the failed parity rebuild

- I physically replace the failed hard drive for disk2 with a new one

- The new hard drive for disk2 cannot be bigger than the old parity hard drive. I'm asking because I already have two spare 12TB hard drives (I am in the process of upgrading my rig) but I don't think they work for the process you suggest given that the old parity hard drive is 4TB.

 

I'm always eager to learn more about unRaid so would love to hear why the parity swap procedure doesn't work here - but completely understand if you don't have time. Thanks!!

11 minutes ago, riccume said:

- I physically replace the new hard drive for the parity disk with the old one that I took out before the failed parity rebuild

- I physically replace the failed hard drive for disk2 with a new one

Yes.

 

11 minutes ago, riccume said:

- The new hard drive for disk2 cannot be bigger than the old parity hard drive.

Correct, same size or larger than old disk2, but not larger than current parity.

12 minutes ago, riccume said:

I'm always eager to learn more about unRaid so would love to hear why the parity swap procedure doesn't work here

Because current parity wasn't valid, parity swap won't work while parity is invalid.

You could possibly run the invalid slot command with an unassigned disk2, then run the parity swap, but invalid slot doesn't always work without a disk assigned, and I can't test if it does on v5.0.6 now since I'm about to go out for the day, but can test tomorrow if you want.

  • Author
8 minutes ago, JorgeB said:

You could possibly run the invalid slot command with an unassigned disk2, then run the parity swap, but invalid slot doesn't always work without a disk assigned, and I can't test if it does on v5.0.6 now since I'm about to go out for the day, but can test tomorrow if you want.

I understand now, it makes sense, thanks. To play it easy/safe, I will purchase a 4TB drive, try the process you suggest and report back. Enjoy your day!

Please upgrade after your array is stable again. It is very difficult to support that very old version, and even possible any support you get will be incorrect.

  • Author
8 minutes ago, trurl said:

Please upgrade after your array is stable again. It is very difficult to support that very old version, and even possible any support you get will be incorrect.

Thanks. You bet! This is the first stage of a full rebuild; current rig was built in 2010 and I've been living on borrowed time for a while.

 

Off subject so please feel free to disregard but for full info, this is my plan for the rig rebuild:

- upgrade parity drive to new 14TB one and rebuild parity

- upgrade one of the old data drives (they are 6 in total) to new 14TB one and rebuild parity. I cannot simply add the 14TB drive because I've run out of power connectors

- copy data from some old data drives to new 14TB drive using the rsync -avX /mnt/disk[number]/ /mnt/disk[number] command

- remove all old data drives copied in step above, add a new 12TB drive, and copy data from remaining old data drives using the rsync -avX /mnt/disk[number]/ /mnt/disk[number] command

- rebuild parity with new configuration (one parity drive, two data drives)

- move hard drives and flash drive to new rig (details here

- upgrade flash drive to new usb stick

- upgrade unRAID to latest version

Wish me luck!

 

You should upgrade to latest version before making any disk changes because you need to be able to format new disks as XFS instead of ReiserFS. Rebuilding that first disk will result in ReiserFS and can't be avoided but the other disks should use the new format and then you can move the data off the first disk and reformat it.

  • Author
3 hours ago, trurl said:

You should upgrade to latest version before making any disk changes because you need to be able to format new disks as XFS instead of ReiserFS. Rebuilding that first disk will result in ReiserFS and can't be avoided but the other disks should use the new format and then you can move the data off the first disk and reformat it.

Thanks @trurl I believe though that my current CPU/motherboard is 32 bit (Gigabyte GA-D510UD) and unRAID 6 won't work on it. If so, should I stay with ReiserFS for the moment?

If your CPU/Motherboard are only 32-bit capable then you cannot run Unraid v6 which requires 64-bit capable hardware.     With Unraid v5 ReiserFS is the only supported format.

5 hours ago, riccume said:

believe though that my current CPU/motherboard is 32 bit

The upgrade wiki shows how to test that belief

D510 is 64bits, though kind of low end for v6, but capable of running it.

  • Author
21 hours ago, JorgeB said:

Luckily v5.0.6 still boots on my test server, procedure is this:

@JorgeB would it make sense to clone the old parity hard drive before going ahead with this, just in case something goes wrong and it gets overwritten? If so, any Windows tools you recommend?

  • Author
5 minutes ago, JorgeB said:

D510 is 64bits, though kind of low end for v6, but capable of running it.

Thanks. I will try to upgrade to v6 once disk2 is rebuilt

It won't get overwritten if you follow the steps above carefully, but you can clone it dd if you want.

 

dd if=/dev/sdX of=/dev/sdY bs=4k

 

X=source Y=dest

  • Author

@JorgeB I'm not sure it is working; I've stopped the parity rebuild. I followed your instructions to the T but when I restarted the array, it showed disk2 with a green dot, the parity disk with a orange dot, and it started writing on the parity disk! I quickly stopped the parity rebuild to minimise 'damage' to the old parity drive (the parity rebuild was stopped after 6109 writes to the parity disk so hopefully nothing major).

 

See below:

- screen grab of the Main page before I stopped the parity rebuild

- screen grab of the invalidslot command in Telnet

 

I'm struggling to image what could have gone wrong. I am sure I did not refresh the Main page before starting the array but could it be that I waited too long before doing so? After sending the invalidslot command, I went through your instructions again before clicking the Start button; let's say 1 minute between invalidslot command and starting the array...?

 

... or any other suggestions? Thank you!

242194495_Telnetcommand.JPG.04b210e4343a9245001129fd15c27357.JPG673871843_MainParityRebuild.thumb.JPG.b7e0d31dde1d83f3f27a0a087e097a62.JPG

Edited by riccume

Looks like it was done correctly, but apparently something wasn't, make sure you're on 5.0.6 like mentioned, it appears you are since the kernel version is the same.

 

11 hours ago, riccume said:

but could it be that I waited too long before doing so?

Just did a quick test, waited for about 3 minutes after the invalid slot command and it still worked correctly.

 

Array must be new after the new config (blue icon for all devices):

image.thumb.png.ebe6665efe1f1880eccb14e3131dd7c6.png

 

Type the invalid slot command and start array:

image.thumb.png.847b3a705a6273ed6493652be5f008b4.png

 

 

 

 

  • Author
1 hour ago, JorgeB said:

Looks like it was done correctly, but apparently something wasn't, make sure you're on 5.0.6 like mentioned, it appears you are since the kernel version is the same.

Yes, 5.0.6. Full screen grab of the Main pageCapture1.thumb.JPG.24bd5000a4f0ea8feec6a6dedc9df87a.JPGCapture2.thumb.JPG.f07cacdab962f0aa9cada83f011ff79d.JPG

No idea why it didn't work then, you can try the other way, more steps but at least it won't damage parity any more:

 

-stop array and take a note of all the current assignments

-Utils -> New Config -> Yes I want to do this -> Apply

-Back on the main page, assign all the disks as they were as well as old parity and new disk2, double check all assignments are correct

-Check both "parity is already valid" and "maintenance mode" and start the array

-Stop the array

-Unassign disk2

-Start the array

-Stop the Array

-Re-assign disk2

-Start the array to begin rebuilding, disk2 will most likely be unmontable, you'll need to run a filesystem check, and probably rebuild the superblock and then use --rebuild-tree, still reiserfs can usually recover pretty well from a situation like this.

 

 

 

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.