2008-09-22

BK650EI и Debian

С тех пор, как в моей серверной кладовке сдох UPS, я мечтал выкроить время для поиска нового. В отпуске масса свободного времени, и можно спокойно погружаться в поиски. Конечно же, главный критерий - оно должно быть совместимо с Linux.

Предыдущий ИБП был Powerman BackPro 600Plus, типа dumb. Это такой простейший тип
источников, которые подключаются по RS-232, но выдают только два сигнала: факт наличия напряжения в розетке и "батарея близка к разряду". Со стороны компьютера подается сигнал "выключить питание".

У dumb-источников есть один серьезный минус: почти все они игнорируют команду выключения при наличии питания в розетке, т.е. некорректно себя ведут в ситуации power overrun. Как это выглядит?

Допустим, выдан сигнал "батарея почти разряжена", компьютер начинает процесс shutdown-а, и тут (о чудо!) напряжение в розетке снова появляется. Не спешите радоваться!

Если бы питание в розетке не появилось, ИБП по команде обесточил бы компьютер и включил бы его обратно по появлению. А так - он его не обесточит, компьютер никогда не выключится, а следовательно и не перезагрузится, навсегда повиснув на шаге "подать сигнал shutdown на ИБП".

Это можно победить исключительно совершенствуя shutdown-скрипт, например добавив простое выжидание времени работы от разряженной батареи (помноженное для надежности на два ;) с последующей перезагрузкой. Тогда данные будут гарантированно целы, power overrun - побежден, время восстановления - увеличено. Не идеально, но работает.

Решив шикануть на остаток отпускных, я присмотрелся к UPS-ам, которые ведут себя более разумно (smart-но :). Поскольку расспрашивать продавцов в компьютерных магазинах по поводу совместимости с Linux категорически нельзя (начинают читать надписи на коробках, копаться в документации, расспрашивать коллег и даже изучать сайты производителей - при наличии компа с инетом - как правило, все безрезультатно), надо предварительно сделать это самостоятельно. Сначала надо почитать UPS HOWTO, оно даст основные знания. Однако, не ждите там списка совместимого оборудования. Для этого надо отправится на сайты популярных UPS-демонов:

1. Network UPS Tools (NUT): оборудование, поддерживаемое стабильной и нестабильной ветками.

2. Apcupsd: список критериев, по которым можно ориентироваться, чтобы не промахнуться. К слову сказать - номер кабеля отлит на корпусе разъема USB, т.е. нанесен "черным по черному"

Какого демона выбрать? Ответ прост: если вы запали на ИБП от APC, то выбирать надо apcupsd, в противном случае - nut. Архитектура и настройка у них немного отличается, но в основных идеологических моментах они похожи.

Не даром APC спамили меня мылом и макулатурой на протяжении трех лет! Можно сказать, я сдался. Самая доступная модель - Back-UPS CS 500, но вот как раз данные о ее совместимости содержат какие-то оговорки. Видимо, надо будет кабель переделывать, а хочется включить и сразу работать. Поэтому, я остановил свой выбор на Back-UPS CS 650 (в простонародье модель BK650EI), благо он еще и нужной формы: высокий и узкий, а не в виде колбаски с квадратным сечением и уже тем более не в форме беременного сетевого фильтра.

В комплекте идут два весьма добротных кабеля для подключения нагрузки, кабель для подключения телефонной линии, драгоценный кабель для подключения USB. Все остальное
можно смело выкинуть, включая диски и бумажки (ну, кроме гарантийной). Внимание! Как это не смешно, кабель c вилкой для
подключения к силовой сети отсутствует. Хотя, именно он-то как раз и освобождается при подключении компьютера к ИБП.

Подключаем питание через ИБП, соединяем кабель USB к компьютером, включаем. В dmesg мы должны увидеть строчку:

hiddev96: USB HID v1.10 Device [American Power Conversion Back-UPS CS 650 FW:817.v4.I USB FW:v4] on usb-0000:00:1d.0-1

Далее apt-get install apcupsd, редактируем конфигурацию. К слову, можно брать готовую конфигурацию из архива примеров:

gunzip /usr/share/doc/apcupsd/examples/usb.conf.gz
cp usb.conf /etc/apcupsd/apcupsd.conf


Для данной модели надо выбирать режим usb, приблизительное содержимое конфигурации будет таким:

UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock

Запускаем все это и тестируем:

/etc/init.d/apcupsd start
apcaccess status

На выходе мы должны получить список величин и вполне человеческих значений. Я с интересом узнал, что в розетке сейчас 218 Вольт; UPS загружен на треть; прогнозируемое время работы - 17 минут:


MODEL : Back-UPS CS 650
UPSMODE : Stand Alone
STARTTIME: Mon Sep 22 00:11:35 MSD 2008
STATUS : ONLINE
LINEV : 218.0 Volts
LOADPCT : 34.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 17.2 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 230.0 Volts
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 180.0 Volts
HITRANS : 266.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 13.6 Volts
LINEFREQ : 50.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B0815X06598
BATTDATE : 2008-04-08
NOMBATTV : 12.0
FIRMWARE : 17.v4.I USB FW:v4
APCMODEL : Back-UPS CS 650


Таким образом, основная задача достигнута: несколько простых движений, и оно работает. Дальше можно заняться "тонкой" настройкой, благо файлы конфигурации хорошо документированы.

3 комментария:

bessarabov комментирует...

Класс! =)

1. Поздравляю с покупкой!
2. Большое спасибо за пост, как раз думаю о том, чтобы купить себе ИБП, теперь знаю, что брать =)

id комментирует...

Спасибо за отзыв!

Я специально описываю свой маленький опыт в надежде, что он кому-то пригодится.

Очень приятно осознавать, что я добился своего ;)

Анонимный комментирует...

thx, tozhe kuplu takoj