Re: Nut and RAID on FreeBSD 7.0
- From: "Derrick Ryalls" <ryallsd@xxxxxxxxx>
- Date: Thu, 10 Jan 2008 14:43:57 -0800
> Greetings,
>
> I have a RAID fileserver plugged into a UPS and nut is able to
> communicate with it successfully. With the winds making the lights
> flicker, I started looking into having the computer shut down when
> power goes out for more than say 5 minutes or so. Looking at the
> documentation, I found that the 'true' solution is more like the
> system goes into a safe state when the battery gets low, then the ups
> eventually dies. When power is restored, the UPS and computer are
> supposed to both come back to life. This would be a great system to
> have in place, but it does sound a bit risky and so may not be worth
> doing just to save my home fileserver.
>
> The instructions and the conf file have the shutdown command of
> 'shutdown -h +0' which will halt the system. The man page for halt
> says the the disk cache will be flushed, but doesn't mention anything
> about going to read-only or anything. I suppose my first question is
> whether or not flushing the cache is sufficient to save the RAID (5)
> array, or if I need to find a way to get the file systems into read
> only mode?
>
> The second question has to do with a rc.d script that nut recommends
> creating. The script does a 'upsdrvctl shutdown' and then a sleep
> 120, basically waiting for the machine to die while in the script.
> Won't this block the other rc.d scripts? Also, is this the magic part
> that enables the machine to auto power up when power is restored?
>
> Changing the shutdown command in nut to 'shutdown -p +0' looks like
> the sure fire way to get the system down clean before the power is
> lost, but if my concerns are not valid, then I could be missing out on
> some nice functionality for no reason.
>
> Does anyone have experience with this?
> I have my servers all using nut to safely shutdown. My configuration is
> the servers are set up with one as master for nut, that master connected
to
> the UPS. The other servers are slaves and get their nut information from
> the master.
>
> My setup has the servers wait until the UPS is on low battery, then they
> all shutdown.
>
> As a separate part of the setup, the servers are set in their BIOS to
power
> on, after a power failure. This is in the BIOS power setup.
>
> So if there is a minor power problem, the servers run from battery. In
a
> larger power outage, they are shutdown cleanly once the battery level is
> low, and power up automatically once power is restored.
>
> In my upsmon.conf file I have this:
> SHUTDOWNCMD "/sbin/shutdown -h +0"
>
> If you want more specifics, I can look through the configuration files
and
> email you relevant settings.
>
After doing more reading, I am confident that a shutdown -h would be
sufficient, but am a bit concern on the order of operations. The nut
documentation has a recommendation to add a kill script as such:
#!/bin/sh
if [ "$1" == "stop" ]
then
if [ -f /etc/killpower ]
then
echo "Killing the power, bye!"
/usr/local/libexec/nut/upsdrvctl shutdown
sleep 120
fi
fi
</copy>
Even if I name this zz_killpower.sh to make it run last, depending on
how long it takes FreeBSD to flush the cash after all rc.d scripts are
run, I could end up doing a dirty power down, right? Without this, if
the power does come back while before the battery finally dies, the
system won't restart since the power was never fully interrupted at
the computer side?
You are reading the old documentation. The current nut, 2.2, has complete
rc scripts that are installed in /usr/local/etc/rc.d
You need only define the flag file you want to use in upsmon.conf
Also define what actions you want in that file as well. You need to use
the sample files installed in /usr/local/etc/nut and be sure to read the
comments.
I have 2.2 installed and am using the existing scripts. In the
comments in uspmon.conf, there is this part:
# --------------------------------------------------------------------------
# POWERDOWNFLAG - Flag file for forcing UPS shutdown on the master system
#
# upsmon will create a file with this name in master mode when it's time
# to shut down the load. You should check for this file's existence in
# your shutdown scripts and run 'upsdrvctl shutdown' if it exists.
#
# See the shutdown.txt file in the docs subdirectory for more information.
POWERDOWNFLAG /etc/killpower
Which in the related documentation means I need the custom shutdown
script mentioned above which checks for the existence of the
/etc/killpower file before doing the upsdrvctl shutdown command to
kill the UPS before the battery is completely dead. I suppose in your
situation you won't need this extra script as you run until the UPS is
critical whereas I am trying to kill the system a bit early, before it
is critical.
Perhaps I need to re-evaluate my line of thinking. Light sometime
flicker, but power almost never goes out. When it does it is either
back on in less than 1 minute, or out for hours. If the UPS detects
critical correctly and gives me at least a minute before death, then
that should be plenty of time for the system to auto-shutdown. Guess
I will have to do some experimentation tonight.
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: Nut and RAID on FreeBSD 7.0
- From: Bob Johnson
- Re: Nut and RAID on FreeBSD 7.0
- References:
- Nut and RAID on FreeBSD 7.0
- From: Derrick Ryalls
- Re: Nut and RAID on FreeBSD 7.0
- From: Derek Ragona
- Re: Nut and RAID on FreeBSD 7.0
- From: Derrick Ryalls
- Re: Nut and RAID on FreeBSD 7.0
- From: Derek Ragona
- Nut and RAID on FreeBSD 7.0
- Prev by Date: Re: Python threading - some ports depend on it, others break with it
- Next by Date: Re: Nut and RAID on FreeBSD 7.0
- Previous by thread: Re: Nut and RAID on FreeBSD 7.0
- Next by thread: Re: Nut and RAID on FreeBSD 7.0
- Index(es):
Relevant Pages
|