我有一个NUT客户端,要求它监视的UPS被命名为ups 。 客户端(Synology NAS)不提供更改此configuration的方法。 我的设置包括由一个主人监控的多个UPS,我宁愿没有四分之一的UPS命名为ups而其他3/4命名为描述性的,有助于pipe理。
我想我应该可以在中继器模式下使用虚拟UPS驱动程序来创build一个名为ups的虚拟UPS ups用于跟踪名为其他事物的真实UPS(即eaton1 )的状态。
从文档中 ,我认为我的ups.conf应该是这样的:
[eaton1] driver = usbhid-ups serial = "..." port = auto desc = "Eaton PW9130L1500R-XL2U #1" [eaton2] driver = usbhid-ups serial = "..." port = auto desc = "Eaton PW9130L1500R-XL2U #2" #More UPSes... [ups] driver = dummy-ups port = eaton1@localhost desc = "Dummy UPS"
但是这不起作用。 当我重新启动螺母时,我的系统日志中出现以下信息:192.168.42.2是Synology NAS的IP地址:
16:09:46 nut-server usbhid-ups[22208]: Startup successful 16:09:46 nut-server usbhid-ups[22210]: Startup successful [#One for each UPS] 16:09:47 nut-server upsd[22216]: listening on 192.168.1.1 port 3493 16:09:47 nut-server upsd[22216]: listening on localhost port 3493 16:09:47 nut-server upsd[22216]: Can't connect to UPS [ups] (dummy-ups-ups): No such file or directory 16:09:47 nut-server upsd[22216]: Connected to UPS [eaton1]: usbhid-ups-eaton1 16:09:47 nut-server upsd[22216]: Connected to UPS [eaton2]: usbhid-ups-eaton2 16:09:47 nut-server upsd[22217]: Startup successful 16:09:47 nut-server upsmon[22219]: Startup successful 16:09:47 nut-server upsmon[22221]: Poll UPS [ups@localhost] failed - Driver not connected 16:09:47 nut-server upsmon[22221]: Communications with UPS ups@localhost lost 16:09:52 nut-server upsd[22217]: User [email protected] logged into UPS [ups] 16:09:52 nut-server upsmon[22221]: Poll UPS [ups@localhost] failed - Driver not connected 16:09:52 nut-server upsmon[22221]: UPS ups@localhost is unavailable 16:09:57 nut-server upsmon[22221]: Poll UPS [ups@localhost] failed - Driver not connected 16:10:21 upsmon[22221]: last message repeated 3 times
如果我将端口input设置为空白,则Synology UPS连接正常,但由于dummy-ups运行模式正在运行,因此无法获取任何UPS信息,也不会在停电时关机。
我正在运行的Ubuntu 12.04.5LTS与NUT 2.6.3(Ubuntu的包:2.6.3-1ubuntu1.1)
谢谢你的帮助。
编辑 :修正了我的例子ups.conf一个错字
问题源于司机之间的竞争状态, dummy-ups开始并尝试在usbhid-ups完成初始化之前连接到usbhid-ups 。
正如在NUT Users邮件列表中所解释的,在NUT之后的版本中,可以通过在maxretry使用maxretry和/或retrydelay全局指令来解决这个问题。
对于没有这些选项的NUT版本(例如,Ubuntu 12.04中的2.6.3),可以通过手动启动UPS(以root身份)来解决问题:
upsdrvctl start ups
这可以通过将以上行添加到/etc/rc.local来自动启动。