Jump to content

5.0 RC11 unable to upgrade parity disk via swap-disable


Recommended Posts

Unraid server plus

5.0-rc11

 

I thought this would be simple and even followed the wiki instructions but to no avail ;(

I am currently trying to upgrade my parity disk from 2tb Green to 3tb Red drive

The 3Tb has been precleared 3x over the last week and has had no issues.

 

I did these steps

 

* Stopped Array

* shutdown server

* swapped failed 1tb disk (not parity) for 3Tb WD Red (nas) drive

* restarted server

* stopped array

* set Parity to new 3Tb drive

* set invalid drive (noted as old 1tb) to old 2tb Parity drive (did not format)

* hit start array

 

After this the interface returns back to main showing array stopped (noted as upgrading disk/swapping parity) .

also tried  using maintenance mode  to start array with same result.

 

system log as follows keeps adding same reults until i reboot server.  ie keeps trying ro switch parity disk but fails and repeats same procedure

 

 /usr/bin/tail -f /var/log/syslog
Mar 3 11:51:08 Tower kernel: md: import disk2: [8,32] (sdc) WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 size: 1953514552
Mar 3 11:51:08 Tower kernel: md: disk2 replaced
Mar 3 11:51:08 Tower kernel: mdcmd (4): import 3 8,96 488386552 WDC_WD5000AAKS-65YGA0_WD-WCAS84818583
Mar 3 11:51:08 Tower kernel: md: import disk3: [8,96] (sdg) WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 size: 488386552
Mar 3 11:51:08 Tower kernel: mdcmd (5): import 4 8,112 488386552 WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370
Mar 3 11:51:08 Tower kernel: md: import disk4: [8,112] (sdh) WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 size: 488386552
Mar 3 11:51:08 Tower kernel: mdcmd (6): import 5 8,80 1953514552 WDC_WD20EARX-00PASB0_WD-WMAZA6910498
Mar 3 11:51:08 Tower kernel: md: import disk5: [8,80] (sdf) WDC_WD20EARX-00PASB0_WD-WMAZA6910498 size: 1953514552
Mar 3 11:51:09 Tower emhttp: shcmd (255): /usr/local/sbin/emhttp_event driver_loaded
Mar 3 11:51:09 Tower emhttp_event: driver_loaded
Mar 3 11:51:13 Tower emhttp: shcmd (256): rmmod md-mod |& logger
Mar 3 11:51:13 Tower emhttp: shcmd (257): modprobe md-mod super=/boot/config/super.dat slots=6 |& logger
Mar 3 11:51:13 Tower emhttp: shcmd (258): udevadm settle
Mar 3 11:51:13 Tower emhttp: Device inventory:
Mar 3 11:51:13 Tower emhttp: WDC_WD3200AAKS-00B3A0_WD-WCAT14223388 (sdb) 312571224
Mar 3 11:51:13 Tower emhttp: WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 (sdc) 1953514584
Mar 3 11:51:13 Tower emhttp: WDC_WD20EARS-00MVWB0_WD-WMAZA0366428 (sdd) 1953514584
Mar 3 11:51:13 Tower emhttp: WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103 (sde) 2930266584
Mar 3 11:51:13 Tower emhttp: WDC_WD20EARX-00PASB0_WD-WMAZA6910498 (sdf) 1953514584
Mar 3 11:51:13 Tower emhttp: WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 (sdg) 488386584
Mar 3 11:51:13 Tower emhttp: WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 (sdh) 488386584
Mar 3 11:51:13 Tower kernel: md: unRAID driver removed
Mar 3 11:51:13 Tower kernel: md: unRAID driver 2.1.5 installed
Mar 3 11:51:13 Tower kernel: mdcmd (1): import 0 8,64 2930266532 WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103
Mar 3 11:51:13 Tower kernel: md: import disk0: [8,64] (sde) WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103 size: 2930266532
Mar 3 11:51:13 Tower kernel: md: disk0 wrong
Mar 3 11:51:13 Tower kernel: mdcmd (2): import 1 8,48 1953514552 WDC_WD20EARS-00MVWB0_WD-WMAZA0366428
Mar 3 11:51:13 Tower kernel: md: import disk1: [8,48] (sdd) WDC_WD20EARS-00MVWB0_WD-WMAZA0366428 size: 1953514552
Mar 3 11:51:13 Tower kernel: mdcmd (3): import 2 8,32 1953514552 WDC_WD20EARS-00MVWB0_WD-WMAZA0475441
Mar 3 11:51:13 Tower kernel: md: import disk2: [8,32] (sdc) WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 size: 1953514552
Mar 3 11:51:13 Tower kernel: md: disk2 replaced
Mar 3 11:51:13 Tower kernel: mdcmd (4): import 3 8,96 488386552 WDC_WD5000AAKS-65YGA0_WD-WCAS84818583
Mar 3 11:51:13 Tower kernel: md: import disk3: [8,96] (sdg) WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 size: 488386552
Mar 3 11:51:13 Tower kernel: mdcmd (5): import 4 8,112 488386552 WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370
Mar 3 11:51:13 Tower kernel: md: import disk4: [8,112] (sdh) WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 size: 488386552
Mar 3 11:51:13 Tower kernel: mdcmd (6): import 5 8,80 1953514552 WDC_WD20EARX-00PASB0_WD-WMAZA6910498
Mar 3 11:51:13 Tower kernel: md: import disk5: [8,80] (sdf) WDC_WD20EARX-00PASB0_WD-WMAZA6910498 size: 1953514552
Mar 3 11:51:13 Tower emhttp: shcmd (259): /usr/local/sbin/emhttp_event driver_loaded
Mar 3 11:51:13 Tower emhttp_event: driver_loaded
Mar 3 11:51:18 Tower emhttp: shcmd (260): rmmod md-mod |& logger
Mar 3 11:51:18 Tower emhttp: shcmd (261): modprobe md-mod super=/boot/config/super.dat slots=6 |& logger
Mar 3 11:51:18 Tower kernel: md: unRAID driver removed
Mar 3 11:51:18 Tower emhttp: shcmd (262): udevadm settle
Mar 3 11:51:18 Tower emhttp: Device inventory:
Mar 3 11:51:18 Tower emhttp: WDC_WD3200AAKS-00B3A0_WD-WCAT14223388 (sdb) 312571224
Mar 3 11:51:18 Tower emhttp: WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 (sdc) 1953514584
Mar 3 11:51:18 Tower emhttp: WDC_WD20EARS-00MVWB0_WD-WMAZA0366428 (sdd) 1953514584
Mar 3 11:51:18 Tower emhttp: WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103 (sde) 2930266584
Mar 3 11:51:18 Tower emhttp: WDC_WD20EARX-00PASB0_WD-WMAZA6910498 (sdf) 1953514584
Mar 3 11:51:18 Tower emhttp: WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 (sdg) 488386584
Mar 3 11:51:18 Tower emhttp: WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 (sdh) 488386584
Mar 3 11:51:18 Tower kernel: md: unRAID driver 2.1.5 installed
Mar 3 11:51:18 Tower kernel: mdcmd (1): import 0 8,64 2930266532 WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103
Mar 3 11:51:18 Tower kernel: md: import disk0: [8,64] (sde) WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103 size: 2930266532
Mar 3 11:51:18 Tower kernel: md: disk0 wrong
Mar 3 11:51:18 Tower kernel: mdcmd (2): import 1 8,48 1953514552 WDC_WD20EARS-00MVWB0_WD-WMAZA0366428
Mar 3 11:51:18 Tower kernel: md: import disk1: [8,48] (sdd) WDC_WD20EARS-00MVWB0_WD-WMAZA0366428 size: 1953514552
Mar 3 11:51:18 Tower kernel: mdcmd (3): import 2 8,32 1953514552 WDC_WD20EARS-00MVWB0_WD-WMAZA0475441
Mar 3 11:51:18 Tower kernel: md: import disk2: [8,32] (sdc) WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 size: 1953514552
Mar 3 11:51:18 Tower kernel: md: disk2 replaced
Mar 3 11:51:18 Tower kernel: mdcmd (4): import 3 8,96 488386552 WDC_WD5000AAKS-65YGA0_WD-WCAS84818583
Mar 3 11:51:18 Tower kernel: md: import disk3: [8,96] (sdg) WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 size: 488386552
Mar 3 11:51:18 Tower kernel: mdcmd (5): import 4 8,112 488386552 WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370
Mar 3 11:51:18 Tower kernel: md: import disk4: [8,112] (sdh) WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 size: 488386552
Mar 3 11:51:18 Tower kernel: mdcmd (6): import 5 8,80 1953514552 WDC_WD20EARX-00PASB0_WD-WMAZA6910498
Mar 3 11:51:18 Tower kernel: md: import disk5: [8,80] (sdf) WDC_WD20EARX-00PASB0_WD-WMAZA6910498 size: 1953514552
Mar 3 11:51:18 Tower emhttp: shcmd (263): /usr/local/sbin/emhttp_event driver_loaded
Mar 3 11:51:18 Tower emhttp_event: driver_loaded
Mar 3 11:51:23 Tower emhttp: shcmd (264): rmmod md-mod |& logger
Mar 3 11:51:23 Tower emhttp: shcmd (265): modprobe md-mod super=/boot/config/super.dat slots=6 |& logger
Mar 3 11:51:23 Tower emhttp: shcmd (266): udevadm settle
Mar 3 11:51:23 Tower emhttp: Device inventory:
Mar 3 11:51:23 Tower emhttp: WDC_WD3200AAKS-00B3A0_WD-WCAT14223388 (sdb) 312571224
Mar 3 11:51:23 Tower emhttp: WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 (sdc) 1953514584
Mar 3 11:51:23 Tower emhttp: WDC_WD20EARS-00MVWB0_WD-WMAZA0366428 (sdd) 1953514584
Mar 3 11:51:23 Tower emhttp: WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103 (sde) 2930266584
Mar 3 11:51:23 Tower emhttp: WDC_WD20EARX-00PASB0_WD-WMAZA6910498 (sdf) 1953514584
Mar 3 11:51:23 Tower emhttp: WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 (sdg) 488386584
Mar 3 11:51:23 Tower emhttp: WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 (sdh) 488386584
Mar 3 11:51:23 Tower kernel: md: unRAID driver removed
Mar 3 11:51:23 Tower kernel: md: unRAID driver 2.1.5 installed
Mar 3 11:51:23 Tower kernel: mdcmd (1): import 0 8,64 2930266532 WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103
Mar 3 11:51:23 Tower kernel: md: import disk0: [8,64] (sde) WDC_WD30EFRX-68AX9N0_WD-WMC1T2487103 size: 2930266532
Mar 3 11:51:23 Tower kernel: md: disk0 wrong
Mar 3 11:51:23 Tower kernel: mdcmd (2): import 1 8,48 1953514552 WDC_WD20EARS-00MVWB0_WD-WMAZA0366428
Mar 3 11:51:23 Tower kernel: md: import disk1: [8,48] (sdd) WDC_WD20EARS-00MVWB0_WD-WMAZA0366428 size: 1953514552
Mar 3 11:51:23 Tower kernel: mdcmd (3): import 2 8,32 1953514552 WDC_WD20EARS-00MVWB0_WD-WMAZA0475441
Mar 3 11:51:23 Tower kernel: md: import disk2: [8,32] (sdc) WDC_WD20EARS-00MVWB0_WD-WMAZA0475441 size: 1953514552
Mar 3 11:51:23 Tower kernel: md: disk2 replaced
Mar 3 11:51:23 Tower kernel: mdcmd (4): import 3 8,96 488386552 WDC_WD5000AAKS-65YGA0_WD-WCAS84818583
Mar 3 11:51:23 Tower kernel: md: import disk3: [8,96] (sdg) WDC_WD5000AAKS-65YGA0_WD-WCAS84818583 size: 488386552
Mar 3 11:51:23 Tower kernel: mdcmd (5): import 4 8,112 488386552 WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370
Mar 3 11:51:23 Tower kernel: md: import disk4: [8,112] (sdh) WDC_WD5000AAKS-00TMA0_WD-WMAPW1401370 size: 488386552
Mar 3 11:51:23 Tower kernel: mdcmd (6): import 5 8,80 1953514552 WDC_WD20EARX-00PASB0_WD-WMAZA6910498
Mar 3 11:51:23 Tower kernel: md: import disk5: [8,80] (sdf) WDC_WD20EARX-00PASB0_WD-WMAZA6910498 size: 1953514552
Mar 3 11:51:23 Tower emhttp: shcmd (267): /usr/local/sbin/emhttp_event driver_loaded
Mar 3 11:51:23 Tower emhttp_event: driver_loaded

 

You can see from the syslog that it keeps repeating the same procedure.

 

How to fix this or are there other logs I can supply?

 

Link to comment

Just To check it wasnt just Me I downgraded to 5.0RC10

 

Followed same procedure as above

 

stopped array -> swapped drive ordering -> started array -> reurned to array stopped page.

I have compared the output of the RC10 Log and the RC11 log and they contain the same repeated output.

 

HTH

 

Loophole

 

Link to comment

looks to me you want to do 3 things at once. You have to do each step by itself.

 

If you have a failed drive, first replace that one and let the array rebuild it. Keep in mind that the size of your new datadisk is not bigger then the current parity disk.

 

After that, if you want a bigger parity disk, replace the parity disk with a bigger one and rebuild the parity.

 

After that, you can replace the datadisk with a bigger one and let it be rebuild again.

 

Link to comment

The thing is the failed 1Tb was being replaced with a 3Tb drive when my parity druve is only 2Tb so I must first upgrade my Parity drive as per the unraid specs which is what I was doing.

 

I followed the Docs from the best in forums post which describes replacing a failed disk and upgrading the partiy in the same way as I described http://lime-technology.com/forum/index.php?topic=3230.msg30630#msg30630

 

So I dont see that what im doing is wrong?

 

Thoughts

Link to comment

Bare in mind that your parity disk size must be equal in size to the biggest data disk in your array at all time...

This is why you can not (re)place a datadisk with a bigger one if the parity disk is not that size as well.

 

If you have replaced the 1TB with a 3TB disk, and the parity is still a 2Tb disk, things go wrong.

Link to comment

As I said I upgraded the 1 for a 3Tb then did (tried)  a parity swap of the existing 2tb parity for the new 3tb.

 

in effect the 3tb gets swapped in as the parity and the 2tb gets used as a replacement for the 1tb.

 

In any case this does not tell me why the array wont start?

I have only removed 1 drive and cannot upgrade ANY until the parity drive is upgraded which unraid is failing to do.

 

As a side note the array WILL NOT START if I leave slot 1 as unassigned! which also means that the settings are never saved because the array does not start so rebooting after setting the parity drive to the 3tb reverts it to the old 2tb because the settings were never validated.

 

 

 

 

Link to comment

As I said I upgraded the 1 for a 3Tb then did (tried)  a parity swap of the existing 2tb parity for the new 3tb.

Again, you can NOT have a parity disk that is SMALLER then a data disk... or, in your case, a situation where a data disk is BIGGER then the parity disk.

And you can NOT do both things at the same time.

 

In your case, initially you HAD a 2TB parity disk, and a 1 TB data disk that was failing.

You then replaced the 1TB disk with a 3TB disk --> WRONG --> the data disk is bigger than the parity disk.

You ignored that fact, and replaced the parity disk with a 3TB disk  --> WRONG --> you have no parity at all at this moment and can NOT rebuild the failed disk...

 

So, again, you can NOT do those things at once. In your case, you should have replaced the failing 1TB disk with a disk with a max size of 2TB, since at THAT moment your parity drive was only 2 TB. You could have rebuild the data disk after that.

 

After that you could have upgraded the 2TB parity disk with a 3TB one, and have the parity rebuild so it was valid.

 

After that, now you have a 3 TB parity disk, you could upgrade any data disk to 3TB disks.

 

You tried everything at once and probably also tried to make a current parity disk into a data disk and vice versa. So probably 4 things at once...

Link to comment

Would it not have been possible to do it in one stage by putting the new 3TB disk in as parity, and the old 2TB disk to replace the 1TB disk and then do a swap-disable?    In other words the mistake was to try and put the 3TB disk in place of the 1TB disk as one of the stages which breaks the rules that parity can never be smaller than any of the data disks.  Thought I should check before I need to do this in anger !

Link to comment

Ok I apologise for not making myself totally clear

 

The 1Tb had a complete hardware failure so I am unable to return it to the array in order to unassign in correctly.

The 3 tb was never to become part of the data disks array but to upgrade the existing 2tb parity disk.

These instructions http://lime-technology.com/forum/index.php?topic=3230.msg30630#msg30630  say i can do just that and  return the 2tb parity drive into the data disks array with minimal effort, is this not correct?

 

On a different note the "restore" button never appears, but that may be due to the array not starting so that point is probably moot?

 

Would it not have been possible to do it in one stage by putting the new 3TB disk in as parity, and the old 2TB disk to replace the 1TB disk and then do a swap-disable? 

What is a swap disable?

 

In other words the mistake was to try and put the 3TB disk in place of the 1TB disk as one of the stages which breaks the rules that parity can never be smaller than any of the data disks.  Thought I should check before I need to do this in anger !

Yes I admit I was not getting my point across correctly and I am sorry for the confusion/aggravation it caused.

 

I just want to upgrade my parity disk that is all,  at this stage I am seriously considering taking the existing parity offline (ie unplugging) upgrading to the 3 then readding (ie plugging it in) the 2 back as a data drive. 

I assumed the docs outlined a simpler method but maybe this is not the case?

 

 

 

Link to comment

I think you have the right idea and it is called swap disable. I have never done it so I won't try to tell you how it's done. The link you posted is probably for an older version of unRAID.

 

Search for "swap disable" using Search from the main forum menu and take a look at some of the more recent ones to get some guidance.

 

Link to comment

I think you have the right idea and it is called swap disable. I have never done it so I won't try to tell you how it's done.

 

Thanks for validating my scenario and yes Swap-disable is exactly what I am trying to do, I have also looked at the wiki and went as far as swapping the physical connections to the drives in the array with the same result, the array does not start and the parity disk is noted as "Wrong" ,  This is looking to be more and more an unraid bug.

 

This is really annoying.

 

Any other ideas?

Link to comment

If you are using RC11 then swapping cables is irrelevant as disks are recognized by their Id's and not their position.

I suspect that you are not doing the steps for the swap-disable quite correctly.

 

It is unfortunate that I cannot find someone else to duplicate this behaviour and I dont have enough hardware to setup a test system ;(

 

In any case I took a screenshot of my array layout erased the config via new config (simple features) and set 3tb as parity and old parity in appropriate slot (as yet unformatted)

Array started with no issues and parity check underway.

Will report back if anything else gets weird but it looks as though things are now finally working ;)

 

Link to comment

I suspect that you are not doing the steps for the swap-disable quite correctly.

 

Well after doing a new config everything went fine except i noticed one of my other drives was now producing smart errors ;(.

So I backed up all the data and swapped the newly fault 2tb for an extra 3tb which I was going to replace one of my 500gb with.

 

In any case after starting the server I could not even start the array ( See attached pic) I know I had to do a parity sync but that should not stop me from starting the array with the upgraded (and unformatted) drive in place.

 

This seems like a major fault,  Can someone please verify this is the case?

 

words of wisdom are always appreciated

 

Should I start a new topis for this as it seems related to my initial issue which included upgrading a data drive?

 

unraid_drives-cropped.jpg.d024b8c3794647e5df6e15433880eeed.jpg

Link to comment

Archived

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

×
×
  • Create New...