家中放了一台服务器,做了个all in one,nas存放了很多数据,避免物业乱拉闸停电,便买了一个ups来做备用电源。
经过网上一番搜索,推荐的都是APC BK650M2-CH,功率不高只有390瓦。放家中的服务器戴尔r730待机功率120瓦左右,还是能撑到关机,便决定买这个型号。买回来后,与黑群晖能完美配合,与虚拟平台pve和esxi倒是折腾了一下,本文记录一下与pve和esxi配合使用的过程。
1. nut协议
apc这个型号的ups支持nut协议,能够用ups的协议口通过包装的usb线与群晖进行通讯。而这个协议能够集成到pve和esxi中。
pve安装nut客户端的方法很简单,如下就能安装
1 | apt update |
esxi的安装稍微复杂一些,需要安装第三方的库文件,下载地址在:https://rene.margar.fr/2012/05/client-nut-pour-esxi-5-0/。这个网页一直在更新,esxi7.0的平台最新版依然能支持,下载如下文件即可:
下载后直接传到esxi的/tmp目录,进行解压,解压后是一个vib的文件,这种文件是esxi的扩展文件,能够扩展esxi的底层。
因为是第三方的软件,esxi默认不允许安装,所以需要执行如下命令:
1 | esxcli software acceptanceset--level CommunitySupported |
执行完后,再执行
1 | ./upsmon-install.sh |
即可安装nut客户端文件,安装完后无需进行重启,即可直接激活nut客户端的功能。
2. 通讯网络
连线很简单,群晖nas作为ups通讯的服务端,所以ups的数据线连接的usb需要挂载到群晖里面,挂载后,群晖能直接识别
pve或者esxi作为客户端,需要与群晖进行通讯。群晖中添加客户端的ip地址。
3. 客户端配置
pve是直接安装的nut客户端,所以需要修改以下两处:
- 在
/etc/nut/nut.conf
的末尾添加MODE=netclient
- 在
/etc/nut/upsmon.conf
中添加MONITOR ups@192.168.xx.xx 1 monuser secret slave
群晖对接ups的默认账户密码是monuser/secret
,这个要进群晖的console读取,console中的目录在/usr/syno/etc/ups
最后启动服务systemctl start nut-client
和systemctl enable nut-client
,启动后就能与群晖进行通讯了
而针对esxi要稍微简单一些,直接提供了界面进行编辑,路径在管理->系统->高级设置,里面筛选nut相关的配置项
同样,修改password,user和upsname为对应的参数即可。
配置完后,可以使用命令upsc ups@192.168.xx.xx
测试是否能连上ups,如果回显ups的参数则说明配置成功
4. 修改群晖默认的安全模式
群晖在ups发送了断电信号后,不会直接关机,而是进入到一个安全模式下,web连不上,但是系统并没有自行关机,所以需要修改默认的参数进行关机。
步骤如下:
- 打开群晖的console模式,进入console后切换到root
- 进入console后修改文件
/usr/syno/bin/synoups
- 将
/usr/syno/sbin/synopoweroff -fr
注释掉,修改为poweroff
经过该种修改后,群晖在收到ups信号后就能直接关机了,在群晖关机后,pve和esxi在收到服务端的信号后,也能挨着关机,最后等待ups自行关机。后续只需要将服务器的bios设置为来电启动,即可在来电后自动开机了。