[Plugin] Parity Check Tuning


Recommended Posts

6 hours ago, SimonF said:

Is the move button in settings scheduler move options enabled. Function was added in 6.10 to disable that button if parity is running.

 

That is done by stock unraid not the plugin.

 

I see.

 

The button Settings > Scheduler > Move now is not  disabled. When pressing the mover still won't run. From the log:

 

emhttpd: shcmd: /usr/local/sbin/mover &> /dev/null &

root: Parity Check / rebuild in progress. Not running mover

 

Clearly the mover script also checks whether a parity check is in progress and does not know about it being paused.

 

I think this is a considerable problem as with the party check tuning the overall check may take 1 or more weeks and during this time the mover will not be able to free the cache.

 

To solve this it would be necessary to talk to the core developers, e.g. to introduce a "paused" state for partity checks and to allow the mover to operate while parity check is in paused state.

 

 

 

 

  • Thanks 1
Link to comment
9 hours ago, b0m541 said:

 

I see.

 

The button Settings > Scheduler > Move now is not  disabled. When pressing the mover still won't run. From the log:

 

emhttpd: shcmd: /usr/local/sbin/mover &> /dev/null &

root: Parity Check / rebuild in progress. Not running mover

 

Clearly the mover script also checks whether a parity check is in progress and does not know about it being paused.

 

I think this is a considerable problem as with the party check tuning the overall check may take 1 or more weeks and during this time the mover will not be able to free the cache.

 

To solve this it would be necessary to talk to the core developers, e.g. to introduce a "paused" state for partity checks and to allow the mover to operate while parity check is in paused state.

 

 

 

 

Have you also tried running mover from the command line to see if you get the same result as I cannot see in the script anything that checks for parity running.

Link to comment
4 hours ago, SimonF said:

Have you also tried running mover from the command line to see if you get the same result as I cannot see in the script anything that checks for parity running.

There is an option for this in the in the Mover Tuning plugin settings so maybe that is where the message originates?

Link to comment
6 hours ago, SimonF said:

Have you also tried running mover from the command line to see if you get the same result as I cannot see in the script anything that checks for parity running.

No I have not.

 

Which one can be used safely? It seems that /usr/local/sbin/mover is the wrapper for Mover Tuning.

Is it safe to start /usr/local/sbin/mover.old ?

 

 

Link to comment
53 minutes ago, b0m541 said:

No I have not.

 

Which one can be used safely? It seems that /usr/local/sbin/mover is the wrapper for Mover Tuning.

Is it safe to start /usr/local/sbin/mover.old ?

 

 

Have you checked the Mover Tuning plugin settings to make sure you have not got it set there to NOT run mover if parity check is active?

Link to comment
3 minutes ago, itimpi said:

Have you checked the Mover Tuning plugin settings to make sure you have not got it set there to NOT run mover if parity check is active?

 

In an earlier response you wrote "This feature is intended to work the other way around and pause a parity check if it detects mover running." So why would it prevent the mover to start?

 

So I have "Let scheduled mover run during a parity check / rebuild:" on "No"

 

I now have set it to "Yes".

 

This does not enable the "Move" button under Main > Array operation.

 

However, the "Move Now" button under Settings > Scheduler > Mover Settings can be clicked and the script actually runs.

 

That means, that I need to set "Let scheduled mover run during a parity check / rebuild:" back to "No" after the Mover has run through, otherwise the Mover might be scheduled during a Parity Check while the check is NOT paused.

 

Derived from this I have a proposal for improvement:

 

Settings > Scheduler > Mover Settings > Move Now seems to execute /usr/local/sbin/mover. This seems to be a wrapper for Parity Check Tuning. Hence, this script is aware whether the current Parity Check is really running or paused. Would it be possible to ensure there, the following?:

 

-if the Parity Check is running (and not paused) and "Let scheduled mover run during a parity check / rebuild:"  is set to "No" - then do NOT start the real mover script

 

-if the Parity Check is paused while running and "Let scheduled mover run during a parity check / rebuild:"  is set to "No" - then start the real mover script

 

This way the user does not need to twiddle with "Let scheduled mover run during a parity check / rebuild:" to be able to manually start the mover while the Parity Check is paused.

 

Technically this would be a small change.

 

Are you willing to make it?

 

 

 

 

 

 

 

 

Link to comment
1 minute ago, b0m541 said:

That means, that I need to set "Let scheduled mover run during a parity check / rebuild:" back to "No" after the Mover has run through, otherwise the Mover might be scheduled during a Parity Check while the check is NOT paused.

No, you do not need to do this.    When the mover runs then if the parity check is not paused and you have the appropriate setting in the Plugin Tuning settings then the parity check will automatically pause when mover starts and automatically resume when it finishes.

Link to comment
8 minutes ago, b0m541 said:

Settings > Scheduler > Mover Settings > Move Now seems to execute /usr/local/sbin/mover. This seems to be a wrapper for Parity Check Tuning.

No - the two are completely independent of each other.

 

You basically have to decide which of the following you want:

  • forbid mover to run if a parity check is running via the Mover Tuning settings
  • let a mover start despite a parity check running and let the Parity Check Tuning plugin pause the parity check until mover finishes.
Link to comment

Oh ok, I did not have the big picture that there are actually two settings in different places that are interrelated:

 

Parity Check Tuning: Pause array operations while mover is running

Mover Tuning: Let scheduled mover run during a parity check / rebuild

 

I will set them as follows because I want mover to run daily, but not have a running Parity Check at the same time:

 

Parity Check Tuning: Pause array operations while mover is running: Yes

Mover Tuning: Let scheduled mover run during a parity check / rebuild: Yes

 

Correct?

 

I am happy that this is clear to me now. To help others to avoid this confusion maybe the help texts of both Tuning plugins for the above mentioned options could be amended to point out that there is an interrelated option in the other tuning plugin and what combinations lead to what result.

 

Thanks for the clarification.

 

 

Link to comment

FYI I have my parity check set to 90 days so its been a while since it has run. It started automatically last night at 12:20 AM as scheduled. At 12:20 AM tonight I get a notification that the parity check had been PAUSED. Dive into the setting for plugin and see that "Use increments for scheduled Parity Check" had been turned on and the settings had picked up my scheduled parity check start time setting for its "pause time" (unless 00:30 is the default).

I have never turned this on so it must have reverted to this as default in an update since the last scheduled parity check was run. No harm done just startled me as I had never seen that notification before lol.

Link to comment
3 hours ago, interwebtech said:

FYI I have my parity check set to 90 days so its been a while since it has run. It started automatically last night at 12:20 AM as scheduled. At 12:20 AM tonight I get a notification that the parity check had been PAUSED. Dive into the setting for plugin and see that "Use increments for scheduled Parity Check" had been turned on and the settings had picked up my scheduled parity check start time setting for its "pause time" (unless 00:30 is the default).

I have never turned this on so it must have reverted to this as default in an update since the last scheduled parity check was run. No harm done just startled me as I had never seen that notification before lol.

I suspect that this is a coincidence.   The defaults for the Parity Check Tuning plugin changed some releases ago and if you had never clicked Apply on its settings screen the defaults will take effect.   Simply make sure the settings are what you now want and hit Apply and those settings will be what are used in the future.

Link to comment
  • 3 weeks later...

I have a question/feature request I'd like to ask/propose

 

My backup server is in a case with less than ideal cooling.  I love that parity check tuning will pause the parity check when the drives heat up, however, even if there is no other activity on the server, the drives never seem to spin down and cool off, so the parity check never restarts.

 

Is there a way to get the drives to spin down during a parity check when they hit the temperature threshold?

 

If not, is it practicable for this to be added in a future revision?

 

Thank you.

 

Kevin

Link to comment
On 8/1/2022 at 5:50 PM, kolepard said:

I have a question/feature request I'd like to ask/propose

 

My backup server is in a case with less than ideal cooling.  I love that parity check tuning will pause the parity check when the drives heat up, however, even if there is no other activity on the server, the drives never seem to spin down and cool off, so the parity check never restarts.

 

Is there a way to get the drives to spin down during a parity check when they hit the temperature threshold?

 

If not, is it practicable for this to be added in a future revision?

 

Thank you.

 

Kevin


I do not know of anyway to make the plugin reliably spin down the drives - this is something Unraid still struggles to do reliably for all hardware combinations so it something I have been avoiding.  At the moment if you want spindown then you need it set appropriately at the Unraid system level. The plugin does, however, now avoid unnecessarily spinning up drives if a check is in a paused state for temperature related reasons.

 

Having said that I will consider checking if the latest Unraid releases have cracked the problem of spindown in a way the plugin can exploit.   It might be worth attempting a spindown when the temperature related pause happens even if it does not work for everybody.  If I get this working it will probably have to be exposed as a setting as I could see that not everyone would want their drives forcibly spun down by the plugin.

Link to comment
  • 1 month later...

I’m having issues with my system whereby it’s crashing when a parity check is left running continuously.  If I manually resume for 20mins & pause for 45 mins it seems to be ok, but doing this manually is not great.

 

I’ve tried this add on which seems ideal but it doesn’t seem to be working for me. The pause occurs but the resume doesn’t.   Probably something I’m doing wrong, but would appreciate some help.


Settings shown below.  But effectively I’m trying to use custom with increment resume time ‘35 * * * *’ , and increment pause time ‘55 * * * *’ 

 

FF430079-491D-4CFF-A2CD-B02FABB14AEC.png

Link to comment
51 minutes ago, Johnyb62 said:

I’m having issues with my system whereby it’s crashing when a parity check is left running continuously.

You need to fix this problem instead of trying to make this plugin workaround your hardware issues. I already replied to your (nearly year old) thread about your problem but never got any response.

  • Like 1
Link to comment
5 hours ago, Johnyb62 said:

I’m having issues with my system whereby it’s crashing when a parity check is left running continuously.  If I manually resume for 20mins & pause for 45 mins it seems to be ok, but doing this manually is not great.

 

I’ve tried this add on which seems ideal but it doesn’t seem to be working for me. The pause occurs but the resume doesn’t.   Probably something I’m doing wrong, but would appreciate some help.


Settings shown below.  But effectively I’m trying to use custom with increment resume time ‘35 * * * *’ , and increment pause time ‘55 * * * *’ 

 

FF430079-491D-4CFF-A2CD-B02FABB14AEC.png

I do not see any reason why those settings will not work.   I use something similar when doing development/testing of the plugin.   If you want me to look any further then you should enable the ‘Testing’ mode of logging in the plugin and let me have the resulting logs ( via diagnostics).

 

As was mentioned there is no way that running a parity check should cause a system to crash unless you have some sort of underlying hardware issue.

Link to comment
On 9/11/2022 at 6:51 PM, trurl said:

You need to fix this problem instead of trying to make this plugin workaround your hardware issues. I already replied to your (nearly year old) thread about your problem but never got any response.

You are absolutely right, yes I do need to resolve the underlying issue.  Truth be told I'd completely forgotten about the parity check issue until a recent server crash which started a parity check.  My initial instinct was to get the parity check to run through to make sure my data was ok (by slowing the process down), then revisit the underlying problem.  I'll update my original post. thanks  

Link to comment
On 9/11/2022 at 11:31 PM, itimpi said:

I do not see any reason why those settings will not work.   I use something similar when doing development/testing of the plugin.   If you want me to look any further then you should enable the ‘Testing’ mode of logging in the plugin and let me have the resulting logs ( via diagnostics).

 

As was mentioned there is no way that running a parity check should cause a system to crash unless you have some sort of underlying hardware issue.

Thanks.  Turned out a server reboot solved it and started working as expected.  

Link to comment
  • 1 month later...

Thanks for the app.

My server sleeps throughout the night and autoawakes in the morning, which means I want the parity check in the daytime. My setting:

 

336648952_FireShotCapture008-Tower_Scheduler-10.0.0_254.png.eea6e67518448efb1cdf42e9b89e4ab6.png1120665642_FireShotCapture009-Tower_Scheduler-10.0.0_254.png.a8385e90c54547976698b5d016d4a05a.png

 

The parity check started as sheduled and paused at the pause time. But the next morning after the array started the check didn't resume, forgetting it had imcomplete check task. Anything wrong with my settings?

 

Link to comment
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.