使用群晖作为UPS服务器联动Windows服务器关机

一、群晖自身连接UPS

该步骤非常简单,建议选择在群晖官网兼容性列表中列出的UPS型号,以保证购买后可以正常使用。

以本例中的APC BK650-CH为例,将UPS中附带的联机线(一头为RJ45网线口,一头为USB)分别与群晖的USB口和UPS的“数据通信口”连接,然后将UPS接入市电,长按电源键开机即可。

接下来,在DSM的控制面板——硬件和电源——不断电系统中启用UPS支持:

勾选启用UPS支持DiskStation进入“安全模式”之前的等待时间指群晖在进入待机模式(停止所有系统服务、将硬盘卸载并停转)前等待的时间,当系统进入安全模式时将不断电系统关机指群晖在进入待机模式后,通知UPS切断电源,可以尽可能减少对UPS电池的消耗,如无连续在线需求,建议勾选。

设备信息中,可以看到UPS的相应信息:

二、启用群晖UPS服务器

要使其它设备与群晖联动,在市电断开时得到通知关机,需要将群晖配置为UPS服务器,在DSM的控制面板——硬件和电源——不断电系统中,勾选启用网络UPS服务器,然后点击允许的 DiskStation 设备,弹出对话框如下:

此处最多可以录入5个接收UPS通知的设备的IP地址,请自行确保对应的IP地址的可用性及对应性,并且确保网络连接(如路由器/交换机)一并接入UPS(常见的家用路由器电源为两相,可购买两相转三相的转接头),以确保断电时群晖可以顺利下发通知,否则一切都是白给。

三、配置Windows下的UPS客户端

下载WinNUT(GitHub Repo本站镜像,自行搜索下载时请注意 WinNUT 和 WinNUT client 是两个不同的软件,后者用于查看网络UPS设备的信息,且无法用于群晖的UPS服务器)进行安装,安装完成后打开开始菜单中的WinNUT Configuration Tool,弹出以下界面

点击Configuration File Path后面的Edit按钮,打开配置文件:

在图中所示位置新增如下内容:

MONITOR ups@群晖IP地址 1 monuser secret slave

其中,群晖IP地址按实际情况录入,monuser和secret为群晖内置的UPS服务器账号密码(附录中另行说明),请勿修改,slave代表本机作为从设备,接受UPS服务器下发的通知。

修改完成后,保存该文件。

勾选主界面上的Install As Service,并将Automatic Startup中的Service Startup选择Automatic Startup,将WinNUT安装为系统服务,即可在每次启动系统时自动启动本应用。

最后点击Apply and start WinNUT,如Status中变为Running as Service,说明服务启动成功,此时点击Log File Path后的View按钮查看实际启动情况,常见的几种错误信息如下:

1、Can’t login to UPS [upsx@192.168.0.2]: Unknown UPS
检查刚才在配置文件中录入的信息中,ups@群晖IP地址部分是否有错,@前的部分必须为ups不得更改;

2、Can’t login to UPS [ups@192.168.0.2]: Access denied
检查刚才在配置文件中录入的信息中,monuser secret部分是否有错字,必须与前述一致;

3、Fatal error: insufficient power configured!
检查刚才在配置文件中录入的信息,是否有多余的字符,或者省略了ups@的部分,必须与前述一致。

简单来说,请完全按照前述的信息对配置文件进行修改,且只需要修改群晖IP地址的部分,不要以为自己很聪明而随便修改任何字段。

另外,不要忘记在Windows防火墙(或其它本机安装的网络防火墙)上开放3493/tcp端口,否则群晖下发的通知无法到达本机,也是没有用的。

WinNUT的主界面中还有一个可选选项:勾选Use Timed Shutdown选项可在收到通知后延迟指定的秒数再执行关机动作,在Shutdown Delay (in Seconds)后输入要延迟的秒数即可。

注意:对主界面的设置进行修改后,(如果服务已经在运行)一定要点击Stop WinNUT然后点击Apply and Start WinNUT对服务进行重启,新的配置才会生效。

一切配置完成后,可以试着拔掉UPS的电源,使UPS转入电池供电模式,观察群晖及联动的Windows服务器是否按照预期执行了关机动作。

附录:查看群晖默认的UPS服务器配置信息

首先在DSM中启用SSH终端支持,在控制面板——终端机和SNMP中勾选启用SSH功能,并修改默认的端口:

然后用SSH客户端连接群晖,注意修改端口号为刚刚配置的端口,登录时需使用在群晖中配置的admin用户组的账号密码。

登录后,使用sudo -i指令,输入当前登录的用户密码,切换至root权限,然后进入/usr/syno/etc/ups目录,该目录下有2个文件对应前述WinNUT配置时录入的参数信息:

1、ups.conf
文件末尾内容如下:

[ups]
driver = usbhid-ups
port = auto

其中[ups]所指即为前述配置中ups@群晖IP地址中,@之前部分的ups

2、upsd.users
文件末尾内容如下:

[monuser]
password = secret
upsmon master

其中[monuser]和password=secret即为签署配置中monuser secret之来源,此处还可以发现群晖工作在主设备(master)模式下,作为服务器向其它设备发送UPS电源信息。

不建议对该处配置文件进行修改,以避免发生问题。

参考资料:
1、https://asperti.com/en/synology-ups-and-other-machines
2、https://www.synology.com/zh-cn/knowledgebase/DSM/tutorial/General_Setup/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet
3、https://diktiosolutions.eu/en/synology/synology-ups-nut-en/

转自: https://www.aoisnow.net/blog/archives/2973

留下评论