[Comm] nut and UPS shutdown

Alexey Borovskoy =?iso-8859-1?q?alexey=5Fborovskoy_=CE=C1_mail=2Eru?=
Пн Июл 28 12:15:16 MSD 2003


* 28 Июль 2003 20:15 Grigory Batalov <grisxa на mail.ru>

> On Fri, 25 Jul 2003 22:29:01 +1300
>
> Alexey Borovskoy <alexey_borovskoy на mail.ru> wrote:
> > > В документации к NUT рекомендуется прописать в
> > > shutdown-скрипт строки типа:
> > >
> > >    if (test -f /etc/killpower)
> > >    then
> > >       echo "Killing the power, bye!"
> > >       /usr/local/ups/bin/upsdrvctl shutdown
> > >    fi
> > >
> > > Поскольку у нас shutdown - не скрипт, то совершенно
> > > непонятно, куда их вписывать. Кто как поступает?
> > >
> > > P.S. 'upsdrvctl shutdown' инициирует выключение UPS
> > >      (и нагрузки, соответственно) при невозможности
> > >      дальнейшей работы от батарей.
> >
> > Я его запихал в /etc/init.d/halt
> > Там есть такие строки:
> >
> > # See if this is a powerfail situation.
> > UPSCTL=/etc/apcupsd/apccontrol
> > if [ -x "$UPSCTL" -a -f /etc/apcupsd/powerfail ]; then
> >    action "Attempting to turn the UPS off:" "$UPSCTL"
> > killpower message="The system is turned off"
> >    command=/sbin/poweroff
> > fi
> >
> > Вот этот приведенный кусочек скрипта и подвергнулся правке.
> > Был изменен путь к бинарнику и флагу_что_упс_на_батареях.
>
>   Спасибо, это то, что нужно.
>   Однако, при выполнении "shutdown" upsdrvctl вызывает драйвер
>   от UPS с соответствующими параметрами, например:
>
>   /usr/lib/nut/apcsmart -a ups250 -d 0 -k
>
>   Если /usr располагается на отдельном разделе, то в этот
> момент он уже размонтирован. Так что команда "shutdown" UPS-у
> передана быть не может, в результате чего машина проходит
> дальнейшие стадии из /etc/init.d/halt и выключается по
> poweroff.
>
>   Как этого избежать?

В документации на NUT, рекомендуют делать ремаунт раздела, на 
котором лежит NUT, в readonly. Но это как-то криво.

У меня на этой бесперебойке висит сервак и часть свитчей опорного 
сегмента сети. И я упустил из виду факт невыключения 
бесперебойки, так как свитчи должны гаситься в последнюю очередь 
и потребляют они совсем немного. 

Я считаю, что надо перенести /usr/lib/nut в /lib/nut. А также 
завести альтернативу для управления бесперебойками и 
соответственно подправить скрипт halt в /etc/init.d/.

У меня на работе лежит nut, пересобранный указанным способом. Но 
руки как-то не дошли его поставить.

Если будет нужна помощь в правке необходимых скриптов, то я могу 
в этом помочь.

-- 
Алексей.
JID:alb на jabber.ru



Подробная информация о списке рассылки community