(2011/03/18)
しばらく前にUPSは導入した。というのも、ヒーターをファンヒーターから、オイルヒーターに変えたので、いつ電源が落ちるかわからない。でも、ブレーカーが落ちたときはすぐにもとに戻せば良い訳で、シャットダウンかからなくても良い。なので、そのままつないで放っておいた。
だがしかし・・・、東日本大震災により、無計画停電してしまうので、UPSで自動シャットダウンをせざるを得ない。nutってやつが、色々なupsに対応しているらしい。apcusbdしか使った事ないんだけど。。というわけで、nutをインストールしてSoundHouseの1200 lxに対応させる。
#apt-get install nut nut-cgi
とりあえず、付属のUSBをさす。で、/var/log/messagesを見る。
Mar 16 23:12:21 me6 kernel: [19021.192075] usb 2-1: new low speed USB device using uhci_hcd and address 2 Mar 16 23:12:31 me6 kernel: [19031.369279] usb 2-1: New USB device found, idVendor=0001, idProduct=0000 Mar 16 23:12:31 me6 kernel: [19031.369306] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Mar 16 23:12:31 me6 kernel: [19031.369327] usb 2-1: Product: MEC0002 Mar 16 23:12:31 me6 kernel: [19031.369343] usb 2-1: Manufacturer: MEC Mar 16 23:12:31 me6 kernel: [19031.372460] usb 2-1: configuration #1 chosen from 1 choice Mar 16 23:12:31 me6 kernel: [19031.524196] usbcore: registered new interface driver hiddev Mar 16 23:12:31 me6 kernel: [19031.649364] generic-usb 0003:0001:0000.0001: hiddev0,hidraw0: USB HID v1.00 Device [MEC MEC0002] on usb-0000:00:10.0-1/input0 Mar 16 23:12:31 me6 kernel: [19031.649508] usbcore: registered new interface driver usbhid Mar 16 23:12:31 me6 kernel: [19031.650350] usbhid: v2.6:USB HID core driver root@me6:/etc/nut#
http://www.networkupstools.org/stable-hcl.htmlにドライバ一覧が出ているがよーわからんな。usbhid-upsでいいのかな?
/etc/nut.confを編集
MODE=standalone
んで、/etc/ups.confに設定するっぽい。うっ、色々いじっているうちに動いちゃった。動いた結果は↓。
[UPS1200LX] driver = megatec_usb port = auto vendorid = 0001 productid = 0000 subdriver =krauler desc = "Soundhouse UPS 1200LX"
あとはhosts.confに
MONITOR UPS1200LX@localhost "LX1200"
と入れた。最初ドライバーがfailと出てくるのでnut-hal-driversも入れなきゃだめなのかと、入れたらnutが削除された。それはまずいと再びnutとnut-cgiを入れたら勝手に起動した。
そうすると、以下のコマンドで今の値が確認できる。
#upsc UPS1200LX battery.charge: 95.0 battery.voltage: 27.00 battery.voltage.nominal: 24.0 device.mfr: device.model: 1200VA V6.6 device.serial: unknown device.type: ups driver.name: megatec_usb driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.productid: 0000 driver.parameter.subdriver: krauler driver.parameter.vendorid: 0001 driver.version: 2.4.3 driver.version.internal: 1.6 input.frequency: 49.9 input.frequency.nominal: 50.0 input.voltage: 99.0 input.voltage.fault: 0.0 input.voltage.maximum: 99.0 input.voltage.minimum: 96.0 input.voltage.nominal: 100.0 output.voltage: 97.0 ups.beeper.status: disabled ups.delay.shutdown: 0 ups.delay.start: 2 ups.load: 12.0 ups.mfr: ups.model: 1200VA V6.6 ups.serial: unknown ups.status: OL ups.temperature: 29.0 ups.type: standby
なぜドライバーをmegatec_usbにしたかというと、lsusb -vと入れたらhuman interface device(つまりHID)で認識した物がFly's Erectoronicsだったのでnut Fly's ~でググったら出てきたので、そのまま入れてみた。
どうやらこれだけじゃ、自動シャットダウンしないらしい。自動でシャットダウンするには、upsmonってやつも必要らしい。
もうドキュメントに書いてあるままやろう。まずは/etc/upsd.usersを編集。
[upsuser] password = xxxx upsmon master
んで、upsmon.confを編集。といっても触ったのはMONITORのところだけ、
MONITOR UPS1200LX@localhost 1 monuser xxxx master
そして、パーミッションを変えろだと。
#chown root:nut upsmon.conf #chmod 6400 upsmon.conf
って、最初からなってるし・・・。そして、upsmonを起動。
#upsmo Network UPS Tools upsmon 2.4.3 UPS: UPS1200LX@localhost (master) (power value 1) Using power down flag file /etc/killpower
以上!。さーいつでも来い、無計画停電!。おのれ東電。放射能まき散らすだけでなく、こんな事までさせやがって。
Copyright (C) 2011 俺 All right reserved.