参考
- 如何用一台UPS控制多台主机的断电自动关机?NetworkUPSTools(NUT)的安装与配置
- 家用UPS同时给NAS和PC使用实现自动关机
- https://networkupstools.org/
作者
pengdonglin137@163.com
概述
之前在买NAS时配了一台UPS,有自动关机功能。最近买了台T620服务器,又不想再给它配一台UPS,所以在网上查找如何跟NAS共用一台UPS的方法。
ESXi配置
- 利用NutClient使ESXi配合群晖UPS实现停电自动关机
- https://github.com/rgc2000/NutClient-ESXi
- https://www.wonote.com/studies/esxi-ups-auto-shutdown
- https://github.com/rgc2000/NutClient-ESXi/releases
我安装的ESXi的版本是6.7.
添加ESXi的IP地址
下载安装包
NutClient-ESXi-2.8.0-2.4.1.x86_64.tar.gz
安装
参考上面的博客以及readme。
- 开启ESXi的ssh,然后把安装包拷贝到ESXi上的一个临时目录下
- 解压缩,安装
cd /tmp tar -xzvf NutClient-ESXi-2.8.0-2.4.2.x86_64.tar.gz ./upsmon-install.sh
执行成功后,会看到如下面的内容:
配置
回到sphere client(或者WEB UI)
在管理-系统-高级设置-UserVars中填写ups服务配置
UserVars.NutUpsName:ups@192.168.2.102 (群辉的地址)
UserVars.NutUser:monuser
UserVars.NutPassword:secret
UserVars.NutFinalDelay:30(关机时间,我这是半分钟后关闭esxi)
如下图所示:
启动NUT Client
配置完后在vSphere Client的配置-安全配置文件-服务-NutClient设置与主机一起启动和停止(NutClient是守护进程,要先配置UserVars中的NUT参数再运行NutClient服务。并且每次修改UserVars参数后都要重启NutClient服务才有用)
连接测试: cd / upsc ups@192.168.2.102 此时应该会回显UPS信息。 如果提示没有upsc命令,则对upsc命令做下软链接。 cd /bin ln -s /opt/nut/bin/upsc /bin/upsc upsc ups@192.168.2.102
执行成功,会提示下面的内容:
Ubuntu
下面这个是ubuntu作为client的用法。
如果使用的是Ubuntu系统,可以通过下面的方法进行配置。
相关的软件包:
- https://networkupstools.org/download.html#_binary_packages
- https://packages.ubuntu.com/search?keywords=nut
安装
sudo apt install nut
配置
- 修改/etc/nut/nut.conf,设置工作模式
- 修改/etc/nut/upsmon.conf,配置要监听的UPS服务端
- 在NAS上添加Ubuntu的IP地址
- 重启服务
systemctl restart nut-client systemctl status nut-client
正常情况下,会显示下面的状态信息:
连接测试
upsc ups@192.168.2.102
会看到下面的输出:
Fedora
Centos8.5
配置软件源
https://developer.aliyun.com/mirror/centos
下载安装下面下面几个软件包
- freeipmi-1.6.6-1.el8.x86_64.rpm
- nut-client-2.8.0-3.el8.x86_64.rpm
- nut-2.8.0-3.el8.x86_64.rpm (会依赖上面两个)
配置
- 编译/etc/ups/nut.conf
- 编译/etc/ups/upsmon.conf
- 启动nut-monitor服务
systemctl enable nut-monitor systemctl start nut-monitor systemctl status nut-monitor
上面确定nut服务是哪个的?可以将rpm包解开看,或者使用rpm命令,比如通过rpm -qf path to file 可以得到指定文件来自哪个rpm包,然后使用rpm -ql 可以列出该rpm包会安装哪些文件
连接测试
Win10 [废弃]
整体方法跟上面linux环境相同。
下载安装包
https://www.networkupstools.org/package/windows/NUT-Installer-2.6.5-6.msi
安装
安装完毕后,默认会在C:\Program Files (x86)\NUT
下看到下面的目录结构:
可以看到,这个是仿照Linux系统布置的,所以配置方法跟linux基本一样,只是目录结构稍有不同。
配置
下面的操作都需要以系统管理员权限进行
进入C:\Program Files (x86)\NUT\etc
下:
- 修改nut.conf.sample
- 修改upsmon.conf.sample
- 在NAS上增加win10的IP地址
- 重启服务
依次以系统管理员权限执行StopService.bat和StartService.bat
链接测试
跟在linux环境下一样,需要用到upsc命令,如下图所示:
在执行时遇到下面两个缺少dll的错误:
下载链接如下:
将dll文件拷贝到下面两个目录:
- C:\Windows\SysWOW64
- C:\Windows\System32
再次进行连接测试:
Win10 新方法
下载软件包
配置
- 点击设置,然后配置如下:
- 自启动
- 关机配置
- 将PC的IP地址加到NAS中
- 退出这个软件,然后重新打开,可以看到连接成功
完。