FreeBSD使用APC ups實現一台連線通知全部關機

>> 2011年6月2日 星期四

機房中的伺服器需要使用ups來做到電源防護機制,而機房裡的server多使用FreeBSD系統,
市面上on-line ups對於clinet的支援程式以Windows最為普及,其次為linux,對於FreeBSD則不見得能夠支援。
雖然可以使用NUT (Network UPS Tools) 的方式來達到溝通,但是不同廠牌的支援度不一,不見得可以完全支援。(NUT設定可參考雄的FreeBSD筆記
因此,選擇一台對的UPS相形重要。
之前曾經使用過飛瑞的USHA網卡對linux通知,效果不錯。但是雖然程式中附有FreeBSD的clinet安裝軟體,但是版本只有支援到FreeBSD 5,對於新版的 6、7、8接無法使用,會出現找不到 libc.so.5 的問題。網路上有針對飛瑞ups 的com port的設定進行說明(Ref.1,2),但是使用snmp協定的並沒有。(但是可以透過NUT中的ACL設定,做到主、被空端的通知。)
對於FreeBSD的支援最好的,要算是APC了。因為在FreeBSD的ports中就有apcupsd,直接make install之後就可以使用,非常方便。
以下就針對無網卡的APC ups採用com port連線方式進行主、被控端連線的apcupsd安裝說明。
環境預設,有兩台主機,主機A為主控端,APC ups的黑色RS232線連接在這一台,主機B為被控端,一樣使用APC ups電源。

主機A:
1.安裝apcupsd
# cd /usr/ports/sysutils/apcupsd
# make install clean
  [  ] CLIENT_ONLY Build apcupsd client only (no network server)
  [X] CGI Compile with CGI programms to show status
  [   ] USB Compile with USB Support (READ MANUAL!!!)
  [X] SNMP Compile with SNMP Support (READ MANUAL!!!
 
2.設定apcupsd
# cd /usr/local/etc/rc.d
# mv apcupsd.sh.sample apcupsd.sh

# vi /etc/rc.conf
  apcupsd_enable="YES"
 
3.設定檔設定
# cd /usr/local/etc/apcupsd
# vi apcupsd.conf

  DEVICE /dev/cuad0 # COM1,有的會使用cuaa0
  NISIP 192.168.1.100 # 主控端主機的ip (NISIP)
  BATTERYLEVEL 5  # 電量百分比,到達此數值,計算機自動關閉

4.啟動apcupsd
# /usr/local/etc/rc.d/apcupsd.sh start

5.測試
# apcaccess  
........下面會出現一堆有關ups的訊息

如果apcupsd啟動後馬上執行apcaccess,可能會出現如下錯誤,應該是主機與UPS通信未完成,再等一下子就好了。
  FATAL ERROR in apcaccess.c at line 243
  tcp_open: cannot connect to server 192.168.1.100 on port 3551.
  ERR=Connection refused

主機B:
1.安裝apcupsd
# cd /usr/ports/sysutils/apcupsd
# make install clean

  [X] CLIENT_ONLY Build apcupsd client only (no network server)
  [   ] CGI Compile with CGI programms to show status
  [   ] USB Compile with USB Support (READ MANUAL!!!)
  [   ] SNMP Compile with SNMP Support (READ MANUAL!!!

2.設定apcupsd
# cd /usr/local/etc/rc.d
# mv apcupsd.sh.sample apcupsd.sh

# vi /etc/rc.conf
  apcupsd_enable="YES"

3.調整設定檔
# cd /usr/local/etc/apcupsd
# vi apcupsd.conf

  UPSCABLE ether
  UPSTYPE net
  DEVICE 192.168.1.100:3551
  NETSERVER off
  NISIP 192.168.1.100 # NISIP

4.啟動apcupsd
# /usr/local/etc/rc.d/apcupsd.sh start


測試:
關閉UPS外部電源,兩台都會出現類似下面的通知訊息,這樣就ok囉!
Broadcast Message from root@FreeBSD
  (no tty) at 14:25 CST...

  Warning power loss detected.

About This Blog

程式碼標示

  © Free Blogger Templates Joy by Ourblogtemplates.com 2008

Back to TOP