Jump to content

Can I go from 2 parity disks to 1?


nadbmal

Recommended Posts

I currently have two parity disks, but for a few reasons I am considering maybe eventually going down to just 1 (unimportant data, only have 6 drive bays, etc) down the line when I start running low on space (this is not something I would do today, but maybe next year)

 

Is it possible to do? Is it as easy as just stopping the array, unassigning one of the parity disks, then start (maybe rebuild?), then stop again, and assign the disk as a data disk?

Link to comment
15 minutes ago, nadbmal said:

Is it possible to do? Is it as easy as just stopping the array, unassigning one of the parity disks, then start (maybe rebuild?),

Yes, there's no rebuild.

 

19 minutes ago, nadbmal said:

then stop again, and assign the disk as a data disk?

If you want, disk will be cleared before it can be used.

Link to comment
  • 3 months later...
On 2017-12-27 at 12:47 PM, johnnie.black said:

Yes, there's no rebuild.

 

If you want, disk will be cleared before it can be used.

 

So now I've done it and changed one of the parity drives to a data one.  I decided to keep "Parity 2" as a parity disc, but even though it's the only Parity disc now it's still named "Parity 2". 

Is this just cosmetic or can it cause problems later on? (I'm pretty sure it's cosmetic only but I just wanna be sure...)

If it's cosmetic, is it possible to fix easily?

 

(Disk 5 is clearing)

lookslikethis.PNG

Link to comment
6 minutes ago, nadbmal said:

Is this just cosmetic or can it cause problems later on?

Not cosmetic, but won't cause issues. Parity 1 and 2 use different computations, so they are not interchangeable. If you really want it to be parity 1, you will need to set a new config and change its assignment. You will be without parity protection until it is successfully rewritten as parity 1, so I wouldn't bother changing it.

 

Next time you run out of space, you could assign the new (probably larger) drive as parity 1, let it build, check it, then reassign your current parity 2 as a data drive.

Link to comment
1 minute ago, jonathanm said:

Not cosmetic, but won't cause issues. Parity 1 and 2 use different computations, so they are not interchangeable. If you really want it to be parity 1, you will need to set a new config and change its assignment. You will be without parity protection until it is successfully rewritten as parity 1, so I wouldn't bother changing it.

 

Next time you run out of space, you could assign the new (probably larger) drive as parity 1, let it build, check it, then reassign your current parity 2 as a data drive.

 

Ah ok, kinda scary that it's not just cosmetic but good that it shouldn't matter (apart from my OCD going slightly insane).

 

When I run out of space, can I replace any of the drives (all 6 ports/bays are full) or do I need to replace a specific one?

On that note, I assume if one of the current disks were to go bad, I couldn't replace the failed drive with a bigger one and then make that the new parity, and then make the old parity a data disk?

Link to comment
1 minute ago, nadbmal said:

When I run out of space, can I replace any of the drives (all 6 ports/bays are full) or do I need to replace a specific one?

On that note, I assume if one of the current disks were to go bad, I couldn't replace the failed drive with a bigger one and then make that the new parity, and then make the old parity a data disk?

Since all of your drive bays are full, you don't have the option of adding parity 1 back as a larger drive. You are stuck doing the parity swap procedure that you described. The new larger drive would be assigned to parity 2, and the current parity 2 drive would be assigned in place of the failed drive. The system will then copy the parity drive bits to the new drive, once that is complete it will use all your drives to rebuild the data from the failed drive to the old parity 2 drive. This is described in the docs. https://lime-technology.com/wiki/The_parity_swap_procedure

 

You are painted into a corner by not leaving an empty bay, I can't think of a way to get the parity type switched to parity 1 without rebuilding it and going without protection for that interval. Going unprotected is not the end of the world, if parity 2 vs 1 really bothers you. As long as all your drives are verified healthy with long smart tests and a clean parity check, I see no reason not to rebuild other than the inherent risk of messing with a currently working system.

Link to comment
9 minutes ago, jonathanm said:

Since all of your drive bays are full, you don't have the option of adding parity 1 back as a larger drive. You are stuck doing the parity swap procedure that you described. The new larger drive would be assigned to parity 2, and the current parity 2 drive would be assigned in place of the failed drive. The system will then copy the parity drive bits to the new drive, once that is complete it will use all your drives to rebuild the data from the failed drive to the old parity 2 drive. This is described in the docs. https://lime-technology.com/wiki/The_parity_swap_procedure

 

You are painted into a corner by not leaving an empty bay, I can't think of a way to get the parity type switched to parity 1 without rebuilding it and going without protection for that interval. Going unprotected is not the end of the world, if parity 2 vs 1 really bothers you. As long as all your drives are verified healthy with long smart tests and a clean parity check, I see no reason not to rebuild other than the inherent risk of messing with a currently working system.

 

I've been meaning to get a new motherboard and bigger case so this is just more motivation to do it. Someday.

Link to comment
2 hours ago, jonathanm said:

@limetech I have a suggestion for a cosmetic change, based on the question I answered in the previous post.

 

Instead of labelling them parity 1 and 2, maybe change the labels to XOR Parity, and Reed-Solomon Parity. That way it is extremely clear that the two drives are not equivalent and interchangeable.

 

They are actually labelled "Parity" and "Parity 2" which doesn't look as neat as "Parity P" and "Parity Q" would, though I would accept "XOR Parity" and "R-S Parity" as alternatives.

Link to comment
22 hours ago, John_M said:

 

They are actually labelled "Parity" and "Parity 2" which doesn't look as neat as "Parity P" and "Parity Q" would, though I would accept "XOR Parity" and "R-S Parity" as alternatives.

 

We use "Parity" and "Parity 2" to be consistent with cache pool: "Cache", "Cache 2", "Cache 3", etc.  If we ever implement triple parity the third device would be "Parity 3".

 

I see the logic behind using P or Q or XOR or R-S, but I don't see how that would make much difference in terms of usability.  Instead, by adding technical designation might add to confusion.  Maybe we can use the Comment field (which is not displayed for parity devices) to indicate whether device is XOR or Reed-Solomon.  Maybe we should make the Help indicate this better.  But not a fan of changing the device identifiers.

Link to comment
2 hours ago, limetech said:

 

We use "Parity" and "Parity 2" to be consistent with cache pool: "Cache", "Cache 2", "Cache 3", etc.  If we ever implement triple parity the third device would be "Parity 3".

 

I see the logic behind using P or Q or XOR or R-S, but I don't see how that would make much difference in terms of usability.  Instead, by adding technical designation might add to confusion.  Maybe we can use the Comment field (which is not displayed for parity devices) to indicate whether device is XOR or Reed-Solomon.  Maybe we should make the Help indicate this better.  But not a fan of changing the device identifiers.

 

I fully understand and accept your reasoning, Tom. I really don't mind either way. I was just responding to jonathanm's suggestion, that's all, because I thought his suggestions for labels were rather long and unwieldy while "Parity P" and "Parity Q" (and "Parity R", if you ever implement it) are neat and concise, they are used in the syslog and, as far as the non-technical user is concerned, they are just consecutive letters. If a user doesn't understand what P and Q mean, he wouldn't be any the wiser if they were called XOR and Reed-Solomon instead, and those terms aren't even used in the syslog (OK, XOR gets a mention during the benchmarking but Reed-Solomon doesn't).

Link to comment
4 hours ago, limetech said:

 

We use "Parity" and "Parity 2" to be consistent with cache pool: "Cache", "Cache 2", "Cache 3", etc.  If we ever implement triple parity the third device would be "Parity 3".

 

I see the logic behind using P or Q or XOR or R-S, but I don't see how that would make much difference in terms of usability.  Instead, by adding technical designation might add to confusion.  Maybe we can use the Comment field (which is not displayed for parity devices) to indicate whether device is XOR or Reed-Solomon.  Maybe we should make the Help indicate this better.  But not a fan of changing the device identifiers.

My reasoning for a change was as follows.

 

Users don't understand the difference between the parity types, and don't really need to. When faced with a display that has no disk assigned for parity, but has a disk assigned for parity2, they think they should be able to change parity2 to be just parity, so it looks neater.

 

How about this...

Keep track of RS or XOR in the "Used" field for a started array? If you only have 1 parity drive assigned to the array, it hides the parity2 slot, but shows the type as either XOR or RS. Adding the 2nd parity drive automatically toggles to the missing parity type. Lose the distinction of parity and parity 2 once the array is started, just call them all parity drives. When the array is stopped, you could keep the current display the same, with parity2 slot being the RS, and parity being XOR.

 

This is purely a cosmetic request, similar in my mind to the hiding of blank array drive slots in a started array that was included in V5 and above. Many (majority?) here have some level of OCD, the less it's triggered, the better.

Link to comment

Archived

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

×
×
  • Create New...