ESXi7.0 使用 NUT Client 连接 TrueNAS 的 UPS服务器
类别: Nas, UPS, 教程, 系统, 软路由
前言[1]
近日我已经完成了ESXi虚拟机软路由的搭建,也装好了一台TrueNAS文件服务器。由于家里的供电环境偶尔不稳定,在晚上或者凌晨莫名的断电然后来电 或者 夏天用电高峰期电压不稳定。尽管这样的情况出现频率不高,但对于配了好多块机械硬盘的服务器而言是不可接受的,尤其是TrueNAS这类以内存作为写缓存的系统。因此,一台UPS已经是必须考虑的设备了,而为了能够保证多系统的安全断电和稳定使用,这台UPS需要支持和设备通讯。在看了spoto的视频之后,我果断购入了一台APC BX650CI-CN,天猫双11 405元购入。

选择BX系列的原因是带稳压功能。
TrueNAS上的UPS支持非常好,数据线连接ups和truenas,再通过网线连接ESXI主机和truenas,就可以实现联动了。
原理图如下:

一、Truenas设置[2]
先登录到truenas管理界面,找到shell并打开,输入“usbconfig”回车,找到你ups数据线连接到端口,记下来,后面会用到。(图中我的ups数据线是插在ugen0.4)

接着打开Services,往下翻,找到UPS的服务,点击ups那一栏的actions,进入配置。

按照我下图所示配置,给ups取个名字,truenas这边作为宿主机,选择驱动(我的是apc的,用usb数据线连接,所以选择apc usb to usb),再选择连接端口(前面让记住的,我这里是ugen0.4),接着可以设置一下断电多少秒后关机。(记下Monitor的账号和密码,后面设置ESXI会用到),设置完成后点击save保存。

打开开机自启和启动选项。

最后检查一下ups是否被驱动,进入shell,输入"upsc ups@localhost"回车,就会看到ups的具体信息,那么truenas这边就设置完成了。


二、ESXI设置[3]
从rene的博客下载2.1.6版本(二进制文件)的客户端:[https://rene.margar.fr/2012/05/client-nut-pour-esxi-5-0/]

下载好了后,通FileZilla(mac)/Winscp(windows) ssh上传到tmp目录里。需要先打开ESXI的ssh服务。

按照上图打开ssh服务

解压刚刚拖进/tmp目录里面的NutClient-ESXi-2.7.4-2.1.6.i386.tar.gz文件,命令:
tar xvf NutClient-ESXi-2.7.4-2.1.6.i386.tar.gz
解压刚刚拖进/tmp目录里面的NutClient-ESXi-2.1.1.i386.tar.gz文件,命令:
# 解压文件tar xvf NutClient-ESXi-2.7.4-2.1.6.i386.tar.gz
设置软件安装策略,否则会被阻止安装。
# 设置软件安装策略,否则会被阻止安装esxcli software acceptanceset--level CommunitySupported
运行upsmon-install.sh进行安装NUT Client
# 运行当前目录下的安装文件./upsmon-install.sh
如果成功会出现如下信息,请重启ESXI。
# 如果安装成功,应该出现这样子的信息Installation ResultMessage: Operation finished successfully.Reboot Required: falseVIBs Installed: Margar_bootbank_upsmon_2.7.4-2.1.6VIBs Removed:VIBs Skipped:# 重启一次reboot

重启完ESXI之后,进ESXI- 管理-系统-高级管理,输入nut进行搜索:

UserVars.NutUpsName:ups**@1.x.x.x**(这里的地址填TrueNAS的地址,我是10.10.255.77)UserVars.NutUser:monuser(账号,在truenas那里让你们记住的)UserVars.NutPassword:xxx(密码,在truenas那里让你们记住的)UserVars.NutFinalDelay:30(关机时间,我这是30秒后关闭 esxi)
配置完后在 vSphere Client 的配置 - 安全配置文件 - 服务 -NutClient 设置与主机一起启动和停止(NutClient 是守护进程,要先配置 UserVars 中的 NUT 参数再运行 NutClient 服务。并且每次修改 UserVars 参数后都要重启 NutClient 服务才有用)看下图:

验证esxi是否连接到了群晖的ups服务
设置成功之后,因为重启过,需要重新开启esxi ssh服务,连接到esxi的ssh之后,在ssh里面执行以下命令:
/opt/nut/bin/upsc ups@10.10.255.77(你nas的ip,即你ups服务器ip)
出现下图,证明连接成功。

验证防火墙设置,执行以下代码:
esxcli network firewall ruleset list# 看见NutServer为true时,表示正常。

三、验证是否正常工作
拔掉ups的电源,看ESXI和Truenas主机是否会先后关机(我测试是可以正常先后关机的)
参考资料
[1]
前言: 木星实验室.https://bbs.iobroker.cn/t/topic/6997[2]
Truenas设置: spoto.https://www.youtube.com/watch?v=xdFQM6hvKms&ab_channel=%E5%8F%B8%E6%B3%A2%E5%9B%BE[3]
ESXI设置: 876310253.https://bbs.iobroker.cn/t/topic/6997




