omv NUT插件配置UPS后备电源指南(各型号通用解决方案)
引言
对于任何一位NAS的建设和使用者来说,都不希望因为突如其来的断电损坏掉自己的硬盘和数据。我的NAS搭建在寝室环境下,经常面临断电威胁,在提心吊胆的开了几天后,还是决定入手一台UPS来解决问题。
由于经常不在寝室,所以我希望UPS可以与NAS沟通,在断电发生时自行关闭电源,因此需要购入一台支持通讯协议的UPS。经过淘宝和咸鱼的查询,市面上常见的UPS例如APC、山特、雷迪斯等都明确写到了支持群晖系统,但对OMV等系统的支持性未知;而OMV利用NUT插件进行UPS监控的资料少的可怜,而且只提到了针对APC特定型号的一种解决方案,难以广泛应用。
在下文中,我将以APC BK650CH为例,介绍APC和其他公司产品利用OMV的NUT插件配置UPS后备电源通讯的具体方法。
安装NUT插件
- 在OMV的 系统->插件 中 找到 openmediavault-nut 插件,勾选 复选框 并点击上方 安装 按钮。
- 等待安装结束,刷新页面即可看到在 服务 选项卡中出现了 UPS 一项。
配置UPS驱动程序
这是本教程的重点内容,当我们进入 服务->UPS 选项卡后,可以看到 常规设置 中有 驱动配置指令 一项:
驱动配置指令的第一项是 driver,一般而言默认值是 usbhid-ups。很多小伙伴在这里就不知道怎么修改了,事实上Network UPS Tools官网有一个详细的清单,也就是 Devices Dumps Library:
Devices Dumps Librarynetworkupstools.org/ddl/index.html#_supported_devices
清单中 Supported devices 列举了NUT支持的驱动程序。例如我们的设备是 APC 公司的BK650CH,即可在APC中查找:
官网为我们的设备提供了一个示例的配置文件表:
在这个表里我们可以看到对应的 driver.name 是 newhidups,但在新版本中,newhidups已经被 usbhid-ups 替代了。
下面我们把APC BK650CH配置完,我希望在电池电量耗尽前,安全的关闭我的NAS:
接下来我们验证是否配置正确。点击 保存 后,我们进入 诊断->服务->UPS选项卡,查看变量:
如果驱动程序选择无误,这里将列出你的UPS信息,比如电量和型号等。当然你也可以查看UPS的实时电压等情况:
配置UPS驱动程序(通用方案)
但是!有些UPS的型号没有录入官网,那是不是意味着就不支持了呢?也不是的。我们以 雷迪斯LADS 的 H1000M UPS 为例,说明一下如何手动寻找对应的driver.name :
我们知道,在NUT插件中,nutupsdrv是一个统一的NUT驱动通用手册(generic manual for unified NUT drivers,原谅我翻译的很差),我们可以在其文档中找到其支持的Drivers:
NUTUPSDRV(8)networkupstools.org/docs/man/nutupsdrv.html
为了便于大家寻找,我摘取了一部分常见的驱动和它对应的设备:
driver.name | 对应的设备 | 解释 |
---|---|---|
usbhid-ups (以前称为newhidups,目前这个名字不用了) | USB/HID UPS设备驱动程序 | 市面上绝大多数设备都适用这个驱动。(尤其是被识别为HID的设备,一般是RJ-45之类的口) |
blazer_usb | 基于USB的Megatec / Q1协议USB接口UPS设备的驱动程序 | 支持所有具有串行接口(使用blazer_ser驱动程序)的设备,以及许多具有USB接口的设备。(笔者注:尤其是那些USB-B型公口也就是常说的打印机方口)的设备,几乎都是这个驱动。) |
blazer_ser | 基于Megatec / Q1协议串行接口UPS设备的驱动程序 | 支持所有具有串行接口(使用blazer_ser驱动程序)的设备。 |
apcsmart | APC智能协议UPS设备的驱动程序 | apcsmart驱动程序应该识别(或至少与之兼容)大多数Smart-UPS模型-包括Smart-UPS,Matrix-UPS和Back-UPS阵容,以及其他少数几种。(笔者注:通常不是通过USB连接到NAS的APC设备) |
雷迪斯LADSH1000M是USB方口(有个好玩的事情是,一般支持串口RS232的设备改USB协议都会改成USB-B),因此我们自然的选择blazer_usb来尝试,结果为连接正常。
如果实在型号偏门(上面四个常见的都不行的话),也可尝试所有nutupsdrv列出的驱动程序,直到找到正确的协议。
尾声
最后放一张安装完成UPS图片:
可以看到APC650的通讯接口并不是USB-B接口,而是一种类似RJ-45的接口