ESXi 6.7 使用NUT Client连接群晖UPS服务器
分类:运维技术日期:2018-10-21 - 19:53:49作者:老谢
进来增加了一台工控机,上面跑了如软路由等业务,万一突然断电ESXi坏了启不了,估计就得废好大劲折腾了,以前有给群晖配过一台APC BK650的UPS,目前UPS的COM数据输出直接给到了群晖,毕竟无论如何也得优先保障群晖的可靠性,在群晖的设置里面看到过UPS服务器的选项,所以想着能不能ESXi能不能连接群晖的UPS服务器实现断电自动关机以保证数据安全。
搜了一圈,果然有相关资料,一看有戏果断继续折腾,先是搜到一篇论坛中文的教程,坑的是相关软件上传到百度网盘,密码还得回帖看见,注册吧还得要邀请码,邀请码把还要钱,我擦这不能忍,开源精神都被你们玩哪去了,百度靠不住了,祭出google大神,果不其然有一堆教程,折腾开始~
群晖关于UPS服务器的相关参数定义,放在/usr/syno/etc/ups/ups.conf文件中,默认如下:
UserVars.NutUpsName : UPS name on remote NUT server (ups_name@server_name),
can be a space separated list of NUT servers. In our case the servername is defined on the Synology (ups@10.0.1.22).
UserVars.NutUser : Username to connect to NUT server. If more that one NUT
server is declared, all need to use the same user/password.
The Synology default is “monuser”
UserVars.NutPassword : Username password on NUT server
The Synology default is “secret”.
UserVars.NutFinalDelay : Seconds to wait on low battery event before shutting down
UserVars.NutSendMail : Set to 1 if you want a mail to be sent on UPS event
UserVars.NutMailTo : Email address to send mail to on UPS event
首要登录群晖的DSM,在设置里面找到电源选项,打开UPS服务器并添加允许连接的ip,这里就把ESXi的ip填写进去:
ssh进到ESXi,默认是关闭的,需要在ESXi的服务里面打开ssh,如果你不知道怎么连ssh请自行度娘putty的使用方法:)
cd /tmp wget https://blog.rylander.io/2017/01/15/connect-a-esxi-6.5-host-to-a-ups-connected-to-a-synology-nas/NutClient-ESXi500-1.4.0.tar.gz tar -xvzf NutClient-ESXi500-1.4.0.tar.gz chmod +x upsmon-install.sh ./upsmon-install.sh #如果看到下面的输出信息,表示安装完成 Installation Result Message: Operation finished successfully. Reboot Required: false VIBs Installed: Margar_bootbank_upsmon_2.7.4-2.0.0 VIBs Removed: VIBs Skipped: #如果wget失败,请使用WinSCP上传NutClient-ESXi500-1.4.0.tar.gz到/tmp目录下即可。 |
接着登录ESXi,打开管理,高级设置,找到NUT相关的设置选项:
UserVars.NutUpsName:ups@192.168.0.4(这里的地址填你们群晖的地址)
UserVars.NutUser:monuser
UserVars.NutPassword:secret
UserVars.NutFinalDelay:60(关机时间,我这是1分钟后关闭esxi)配置完后在vSphere Client的配置-安全配置文件-服务-NutClient设置与主机一起启动和停止(NutClient是守护进程,要先配置UserVars中的NUT参数再运行NutClient服务。并且每次修改UserVars参数后都要重启NutClient服务才有用)
ssh中执行upsc ups@192.168.20.123,如果输出类似如下信息,则表示连接ups成功:
battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 50 battery.date: not set battery.mfr.date: 2014/07/04 battery.runtime: 2557 battery.runtime.low: 120 battery.type: PbAc battery.voltage: 13.7 battery.voltage.nominal: 12.0 device.mfr: APC device.model: Back-UPS 650 device.serial: 3B1427X16036 device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 5 driver.parameter.port: auto driver.version: DSM6-1-15255-180302 driver.version.data: APC HID 0.95 driver.version.internal: 0.38 input.sensitivity: low input.transfer.high: 266 input.transfer.low: 165 input.voltage: 246.0 input.voltage.nominal: 220 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.firmware: 822.A3.I ups.firmware.aux: A3 ups.load: 32 ups.mfr: APC ups.mfr.date: 2014/07/04 ups.model: Back-UPS 650 ups.productid: 0002 ups.serial: 3B1427X16036 ups.status: OL ups.timer.reboot: 0 ups.timer.shutdown: -1 ups.vendorid: 051d |
最后验证防火墙设置,执行esxcli network firewall ruleset list,如果看到upsmon为ture则表示正常,最后在ESXi的服务里面设置Network UPS Tools client服务随系统启动即可!
参考1:https://blog.rylander.io/2017/01/15/connect-a-esxi-6.5-host-to-a-ups-connected-to-a-synology-nas/
参考2:http://www.gebi1.com/forum.php?mod=viewthread&tid=283779&ordertype=1
gebi1网站 原帖说到 以下没有理解,安装了第三方包,还需要修改优先级吗?
ESXi 6.7要先运行第一条命令才可以安装第三方的VIB。
意思是降级Acceptance Level的权限。
—————————————————–
先知道VMware的VIB到底有几个级别,实际上是4个,
分别是:
• VMwareCertified
• VMwareAccepted
• PartnerSupported
• CommunitySupported
级别的差异自然意味着第三方软件包的可靠性差异,
如果是VMwareCertified自然最高,
不太可能会因为安装上去导致什么问题,
而如果是CommunitySupported则是最糟糕的,
所以,自己决定如何选择;
现在来说说如何去修改这个 Acceptance Level,
以及确认主机当前到底是哪一种 Acceptance Level,
方法如下:
1、首先,将需要安装的VIB放到ESXi主机这边,
执行如下命令去查看主机的的Acceptance Level是什么:
esxcli software acceptance get
2、在不确信VIB的Acceptance level前,
可以尝试加上–dry-run参数来查看它的级别:
esxcli software vib install -v /vmfs/volumes/datastore/xxxx.vib –dry-run
这个设置下来只能自动关机,但是无法来电自动开机
工控机来电自动开机
有个BUG,就是在停电后UPS进行工作,达到设置时间比如5分钟后发送指令给NAS和ESXI进行关机,在这两个设备关机后两分钟内UPS关机。但是如果这时候ESXI关机了而UPS准备关机的时间里来电了,那么ESXI无法启动(因为系统关机了但是硬件供电还存在) ESXI下的路由系统无法启动那么NAS也得不到通讯,就全瘫痪了,遇到过一次。
确实如此,可有解决方法么
我把esxi的时间调成10分钟了,手动上esxi关闭NUT服务,等NAS起来以后再开启。
1.请教博主,esxi何时触发关机指令是根据哪个参数的,是“battery.charge.low: 10”吗?(我的参数中没有“battery.charge.warning: 50”)
即是说NAS检测到UPS电池还剩10%然后触发esxi nutclient的关机操作?
2.如果NAS关机或者更新补丁重启,esxi nuclient会触发关机指令吗?
我的也没有warning状态,是通过low触发的,为了搞这个费了不少时间折腾,可以参考下 https://vxay.com/archives/53.html