UPS与NAS 直接通信

UPS与NAS 直接通信

2021-05-12 114 写

UPS电源一个保证后端设备安全使用的中间件,通常带有一个RS232通信端口或者USB,高级的直接带有网口,那么我们在使用NAS 产品里如何与UPS 通信呢?

山特MT系列UPS电源(MT-500、MT-1000等)带有RS232通信端口其通信协议为Megatec/Q1,虽然FreeNAS的UPS设备列表里没有山特的型号,但是我们可以选择一个通讯协议同为Megatec/Q1的其他厂家的UPS,最后检查读取到的UPS信息,数据正常即可。

在OMV上安装UNT 插件

在插件中心安装openmediavault-nut ,点击UPS—模式选择:

单机版和网络版,单机版支持RS232 通信,网络版支持网口或者SNMP通信。

UPS与NAS 直接通信 1

我们这里选择单机版,然后修改“驱动配置指令”里的项目就可以了。关于驱动配置指令的详细信息:UPS.CONF(5) (networkupstools.org)。就这么简单。

在FreeNAS上查找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。

设置FreeNAS的UPS服务

  1. 登录FreeNAS管理页面,依次点击服务->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. 登录FreeNAS管理页面,点击左侧命令行
  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

数值多少以FreeNAS能正常关机为准,可以多加一些留一点余量。还可以带着负载拔掉UPS插头,等UPS报警声变为电池电量低后用upsc ups读出battery.charge的数值,再加上10或者20的余量留给关机时间,最后把结果填入override.battery.charge.low.

标签