ESXI绑定APC家的UPS
理论上这种方式适合于任何基于Linux的系统(FreeNAS,黑群晖等)
1、打开eSXi的ssh远程服务;
2、eSXi虚拟机设置中添加USB设备,将APC的UPS添加到虚拟机硬件中;
3、LinuxVM中安装apcupsd
sudo apt-get install apcupsd
4、配置/etc/apcupsd/apcupsd.conf
UPSNAME <自定义名称> #这行定义你的UPS名称
UPSCABLE usb #设置UPS的通讯模式为USB模式
UPSTYPE usb #设置UPS类型为usb型,记得注释掉下面那行DEVICE /dev/ttyS0
5、编辑/etc/default/apcupsd
ISCONFIGURED=yes
6、重启apcupsd守护进程
sudo service apcupsd restart
7、测试UPS的状态 apcaccess 如果看到上面的画面,恭喜,已经完成了90%了
8、安装ssh的sshpass
sudo yum install sshpass
9、在ESXi上创建关机脚本并添加可执行权限
vm-shutdown.sh
#vim-cmd vmsvc/getallvms 获取id
#!/bin/sh
#关闭虚拟机(有安装VMware tools的虚拟机使用power.shutdown,没有的就只能使用power.off来进行强制关机。)
# ubuntu-18.04.5-desktop
vim-cmd vmsvc/power.shutdown 19
# DSM_7
vim-cmd vmsvc/power.shutdown 24
# Win10
vim-cmd vmsvc/power.shutdown 17
# OpenWRT-LEDE
vim-cmd vmsvc/power.shutdown 11
# iKuai
vim-cmd vmsvc/power.off 2
esxi-shutdown.sh
#!/bin/sh
#关闭esxi主机电源
/sbin/poweroff
10、编辑/etc/apcupsd/apccontrol脚本,找到doshutdown) 将下面3行替换为(按需修改脚本路径)
可手动使用ssh连接一次,确保可正常登陆。
echo “UPS ${2} initiated Shutdown Sequence” | ${WALL}
sshpass -p "密码" ssh [email protected] "/vmfs/volumes/datastore1/APC/vm-shutdown.sh && /vmfs/volumes/datastore1/APC/esxi-shutdown.sh"
;;
此行是整个解决方案的核心,即在关机流程中远程ssh控制esxi主机依次关闭虚拟机,最后关闭服务器! 搞定!拔掉插头自己测试一下吧
本文转自chiphell论坛:https://www.chiphell.com/thread-1338585-1-1.html
版权声明:
作者:RuyeNet
链接:https://www.iloveu.top/archives/119
来源:RuyeNet
文章版权归作者所有,未经允许请勿转载。

共有 0 条评论