«

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端口

  1. 登录TrueNAS管理页面,点击左侧命令行

  2. 如果你的UPS连接的是电脑主板上的RS232接口,输入ls /dev | grep cuau并按回车;如果你的UPS连接的是USB转RS232连接线,输入ls /dev | grep cuaU并按回车(注意大小写)。

  3. 正常情况下应该会有如下显示:

    root@truenas-vm[~]# ls /dev | grep cuaU #这里我是用的是USB转RS232线
    cuaU0
    cuaU0.init
    cuaU0.lock

    这个不带任何后缀的名字cuaU0就是UPS所在的端口。如果没有任何显示,就说明USB转RS232线没有被识别到,或者不兼容FreeBSD。

设置TrueNAS的UPS服务

  1. 登录TrueNAS管理页面,依次点击服务->UPS->动作->笔标志进入UPS设置页面。

  2. 在驱动一栏里选择第一个Ablerex ups 2 MS-RT (blazer_ser)型号。

  3. 在端口或主机名一栏里选择刚才找到的端口,这里为/dev/cuaU0(注意大小写)。

  4. 在下面还可以调整关机策略,UPS goes on battery 代表经过下面的倒计时后就开始关机,UPS reaches low battery 代表在UPS报告的电池电量低于最低电量时才关机,其他选项的详细信息可以点击后面的问号标志查看。

  5. 点击保存,页面会自动返回到服务页面,最后在服务页面里启动UPS服务还有勾选自动启动的复选框即可。

检查UPS信息

  1. 登录TrueNAS管理页面,点击左侧命令行

  2. 输入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