AI编程生活评测

ubuntu 22.04 家庭服务器用上APC UPS 电源 BK650M2-CH

生活随记 / 2025-06-10 / 4 min

家里的服务器里面有昂贵的硬盘,硬盘上有无价的家庭照片,五一的时候回老家过节,拉电闸的时拉错了开关,把服务器的电源给断了,相当于自己制造了一次停电,当时反应过来有点后怕,想来想去还是得投资一个 UPS 才能安心一些。

"APC-BK650M-CH"

趁这次 618 斥巨资京东购入一台 施耐德 APC BK650M2-CH 的 UPS(不间断电源)。为什么选它,因为比较简单,配合 apcupsd 使用起来很方便,对于普通家庭用户也完全够用,如果是在群晖或者支持 UPS 的主流 NAS 上使用就更方便了,即插即用。

下面记录一下如何在 Ubuntu 22.04 上使用这台 UPS。

开启 UPS 并连接到主机

将 UPS 电源线连接市电并开机,把服务器关机,服务器主机电源线插到 UPS 的那些供电插口上。把随 UPS 一起附赠的信号线网线头查到 UPS 的信号输出口,USB 头插到主机后面的 USB 上。

服务器开机。

使用命令 lsusb 确认服务器上已经识别到 UPS了。

lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我的显示是这样的,每个机器的显示可能稍有差别。

安装 apcupsd

sudo apt install apcupsd

备份默认配置

cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.bak

编辑配置文件 /etc/apcupsd/apcupsd.conf。

相关配置的解释可以参考配置文件内的说明,这里说几个主要的参数:

# 连接线材:USB
UPSCABLE usb

# 连接方式:USB
UPSTYPE usb

# 串口信息,这个需要注释或者配置为置空
# DEVICE /dev/ttyS0

# 停电后,电池开始供电多少秒后,开始关闭系统。
TIMEOUT 30

# 电池供电多少秒后,关闭 UPS。这里设置为 0 禁用,担心主机没有完全关机,ups 就主动断电了
KILLDELAY 0

# 停电后使用电池供电时,电池电量剩余小于等于 30% 时,执行关闭系统操作
BATTERYLEVEL 30

# 停电后使用电池供电时,电池电量供电剩余时间小于 10 分钟时,执行关闭系统操作
MINUTES 10

# 从检测到电源故障到 apcupsd 对事件做出反应的秒数
ONBATTERYDELAY 6

保存配置文件。

将 apcupsd 服务重启,启动开启自启:

sudo systemctl restart apcupsd
sudo systemctl status apcupsd
sudo systemctl enable apcupsd

使用 apcaccess 确认服务运行情况,部分内容打码了。

➜  ~ apcaccess
APC      : 001,035,****
DATE     : 2025-06-10 22:18:15 +0800
HOSTNAME : 8500t
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : APCUPS01
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2025-06-10 22:17:39 +0800
MODEL    : Back-UPS BK650M2_CH
STATUS   : ONLINE
LINEV    : 230.0 Volts
LOADPCT  : 0.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 60.3 Minutes
MBATTCHG : 30 Percent
MINTIMEL : 10 Minutes
MAXTIME  : 30 Seconds
SENSE    : Low
LOTRANS  : 160.0 Volts
HITRANS  : 278.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
SELFTEST : OK
STATFLAG : 0x05000008
SERIALNO : 9B25********
BATTDATE : 2001-01-01
NOMINV   : 220 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 390 Watts
END APC  : 2025-06-10 22:18:32 +0800

注意看状态 STATUS : ONLINE,说明当前市电正常,负载百分比:LOADPCT。

断电测试

确认连接和状态都没问题的情况下,拔掉 UPS 的电源线,正常情况下,服务器主机并不会马上关机,而是等待一会儿后(时间长短取决于上面的配置参数)会接收到 UPS 的关机信号,并且终端上可以看到一些提示信息,大致意思是 apcupsd 检测到断电,广播信息,然后关机。

特别注意:在主机关机后,插上 UPS 市电电源,等待 UPS 切换市电完成正常供电(电源灯绿色常亮)再打开主机,因为 UPS 从电池切换到市电时是会断电的。

在主机关机前,运行 apcaccess 可以看到 STATUS : ONBATT 表示当前是由电池供电。

APC      : 001,036,****
DATE     : 2025-06-10 22:44:24 +0800
HOSTNAME : 8500t
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : APCUPS01
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2025-06-10 22:25:17 +0800
MODEL    : Back-UPS BK650M2_CH
STATUS   : ONBATT
LINEV    : 0.0 Volts
LOADPCT  : 4.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 59.8 Minutes
MBATTCHG : 30 Percent
MINTIMEL : 10 Minutes
MAXTIME  : 30 Seconds
SENSE    : Low
LOTRANS  : 160.0 Volts
HITRANS  : 278.0 Volts
ALARMDEL : 30 Seconds
BATTV    : 12.7 Volts
LASTXFER : Low line voltage
NUMXFERS : 1
XONBATT  : 2025-06-10 22:43:53 +0800
TONBATT  : 33 Seconds
CUMONBATT: 33 Seconds
XOFFBATT : N/A
SELFTEST : OK
STATFLAG : 0x05060010
SERIALNO : 9B25********
BATTDATE : 2001-01-01
NOMINV   : 220 Volts
NOMBATTV : 12.0 Volts
NOMPOWER : 390 Watts
END APC  : 2025-06-10 22:44:26 +0800

至此,这台 APC BK650M2-CH 的 UPS 配合 Ubuntu 单机使用已经配置好了,其实这种 UPS 可以同时支持更多设备自动关机,感兴趣的可以研究一下。

点击刷新