TrueNAS/FreeNAS使用山特MT系列UPS
izilzty 发布于 阅读:8100
山特MT系列UPS电源(MT-500、MT-1000)带有一个RS232通信端口,其通信协议为Megatec/Q1,虽然TrueNAS的UPS设备列表里没有山特的型号,但是我们可以选择一个通讯协议同为Megatec/Q1的其他厂家的UPS,最后检查读取到的UPS信息,数据正常即可。
首先需要确定电脑是否自带RS232接口,如果没有的话还需要一根USB转RS232转接线。把UPS和电脑连接完成后,可以先用WinPower之类的软件检查一下能不能连上UPS(串口助手直接发Q1+回车命令也可以),如果能连上的话再进行下一步,防止因为硬件有问题导致TrueNAS无法连接UPS。
在TrueNAS上查找UPS端口
-
登录TrueNAS管理页面,点击左侧
命令行
。 -
如果你的UPS连接的是电脑主板上的RS232接口,输入
ls /dev | grep cuau
并按回车;如果你的UPS连接的是USB转RS232连接线,输入ls /dev | grep cuaU
并按回车(注意大小写)。 -
正常情况下应该会有如下显示:
root@truenas-vm[~]# ls /dev | grep cuaU #这里我是用的是USB转RS232线 cuaU0 cuaU0.init cuaU0.lock
这个不带任何后缀的名字
cuaU0
就是UPS所在的端口。如果没有任何显示,就说明USB转RS232线没有被识别到,或者不兼容FreeBSD。
设置TrueNAS的UPS服务
-
登录TrueNAS管理页面,依次点击
服务->UPS->动作->笔标志
进入UPS设置页面。 -
在驱动一栏里选择第一个
Ablerex ups 2 MS-RT (blazer_ser)
型号。 -
在端口或主机名一栏里选择刚才找到的端口,这里为
/dev/cuaU0
(注意大小写)。 -
在下面还可以调整关机策略,UPS goes on battery 代表经过下面的倒计时后就开始关机,UPS reaches low battery 代表在UPS报告的电池电量低于最低电量时才关机,其他选项的详细信息可以点击后面的问号标志查看。
-
点击保存,页面会自动返回到服务页面,最后在服务页面里启动UPS服务还有勾选自动启动的复选框即可。
检查UPS信息
-
登录TrueNAS管理页面,点击左侧
命令行
。 -
输入
upsc ups
并按回车,如果配置都正确会显示出当前UPS的信息(这里为MT-500的数据)。battery.charge: 100 battery.voltage: 13.80 battery.voltage.high: 13.00 battery.voltage.low: 10.40 battery.voltage.nominal: 12.0 device.type: ups driver.name: blazer_ser driver.parameter.pollinterval: 2 driver.parameter.port: /dev/cuaU0 driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.internal: 1.57 input.current.nominal: 4.0 input.frequency: 50.2 input.frequency.nominal: 50 input.voltage: 237.3 input.voltage.fault: 237.3 input.voltage.nominal: 220 output.voltage: 207.6 ups.beeper.status: enabled ups.delay.shutdown: 30 ups.delay.start: 180 ups.load: 8 ups.status: OL TRIM ups.temperature: 25.0 ups.type: offline / line interactive
我们需要检查的就是最开头的
battery.voltage.xxx
,对于山特MT-500后面的值都在12左右,对于MT-1000后面的值应该都在24左右(我手上没有MT-1000,因为MT-1000的电池是两块串联,所以推测应该是24V)。如果正常,可以测试一下拔掉UPS插头,看是否会有信息显示,以及是否会自动关机。
其他问题
因为在NUC的blazer_ser驱动里电池的最低电压是默认的,如果电池老化放电过快,再搭配 UPS reaches low battery 策略的话可能会出现UPS已经用完电自动关机,但TrueNAS还没有正常关闭的情况。如果发现有这种情况,就需要在UPS服务里的附加参数 (ups.conf)
内手动添加UPS电池最低电量。在附加参数里输入:
ignorelb
override.battery.charge.low = value
value 为触发关机的最低电量百分比,例如UPS电池剩余30%自动关机:
ignorelb
override.battery.charge.low = 30
数值多少以TrueNAS能正常关机为准,可以多加一些留一点余量。还可以带着负载拔掉UPS插头,等UPS报警声变为电池电量低后用upsc ups
读出battery.charge
的数值,再加上10或者20的余量留给关机时间,最后把结果填入override.battery.charge.low
.
参考链接
https://networkupstools.org/docs/man/ups.conf.html
https://networkupstools.org/docs/man/blazer_ser.html
https://www.truenas.com/docs/core/services/ups/
https://forum.openmediavault.org/index.php?thread/8432-nut-not-turning-server-off-if-ups-reaches-low-battery-is-set-working-with-ups-go/
https://www.upspowercom.com/Download/UPS-Protocol.pdf
https://www.docin.com/p-899516323.html
https://santakblobstorage.blob.core.chinacloudapi.cn/picture/MT500-1000Pro%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.pdf