Re: lug-bg: UPS с драйвери за линукс
- Subject: Re: lug-bg: UPS с драйвери за линукс
- From: Иво Тачев <ivo_linux@xxxxxxx>
- Date: Mon, 28 Feb 2005 11:22:45 +0200
На 25 02 2005 15:31 Delian Krustev написа:
> Здравейте,
>
> Има ли нещо такова на пазара, драйверите в стандартното ядро ли са, и бива
> ли го хардуера ? Интересува ме най-вече възможноста за автоматично спиране
> на машината преди да умрат батериите.
>
Има. Предполагам, че всички UPS от PC-клас на пазара вече имат някакъв софтуер
за управление под Linux. Друг е въпросът какво точно прави и доколко върши
работа. Ако такъв липсва или не отговаря на изискванията, тогава NUT
(www.networkupstools.org - чудесен сайт с изчерпателна и полезна информация за
UPS) ще свърши работа - поддържа почти всичко в този клас. Така че изборът на
UPS трябва да се ръководи най-вече от функционалността на самото устройство,
софтуер ще се намери.
Колкото до автоматичното спиране след нормален shutdown на ОС - да, това е
важно, защото всяко изчерпване на оловните акумулатори докрай съкращава
живота им. NUT наистина предвижда приключване на работа по такъв нещадящ
начин, но има възможност за някакви scheduling скриптове за спиране и преди
да свършат батериите, но ми се струва сложно. Правил съм модификация в сорса
на upsmon (клиента) за timed shutdown - грозно, но работи
(http://inferno.jarcomputers.com/ups/ - ползвал съм upsmon от стара версия,
тъй като актуалната по онова време така и не успях да я подкарам; сега
вероятно положението е различно).
Ако обаче UPS е без таймер - най-обикновен с три жици за сигналите on-battery,
low-battery и shutdown-UPS - в инит-скриптовете се проявява проблема за яйцето
и кокошката: кой да спре UPS след като ОС е спряна (важи не само за Linux, но
напр. и за Netware) или пък какво става, ако при започнал shutdown на ОС
токът дойде. За такъв случай съм модифицирал края (след remount на FS в
read-only) на моя halt (SysV-style init) така:
...
elif [ -f /var/state/ups/killpower -a -f /etc/init.d/ups-nut ]; then
gprintf "NUT will now power off the UPS!\n"
echo
echo
gprintf "Please ensure that the UPS has powered off before rebooting\n"
gprintf "Otherwise, the UPS may cut the power during the reboot!!!\n"
echo
sleep 120
/usr/local/ups/bin/upsdrvctl shutdown
# exit 1
fi
# Now halt or reboot.
....
(Важното е sleep и коментирането на exit, за да продължи процедурата по reboot
в случай, че UPS не е изгасен, т.е. токът междувременно е дошъл.) Пак не е по
най-добрия начин, но... работи.
За щастие, такива UPS май вече няма на пазара, но има стари такива, които
иначе са много стабилни.
--
Иво Тачев
"ЕСКОРТ" СД - компютърен сервиз
тел. /02/963-04-05
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|