From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Alexey Borovskoy To: community@altlinux.ru Subject: Re: [Comm] nut and UPS shutdown Date: Mon, 28 Jul 2003 21:15:16 +1300 User-Agent: KMail/1.5 References: <20030725120257.399461ba.grisxa@mail.ru> <200307252229.01344.alexey_borovskoy@mail.ru> <20030728111518.568fe879.grisxa@mail.ru> In-Reply-To: <20030728111518.568fe879.grisxa@mail.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200307282115.16810.alexey_borovskoy@mail.ru> X-Spam: Not detected X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jul 2003 08:23:00 -0000 Archived-At: List-Archive: List-Post: * 28 Июль 2003 20:15 Grigory Batalov > On Fri, 25 Jul 2003 22:29:01 +1300 > > Alexey Borovskoy 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