为了保障硬盘的安全, 之前为 Gen8 服务器安装了 APC UPS, 型号是 BK650-CH, 这个性价比挺高的, 断电时足够支持 Gen8 服务器正常运行十分钟. 但是, 当电池电量用完时, 服务器的电源仍然会被强制 切断, 并不能有效地保护硬盘. 为此, 这里使用 APC 提供的电源管理服务, 当市电中断, UPS 供电 一分钟后, 就自动关闭 Gen8 服务器.

BK650-CH 提供了 RJ45转 USB口的数据线, 将 RJ45端 插到 UPS 侧面的管理接口, USB端插到 Gen8 背面的 USB 接口.

然后, 安装并配置 apcupsd 服务, 这个服务接收 UPS 经 USB 接口发过来的电源信号, 然后根据 预先设定好的规则完成操作, 比如电量低时关机, 或者电池供电一分钟后关机等.

安装服务:

$ sudo apt install apcupsd

配置 apcupsd:

先允许 apcups 服务开启: $ sudo sed -i “s/ISCONFIGURED=no/ISCONFIGURED=yes/ /etc/default/apcupsd

编辑 /etc/apcupsd/apcupsd.conf, 重点是把连接方式设置为 USB 设备.

USBCABLE usb
USBTYPE usb
DEVICE
LOCKFILE /var/lock
UPSCLASS standalone
UPSMODE disable

设置好之后, 重启 apcupsd 服务:

$ sudo systemctl restart apcupsd

打印当前的 PUS 状态:

$ sudo apcaccess status
APC      : 001,034,0830
DATE     : 2017-09-30 23:22:56 +0800  
HOSTNAME : localhost
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : BK650-CH
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2017-09-30 23:08:48 +0800  
MODEL    : Back-UPS 650 
STATUS   : ONLINE 
LINEV    : 248.0 Volts
LOADPCT  : 14.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 38.6 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
SENSE    : Low
LOTRANS  : 165.0 Volts
HITRANS  : 266.0 Volts
ALARMDEL : 30 Seconds
BATTV    : 13.5 Volts
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
STATFLAG : 0x05000008
SERIALNO : 3B1722X13944  
BATTDATE : 2017-06-02
NOMINV   : 220 Volts
NOMBATTV : 12.0 Volts
FIRMWARE : 822.A3.I USB FW:A3
END APC  : 2017-09-30 23:23:23 +0800  

参考