Jump to content

blender50

Members
  • Posts

    13
  • Joined

  • Last visited

Everything posted by blender50

  1. Ok, since the diags were of no use I decided to rerun the upgrade. I access my server using wireguard, and was troubled with some crappy performance, I remembered that I had 'File Activity' logging enabled and disabled it. The GUI is now way snappier. Next I reran the update and waited.... It took 30 min for the array to come back up, but at least it's up. If the 30 min seems unusual, I am adding diags..... blender-diagnostics-20240907-1635_6.12.13.zip
  2. I edited my original post adding diagnostics I just saved.
  3. The title says it all, I updated and the array got stuck 'mounting disks'. I disabled my scheduled user scripts based on another post but to no avail. Since then I've downgraded and tried a second time, still no joy. Now I'm back to .11 and am wondering if others have had the same experience. Basically I am looking for some things I can try to smooth things out... I forgot to collect diagnostics when I was trying to boot .13. If nobody has any ideas for me to try to I will rerun the update and grab them. blender-diagnostics-20240906-0951_6.12.11.zip
  4. I took the above script as a starting point, added a few things that made its use more useful to me. Disclaimer: I'm no BASH god, and I'm sure it can be improved upon, but for me it does the trick. There are some use remarks in the comments at the top of the script. #!/bin/bash # It takes a number of seconds as an argument. That controls how often the script updates. # # To run the script save it to /tmp and set it to execute (chmod +x scriptname) # then do # "/tmp/syncscript xx" where xx is the refresh time in seconds (without the quotes ;-) # # You can leave this script running while pausing and resuming the parity check from the GUI Main page without issue. :-) # # To stop the script Press [CTRL+C] # # This script will display like this: # # RUNNING # Press [CTRL+C] to stop. # Array Status: STARTED # Parity Check: Running # Speed: 119.9 MB/sec # Progress: 1 GB of 12000 GB # # (0.0%) # Completing in: 27h 48m # On approximately: Sat Sep 16 18:38:31 PDT 2023 # Total Errors: 0 # Refreshing in 0 # # PAUSED # Press [CTRL+C] to stop. # Array Status: STARTED # Parity Check: Paused # Speed: 0 MB/sec # Progress: 13 GB of 0 GB # # (0%) # Completing in: N/A # On approximately: N/A # Total Errors: 0 # Refreshing in 9 # # STOPPED # Press [CTRL+C] to stop. # Array Status: STARTED # Parity Check: Not Running # Speed: 0 MB/sec # Progress: 0 GB of 0 GB # # (0%) # Completing in: N/A # On approximately: N/A # Total Errors: 0 # Refreshing in 6 # Check to see the argument is provided. Otherwise exit with helpful message. if [ -z "$1" ] then echo " To run this script please supply a refresh time in x seconds, like: # /tmp/syncstatus x" exit 0 fi # Define Colored text for use in countdown RED='\033[0;31m' NC='\033[0m' # No Color # Main loop of script while true do # Set refresh to the arguments value plus 1 (necessary for the countdown) refresh=$(($1+1)) # clear the screen and display the script at the top of the window (one row down for readability) tput clear tput cup 1 0 # grab various datapoints from the output of mdcmd status command status=$(mdcmd status | sed -n 's/mdState=//p' ) size=$(mdcmd status | sed -n 's/mdResync=//p' ) pos=$(mdcmd status | sed -n 's/mdResyncPos=//p' ) dt=$(mdcmd status | sed -n 's/mdResyncDt=//p' ) db=$(mdcmd status | sed -n 's/mdResyncDb=//p' ) # calculating sizes and data processed gbsize=$(awk "BEGIN{printf \"%.0f\", $size * 1024 / 1000^3}" ) gbpos=$(awk "BEGIN{printf \"%.0f\", $pos * 1024 / 1000^3}" ) # error checking for stopped, paused, ... if [ $size == 0 ] then progress="0" else progress=$(awk "BEGIN{printf \"%.1f\", ($pos / $size) * 100}" ) fi # checking for 0 speed. Indicating stopped or paused if [ $dt == 0 ] then speed="0" else speed=$(awk "BEGIN{printf \"%.1f\", ($db / $dt) * 1024 / 1000^2}" ) fi # if there is a speed value greater than 0, then the check is running and we report the amount of time left if [ $speed == 0 ] then finish="N/A" else # since it is running we can calculate and display the projected end date finish=$(awk "BEGIN{ m=(($dt*(($size-$pos)/($db/100+1)))/100)/60 print int(m/60) \"h \" int(m%60) \"m\" }") fi # check to see if Parity check is paused, stopped or running if [[ $gbpos -gt "0" ]] && [[ $gbsize == 0 ]] then parityCheck="Paused" elif [ $size == 0 ] then parityCheck="Not Running" else parityCheck="Running" fi # Begin outputting info echo "Press [CTRL+C] to stop." echo "Array Status: $status" echo "Parity Check: $parityCheck" echo "Speed: $speed MB/sec" echo "Progress: $gbpos GB of $gbsize GB" # round progress to nearest whole number for progress bar display progressRounded=$(printf %.0f $progress) # calc progress bar and display %age completed for i in $(eval echo "{0..$progressRounded}") do echo -n "#" done echo " (${progress}%)" echo "Completing in: $finish" # account for stopped or paused processs if [[ $parityCheck="Running" ]] then # calc end date # Extract hours and minutes hours=$(echo "$finish" | awk '{print $1}' | sed 's/h//') minutes=$(echo "$finish" | awk '{print $2}' | sed 's/m//') # Convert to seconds if [[ -n "$hours" ]] && [[ -n "$minutes" ]] then seconds_left=$((hours*3600 + minutes*60)) endDate=$(date -d "now + $seconds_left seconds") else endDate="N/A" fi echo "On approximately: $endDate" fi # Parse all mdcmd status data and summing all rdevNumErrors values input_string=$(mdcmd status) # Use grep to filter lines starting with rdevNumErrors rdev_errors=$(echo "$input_string" | grep -Eo 'rdevNumErrors\.[0-9]+=[0-9]+' | awk -F= '{sum+=$2} END{print sum}') # Print the total value echo "Total Errors: $rdev_errors" # Countdown display count displays in red from 5 to 0 before refresh while [ $refresh -gt 0 ] do refresh=$((refresh-1)) if [ $refresh -le 5 ] then printf " Refreshing in ${RED}$refresh${NC} " printf "\r" sleep 1 else printf " Refreshing in $refresh " printf "\r" sleep 1 fi done # end of countdown while done # end of 'whole script' while I hope others find it useful.
  5. I have a couple of questions re Syslog and its rotation (below). Here are my settings for Syslog; Here are my questions; 1) Looking at this you would think that in addition to sending to the remote server the log file would rotate when it reaches 1MB and moves it to the 'syslog' share. This is not happening. Does adding the remote server cause this? 2) Can i manually tweak the syslog rotation to have it rotate daily? (this would include moving the file to the share as well) Thanks in advance for any wisdom shared!
  6. This is a follow-up to my post from last Thursday. I switched back to the built-in UPS plugin and the errors no longer show up in my syslog. So, that's the good news. As luck would have it we had a couple of power outages in the last couple of days, each long enough to get the ups to power down my server. Everything went fine but I had to manually power off my workstation since it is no longer monitoring the unRAID box. This leaves me with either figuring out how to set up the built-in UPS plug so that it acts as a netserver or going back to the NUT plugin and tweaking the config to eliminate the bogus 'battery is low' messages. I have no reason to make NUT to work if the 'stock' plugin can be made to work. JonathanM, can you provide any further details on how to have the UPS plugin act as a master? Squid, I see you mentioned I may have old batteries, but they were replaced a couple of years ago and I don't think the data is accurate. During the two powerboats this past weekend the UPS worked exactly as expected (thank goodness). Thanks again to all who have chimed in on this, I really appreciate the help.
  7. I'm getting lots of this message in my syslog upsmon[24182]: UPS [email protected] battery is low It seems to be at random intervals. I've run it as a standalone and netserver, the errors persist. Here are some grabs of the settings for both the built-in UPS settings and the NUT plugin. My questions are these; Is this something others have seen? I couldn't find anything in the topic... How specifically can I really ramp up logging to debug this? My next step is going to be to disable NUT and try the built-in UPS monitor and see if the errors turn up. I want to get NUT to work correctly so that I can shutdown other computers on my UPS when the power goes out. Thanks in advance for the help!
×
×
  • Create New...