记录折腾的那点事
在折腾的道路上永不止步

在Windows 2012 R2 Server上安装Network UPS Tools实现Gen8和NAS共享UPS

Windows 2012 R2 Server 上安装Network UPS Tools 实现Gen8 NAS 共享UPS
前言:
家里一台Synology DS213j(NAS)用来保存照片和比较重要的数据,一台Gen8安装Windows 2012 R2 Server,并安装若干虚拟机,用来挂PT下载和存储电影等资料。为了保证停电时数据的安全,购入了一台APC BX650CI-CN。
起初,按照论坛里的连接方案:把UPS连接到DS213j,并设置成不间断电源服务器。Gen8上Windows 2012 R2 Server安装WinNUT Client软件,并连接到DS213j的服务器用来在UPS断电时通知Gen8关机。但这种方案存在两个问题:
1.             DS213j存储的照片并不需要24小时不间断运行,大多数时间都是休眠或者关机,只有在需要查看照片的时候才手动打开。Gen8作为一台下载机才需要24小时不间断运行。这样的话当市电停电时DS213j上连接的UPS就无法及时的发送信号给Gen8。
2.             Windows 2012 R2 Server上运行的WinNUTClient程序只有在登录之后才能自动运行,而且没有安装成服务的功能。WinNUT Client还经常出现丢失连接的现象,导致无法将Gen8关机。
按照需求的话,将UPS服务器安装在路由或者Gen8上才是更好的选择方案。但我的路由是ASUS AC66U(还不是B1,对,就是这么苦逼),刷**之后开双WAN和梯子。根据网上的教程,UPS服务器可以安装在openwrt上,但无法安装在**上。只能求其次将它安装在Gen8的Windows 2012 R2 Server上。
Network UPSTools(NUT)是一种开源的UPS服务器方案,已在业内广泛应用,Synology内置的UPS服务器就是采用的NUT,这也为Gen8安装NUT打下了基础,不用在DS213j上过多的设置就可以直接使用了。
步骤:
1.                 访问NUT官网以下载NUT for Windows安装程序,地址: https://networkupstools.org/download.html
运行安装程序,一路NEXT。
安装驱动程序。
基本上安装驱动程序不会成功,不过没有关系,直接回车。
安装完成后,在访问这个链接下载libusb-win32驱动: https://sourceforge.net/projects/libusb-win32/
解压后运行inf-wizard.exe来安装驱动。(由于我的驱动程序已经安装好了,没办法重新截图,以下的图片来自网上一个德国兄弟的教程 https://grafenthal.de/wiki/index … _Network_UPS_Tools_(NUT)_unter_Windows_Server_2012_USB)
选择USB口:
下一步。
下一步,选择将驱动程序保存的位置。
保存成功后选择马上安装。
再回到刚刚保存驱动文件的位置,根据操作系统是32位还是64位选择对应的驱动程序目录,把目录下的两个文件拷贝到NUT的bin目录下。
安装成功的话,在设备管理器中应该可以看到libusb-win32下有自己UPS的名称。
到此为止,驱动就算安装好了,下一步就是配置NUT了。
2.                 打开NUT的安装目录(默认是C:\Program Files(x86)\NUT\),打开etc目录并将目录下的文件名后的sample去掉(去掉前最好保存一份)
打开nut.conf文件,设置服务器模式,在文件最后一行将MODE修改为:

MODE=netserver

打开ups.conf文件,设置服务器与驱动程序的连接,在文件最后一行添加以下内容:
[ups]
driver = usbhid-ups
     port= auto

其中:[ups]为设定的UPS连接名称,由于Synology默认采用ups,所以这里也要设置成ups,如果不需要连接Synology的话也可以设置成其他名称,只有自己记得就行。usbhid-ups为UPS的驱动程序名称,如果你的UPS不是BX650的话,就需要通过NUT的兼容性列表( https://networkupstools.org/stable-hcl.html)来查询驱动程序名称。
打开upsd.conf文件,设置UPS服务器监听端口,在文件最后一行添加以下内容:
LISTEN 127.0.0.1 3493
LISTEN 192.168.1.32 3493

其中192.168.1.32是Gen8的地址,必须保证正确,否则局域网中其他的客户端没办法连接上。
打开upsd.user文件,设置连接的用户名和密码,在文件最后一行添加以下内容:
[admin]
            password = adminpass
            actions = SET
            instcmds = ALL
[monuser]
            password  = secret
                upsmon slave

在这里设置了两个用户,文件名分别为admin和monuser,密码分别为adminpass和secret。monuser用户名和密码是用来给DS213j连接的。
打开upsmon.conf文件,设置监控连接,在文件最后一行添加以下内容:

MONITOR  ups@127.0.0.1 1 admin adminpass master

其中:ups就是在ups.conf文件中设置的ups连接名称,,admin和daminpass分别是管理员用户名和密码,最后的master表示此服务器将作为主控端。
在upsmon.conf文件中找到关机的命令行,默认为:

SHUTDOWNCMD “/sbin/shutdown -h +0”

由于我将NUT运行在Windows系统中,将关机命令行修改为:

SHUTDOWNCMD “C:\\WINDOWS\\system32\\shutdown.exe-s -t 10”

到这里NUT的所有设置就算完成了,但由于NUT本身缺少一些动态链接库,所以还需要补充一些动态链接库。
3.      访问 http://web.archive.org/web/20160914112435if_/http://indy.fulgan.com/SSL/openssl-1.0.2h-i386-win32.zip,将文件下载到本地后解压,将下面两个文件拷贝到NUT安装目录下的bin和sbin文件夹(C:\Program Files(x86)\NUT\bin和C:\Program Files(x86)\NUT\sbin)
libeay32.dll
ssleay32.dll
从网上搜索libgcc_s_dw2-1.dll这个链接库,并放入sbin文件夹(C:\Program Files(x86)\NUT\sbin),这个文件很好找,我就不放地址了。
4.                 为了实现DS213j连接到Gen8,需要打开服务器的防火墙的3493端口。
最后,重启Network UPS Tools服务。
5.                 为了确认NUT服务已正常运行,可以在服务器上开启shell检查3493端口是否开放。
输入

netstat –an |findstr 3493

如下图,可以看到3493端口已经开放。
转到C:\Program Files(x86)\NUT\bin目录,输入以下指令可以查看UPS的状态:

upsc ups

在bin目录下还可以运行以下命令,了解可以对UPS执行设置:

upscmd –l ups

6.                 DS213j端的设置比较简单,首先用DS213j的管理员账户连接并打开控制面板。
在“硬件与电源”、“不间断电源”中启用UPS支持,并选择“Synology不断电系统服务器”,并填入Gen8的IP地址,并应用。如下图:
这时候,点击设备信息,应该就可以看到Gen8上连接的UPS了。
7.                 测试。将Gen8连接的UPS断电,可以听到UPS发出报警声,约30秒后DS213j接到命令关机,当UPS电量下降到10%时,Gen8关机。具体时间可以根据自己的需要设置。

8.                 大功告成。

原文:https://www.chiphell.com/thread-1901398-1-1.html

赞(0)
未经允许不得转载:ghMa » 在Windows 2012 R2 Server上安装Network UPS Tools实现Gen8和NAS共享UPS
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址