UPS-Uninterrupted Power System. 利用电池化学能作为后备能量,在市电断电等电网故障时,不间断地为用户设备提供(交流)电能的一种能量转换装置。
购买ups
在购买ups的时候尽量购买在线式的ups.
后备式的是模拟正弦波/方波 (不推荐x,没钱还是用这个吧
在线式是正弦波 (价格贵,推荐使用
官方没有给Linux 配套的守护程序, Apcupsd是一个社区维护的项目.
Apcupsd安装及配置文件
ups配给了一条是USB+串口的电缆。我们使用这条电缆将ups和服务器相连接。
安装usb工具及Apcupsd
># yum install libusbx libusb usbutils # lsusb 这里可以检查 UPS的usb有没有被识别 ># lsusb Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub #usb-devices 这个可以展示usb的详细信息 ># usb-devices T: Bus=01 Lev=01 Prnt=01 Port=13 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=051d ProdID=0002 Rev=00.90 S: Manufacturer=American Power Conversion S: Product=Back-UPS RS 1500G FW:878.L5 .I USB FW:L5 S: SerialNumber=******** C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid ># yum install apcupsd
配置部分
vim /etc/apcupsd/apcupsd.conf #用于将UPS连接到计算机的电缆类型。采用USB接口 UPSCABLE usb #拥有的apcups类型, DEVICE留空它会自动识别 UPSTYPE usb DEVICE #每60秒轮询一次UPS状态 POLLTIME 60 #Apcupsd为指定目录中的串行或USB端口创建一个锁文件。 LOCKFILE /var/spool/lock #Apccontrol和事件脚本所在的目录。 SCRIPTDIR /usr/local/etc/apcupsd #POWERFAIL和NOLOGIN文件放到/var/run(实际上并不需要) PWRFAILDIR /var/run NOLOGINDIR /var/run #等待6秒才开始真正的ONBATTERY操作:如果电源只是短暂地发生瞬断则不做反应。 ONBATTERYDELAY 6 #当停电导致电池剩余容量低于8%时,立即执行关机操作。默认值为5 BATTERYLEVEL 8 #当停电导致剩余容量低于3分钟时,立即执行关机操作。 MINUTES 3 #0 禁止按掉电时间为关机判断条件。发生电源故障后,apcupsd将在指定的秒数过期后关闭系统。 TIMEOUT 0 #指定请求登录用户从系统注销的广播消息之间的时间(以秒为单位)。仅当UPS使用电池运行时,此计时器才会启动。每5分钟(300s)警告一次登录的用户系统发生掉电。 ANNOY 300 #首次掉电后1分钟(60s)告知登录的用户发生掉电。 ANNOYDELAY 60 #禁止在掉电时阻止用户登录。 NOLOGON disable #禁止apcupsd关闭电源。 KILLDELAY 0 #启用NIS服务(提供让munin收集的UPS数据)。 NETSERVER on #NIS服务监听127.0.0.1:3551。 NISIP 127.0.0.1 NISPORT 3551 #在 /var/log/apcupsd.events 中记录"事件"。 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 1024 #设置ups的模式,我们主要用主从模式 UPSCLASS standalone #设置为“禁用”以进行正常的独立操作,指示您正在禁用Share-UPS接口扩展器支持。 UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0 FACILITY DAEMON SENSITIVITY H #UPS在供电恢复后等待60秒再恢复对设备的供电。 WAKEUP 60 LOWBATT 02 #每两周进行一次自检。 SELFTEST 336
配置完了需要重启Apcupsd服务,设置开机启动.
systemctl restart apcupsd systemctl enable apcupsd
使用 apcaccess
检查是否正常运行
APC : 001,038,0986 DATE : 2019-02-21 17:22:55 +0800 HOSTNAME : NAS VERSION : 3.14.14 (31 May 2016) redhat UPSNAME : UPS-Network CABLE : USB Cable DRIVER : USB UPS Driver UPSMODE : Stand Alone STARTTIME: 2019-01-16 21:31:05 +0800 MODEL : Back-UPS RS 1500G STATUS : ONLINE LINEV : 236.0 Volts LOADPCT : 26.0 Percent BCHARGE : 100.0 Percent TIMELEFT : 25.0 Minutes MBATTCHG : 10 Percent MINTIMEL : 6 Minutes MAXTIME : 0 Seconds SENSE : Medium LOTRANS : 176.0 Volts HITRANS : 294.0 Volts ALARMDEL : 30 Seconds BATTV : 27.2 Volts LASTXFER : Automatic or explicit self test NUMXFERS : 4 XONBATT : 2019-02-16 08:34:11 +0800 TONBATT : 0 Seconds CUMONBATT: 67 Seconds XOFFBATT : 2019-02-16 08:34:21 +0800 LASTSTEST: 2019-02-16 08:34:11 +0800 SELFTEST : NO STATFLAG : 0x05000008 SERIALNO : ****** BATTDATE : 2017-11-08 NOMINV : 230 Volts NOMBATTV : 24.0 Volts NOMPOWER : 865 Watts FIRMWARE : 878.L5 .I USB FW:L5 END APC : 2019-02-21 17:23:00 +0800
APC UPS Daemon unter CentOS 7.x
Centos7下ups监控apcupsd的使用
配合 APC BE550G UPS 的 apcupsd 配置