ESXi安装NUTclient配合群晖UPS实现断电自动关机
发表在《鼓捣》。

ESXi安装NUTclient配合群晖UPS实现断电自动关机

发表在《鼓捣》。

最近重新开始折腾GEN8,但是由于思路不清,导致很多资源被浪费。
例如之前是单独安装一个debian系统并安装apcupsd,UPS的USB直接挂在此系统下。
通过apcupsd监控UPS状态,一旦停电UPS电池使用余量达到50%,通过SSH登录ESXi执行关机操作。
优点就是可以自动关机,尽量保护停电带来的负面影响。
缺点也显而易见,需要单独的系统来监控UPS状态,消耗资源、ESXi需要开启SSH权限,增加安全风险等等。

通过这次重构后,开始搜寻更好的解决方案。
下面记录下如何折腾的。

确认UPS被群晖支持

首先要确定群晖是否支持此UPS的信息采集,
将UPS与群晖使用USB线连接(如果是黑群就将USB口映射一下)。
启用UPS支持后,再点击【设备信息】
1.png

可以显示出UPS相关信息。
3.png

在【允许DiskStation设备】中填写ESXi的管理IP。
2.png

ESXi安装NUTclient

下载 NUTclient:
百度网盘链接: https://pan.baidu.com/s/1vtoOK0A_eZXt4JfP30kcOg
密码: hckv

将ESXi的SSH权限开启。
依次进入:vsphere client(或WEB UI都可以)—配置—软件—安全配置文件—主机映像配置文件接受程度—团体受支持,否则无法安装NUTclient。

将NutClient-ESXi-2.0.0.tar.gz文件上传到ESXi,可以上传到某磁盘下。
使用SSH登录ESXi,找到对应目录下的NutClient-ESXi-2.0.0.tar.gz,解压。
具体命令:

ESXI 6.X使用如下命令:
cd /nut (这里使用/nut目录为例)
tar -xzf NutClient-ESXi-2.0.0.tar.gz
sed -i 's/--no-sig-check //g' upsmon-install.sh
sh upsmon-install.sh

ESXI 5.X使用如下命令:
cd /nut
tar -xzf NutClient-ESXi-2.0.0.tar.gz
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:

重启服务:
/etc/init.d/hostd restart

回到sphere client(或者WEB UI)
在配置-高级设置-UserVars中填写ups服务配置
UserVars.NutUpsName:ups@192.168.0.99 (群辉的地址)
UserVars.NutUser:monuser
UserVars.NutPassword:secret
UserVars.NutFinalDelay:60(关机时间,我这是1分钟后关闭esxi)

配置完后在vSphere Client的配置-安全配置文件-服务-NutClient设置与主机一起启动和停止(NutClient是守护进程,要先配置UserVars中的NUT参数再运行NutClient服务。并且每次修改UserVars参数后都要重启NutClient服务才有用)

连接测试:
cd /
upsc ups@192.168.0.99
此时应该会回显UPS信息。

如果提示没有upsc命令,则对upsc命令做下软链接。
cd /bin
ln -s /opt/nut/bin/upsc /bin/upsc
upsc ups@192.168.0.99