Jump to content

[SOLVED] parity swap issue


Recommended Posts

So I had a data drive red ball and was taking the opportunity to move from 1tb drives to 2tb drives.  This required doing a parity swap since the replacement drive was larger then the parity drive.

 

yesterday I removed the failing drive and ran the parity swap overnight.  This morning I downed the system and removed old parity drive and replaced it with a second new 2tb drive. 

 

When I started up the system the main console still lists the old parity drive and if I change it to the new one it tells me I have too many missing drives and won't do anything.

 

I thought this would be a two step process but am now wondering if I have to do it in three or four steps as follows:

1) replace the failing drive and run a parity swap,

2) rebuild data to the former parity drive,

3) update parity (is this needed)

4) replace the old parity (now data) drive with new 2tb data drive and again rebuild data.

 

Is this right?

I really thought this would be a two step process at most.

 

Thanks in advance.

Link to comment

1) replace the failing drive and run a parity swap,

2) rebuild data to the former parity drive,

3) update parity (is this needed)

4) replace the old parity (now data) drive with new 2tb data drive and again rebuild data.

These steps suggest that you did not run the correct Parity swap process as steps 1 to 3 all happen as stages of the Parity Swap process.  Perhaps you need to provide more detail on exactly what you did and what happened as a result.
Link to comment

Here is everything I did:

1) powered down

2) removed failing drive

3) installed new drive

4) powered up

5) ran parity swap

6) powered down  (note that I didn't start the array at this point and rebuild the data to the old parity drive)

7) removed old parity drive

8 ) installed new drive

9) powered up

10) looked (with horror) at a message saying too many missing drives.

 

I'm going to put the old parity drive back in and see what things look like.

 

***

Old parity is back in and I'm rerunning the parity copy.  This time I'm going to start the array once the copy finishes.  This does seem like a waste of time since I don't plan on using the old parity drive but if that is what it takes I'll do it.

 

Link to comment

You might check to make sure you aren't having any problems with your flash drive. Look in the syslog and see if there are any FAT-fs lines. If you have a corrupt flash it could be read-only and unRAID would not be able to write your new array configuration.

 

You can usually fix flash corruption by putting in your PC and letting it checkdisk.

 

Post a syslog if you want us to take a look for you.

Link to comment

Here is everything I did:

1) powered down

2) removed failing drive

3) installed new drive

4) powered up

5) ran parity swap

6) powered down  (note that I didn't start the array at this point and rebuild the data to the old parity drive)

Not sure what you mean by this.  The parity swap process requires the array to be removed and the data rebuilt to the old parity drive.

7) removed old parity drive

8 ) installed new drive

9) powered up

10) looked (with horror) at a message saying too many missing drives.

 

I'm going to put the old parity drive back in and see what things look like.

 

***

Old parity is back in and I'm rerunning the parity copy.  This time I'm going to start the array once the copy finishes.  This does seem like a waste of time since I don't plan on using the old parity drive but if that is what it takes I'll do it.

The parity swap process has two stages:

  • The parity is copied from the older parity drive to the new one
  • the data drive is now rebuilt with the data that was previously on that drive

Sounds as if you did not complete both stages?

 

If you were not interested in the data that was on the previous data disk, then you could simply do a 'New Config' and assign all the disks to their final positions and start the array.  This would then start a parity build using the current contents of the disks.

Link to comment

itimpi,

 

  "Not sure what you mean by this.  The parity swap process requires the array to be removed and the data rebuilt to the old parity drive."

 

I'm not sure where this "requirement" is.  The copy process finished and the next thing I did was power down the system.  Nothing "required" me to do anything else.  It seems like if you MUST start the array and rebuild the data to the old disk then unraid should just go ahead and do this.

 

In any case I'm doing that now.  The parity copy is running and I'll start the array to rebuild the data in about five or six hours.

 

Link to comment

itimpi,

 

  "Not sure what you mean by this.  The parity swap process requires the array to be removed and the data rebuilt to the old parity drive."

 

I'm not sure where this "requirement" is.  The copy process finished and the next thing I did was power down the system.  Nothing "required" me to do anything else.  It seems like if you MUST start the array and rebuild the data to the old disk then unraid should just go ahead and do this.

This is why it is confusing as to what happened.  The parity swap process should automatically start rebuilding the data drive after copying the parity from the old parity to the parity without you having to do anything.

 

In any case I'm doing that now.  The parity copy is running and I'll start the array to rebuild the data in about five or six hours.

Link to comment

itimpi,

 

OK, I see what you're saying.  I'll report back tonight when the copy finishes.  I can't believe I would have moved on if the process wasn't reporting 100% complete but I've done stranger things before my second cup of coffee.

 

Thanks.

Link to comment

Here is everything I did:

1) powered down

2) removed failing drive

3) installed new drive

4) powered up

5) ran parity swap

6) powered down  (note that I didn't start the array at this point and rebuild the data to the old parity drive)

7) removed old parity drive

8 ) installed new drive

9) powered up

10) looked (with horror) at a message saying too many missing drives.

 

I'm going to put the old parity drive back in and see what things look like.

 

***

Old parity is back in and I'm rerunning the parity copy.  This time I'm going to start the array once the copy finishes.  This does seem like a waste of time since I don't plan on using the old parity drive but if that is what it takes I'll do it.

 

It's not at all clear exactly what you did.  Your list of steps shows TWO places where you "... installed new drive ..." => but as near as I can tell you only added ONE new drive (the 2TB drive).    It's not at all clear you can still rebuild the data from the failed drive at this point ... but your note that you were going to "... put the old parity drive back in ..." is perplexing => it never should have been removed.

 

What you SHOULD have done  ...

 

1.  Turn off the system to install the new 2TB drive and remove the failed drive

2.  Boot up and Stop the array

3.  Assign the new 2TB drive as parity and the old parity drive in place of the red-balled drive.

4.  Start the array.

 

That's it.    UnRAID would, in that case, copy the parity information from the old parity drive to the new one and then rebuild the data from the failed drive onto the parity drive.

 

 

Link to comment

garycase,

 

That's EXACTLY what I did and then I went on to add a second t2b drive to replace the old parity drive. 

 

I didn't know that the parity swap did a data rebuild.  But my plan was to swap the parity & then rebuild the data onto a second new disk.

 

original setup

parity:  1tb

redball: 1tb

data:    1tb

data:    1tb

 

target setup

partity: 2tb

data:    2tb

data:    1tb

data:    1tb

 

When I thought the parity swap was done I powered down and added the second 2tb drive.  It was at this point that I got messages about too many missing disks.

 

I'll report back tonight when the second attempt at a parity swap finishes.

 

 

Link to comment

You needed to do the swap-disable (the special case where you can update your parity drive and at the same time replace a failed drive with the old parity drive)  BEFORE you added any additional drives to the array.

 

It's not at all clear from the steps you listed that you had assigned the drives as you should have [i.e. the old parity in place of the failed drive] ... and it's even less clear that after you had swapped to the new larger parity drive that you can successfully repeat the process (as you're attempting now).

 

... but you'll find out soon enough if it works.

 

 

 

 

Link to comment

OK garycase we've established that I'm not clear. Let me try again.

 

1) powered down

2) removed redball drive

3) installed new 2tb drive

4) powered up

5) unassigned parity drive

6) assigned new drive as parity

7) assigned old parity as data

8 ) checked the box for parity swap

9) clicked COPY

10) went to bed

11) in the AM confirmed that copy had completed

12) powered down

13) removed old parity drive & installed second new 2tb drive

14) powered up

15) saw message that I had too many missing drive.

15a) asked a question here

16) powered down

17) removed the second new 2tb drive and reinstalled the old parity drive.

18 ) powered up

19) unassigned parity drive

20) assigned the first new 2tb drive as parity

21) assigned old parity as data

22) checked the box for parity swap

23) clicked COPY

 

that was at about 12:30 and it's now 55% complete. 

 

I think this is absolutely everything that I did.  Sorry if this is still unclear.  But frankly until the second attempt at a parity swap finishes this is kinda pointless.

 

Thanks for your help

 

 

Link to comment

In step #7 where you assigned the old parity as data, was that replacing the red-balled disk?

 

If so, then you may be okay.  As I'm sure you know at this point, step #12 should have simply been to Start the array and all would have been well.

 

As you already noted, at this point you simply need to wait and see how it goes.

 

 

 

Link to comment

In step #7 where you assigned the old parity as data, was that replacing the red-balled disk?

 

Not sure what else I could have done.  I assigned it into the only slot available.  The third & fourth slots are occupied by my remaining data drives.

 

As I'm sure you know at this point, step #12 should have simply been to Start the array and all would have been well.

 

Yeah, with hindsight I see that but I still had another new 2tb drive to put in.  I had no intensions of using the old parity drive so rebuilding data to it was a waste of time.  Even with this mistake I'm still not sure why it didn't come back up and recongnize the first new drive as the parity.  I can only guess that bringing up the array does something to "lock in" the parity copy.

 

There will be more to report tomorrow.

Link to comment

so the parity copy finished and here is the message I get

 

Stopped. Ugrading disk/swapping parity.

 

Start will expand the file system of the data disk (if possible); and then bring the array on-line and start Data-Rebuild.

  Yes I want to do this

 

I'm going to click "yes" and let it "expand the file system".  I guess I'll be able to put the second new drive in tomorrow.

 

Link to comment

Glad it worked.  Apparently UnRAID doesn't mark the new parity drive as "in place" until you Start the array after the copy .. so you were able to do the copy twice with no problem.    Nice to know it works that way.  Thinking about it, that makes sense ... it provides some protection against a power failure during the process.

 

 

Link to comment

All and all I'm happy with the process except for being forced to rebuild the data to the old parity drive.  You should be able to finish the copy process and be left in a position like you were before you began:  a working parity & one missing data drive.  At that point you should be able to either rebuild to the parity drive or to a new drive. 

 

I get that the process is called a "swap" and it did swap the parity & data around.  But I don't think my case is an unusual case in that if you're increasing the size of your parity you're probably also increasing the size of your data which in turn likely means you're not going to use your old parity disk.

 

It just seems like this should be an option.  In my case it would have saved me about 8 hours.

 

Oh well.  The bigger point is that it worked and I didn't loose any data.

 

Link to comment

...  if you're increasing the size of your parity you're probably also increasing the size of your data which in turn likely means you're not going to use your old parity disk.

 

True ... the reason you normally replace your parity drive with a larger drive is because you want to be able to use larger data drives.    But the swap/disable process is a special case that's only used when you have a FAILED drive and don't have (or want to buy) a drive the same size as that drive.  This is NOT the normal way you should be increasing the size of your parity drive -- you should do that while the array is healthy !!    FWIW I think you also chose a drive smaller than you should have for the replacement.  With drives up to 8TB these days, the "sweet spot" in terms of cost/TB is 3TB (or even 4TB with some sales).  Using one of those for your new parity drive would have given you a lot more "headroom" for growth in your array without needing yet-another increase in the size of the parity drive.

 

 

 

 

Link to comment

...  if you're increasing the size of your parity you're probably also increasing the size of your data which in turn likely means you're not going to use your old parity disk.

 

...FWIW I think you also chose a drive smaller than you should have for the replacement.  With drives up to 8TB these days, the "sweet spot" in terms of cost/TB is 3TB (or even 4TB with some sales). 

 

Unless you have the 2tb drives on hand and then that price to size sweet spot is even sweeter!  ;)

 

 

Link to comment

Archived

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

×
×
  • Create New...