网云科技

标题: GEN8-ESXI系统的UPS自动关机设置 [打印本页]

作者: 96x3cpu    时间: 2016-3-29 20:18
标题: GEN8-ESXI系统的UPS自动关机设置
最近为了保护Gen8储存在NAS上的数据,购入了一台APC的不间断电源UPS(型号BX650-CH)
选型详见帖子: /thread-1332054-1-1.html

因为是服务器,肯定需要考虑无人情况下的断电自动关机,特意买了有USB的型号,无奈买回来发现,APC此款型号的UPS只有支援Windows平台的PowerChute Personal Edition可用,对于eSXi并无支持,要支援eSXi的企业化管理,至少需要smart-UPS级别以上的系统,并且服务器需要配置专用的网卡,使用PowerChute Network Shutdown…




直到今天在serverfault上看到老外牛人的文章(原帖地址:http://serverfault.com/questions/462993/vmware-esxi-shutdown-triggered-by-apc-ups-connected-via-usb ) 救我于水火之中!
具体流程以后抽时间翻译一下给诸位,核心理念是将UPS的USB设备直通给Linux的虚拟机,在其中通apcupsd这个守护程序来监控UPS的设备情况再反过来使用ssh到esxi主机来实现自动关机。亲自测试可用。
理论上这种方式适合于任何基于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. 安装putty的plink
sudo apt-get install plink
复制代码9. 使用plink连接一下esxi主机的ip地址,并保存RSA指纹
plink root@<esxi主机IP>

y

exit
复制代码10. 编辑/etc/apcupsd/apccontrol脚本,找到doshutdown) 将下面3行替换为
echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}

/usr/bin/plink root@<eSXi主机IP> -pw <root密码> "/sbin/shutdown.sh && /sbin/poweroff"

;;
复制代码此行是整个解决方案的核心,即在关机流程中远程ssh控制esxi主机依次关闭虚拟机,最后关闭服务器!


搞定!拔掉插头自己测试一下吧





作者: qt7gvkm    时间: 2016-3-29 20:18
http://blog.ltns.info/linux/esxi_auto_shutdown_with_apcupsd/
这里有篇中国人写的,和LZ一样的型号


作者: 6bpkw9    时间: 2016-3-29 20:18


这应该是知识没有储备完全才犯下的错误。。

PS。其实网络管理卡的费用不便宜啊。



你可以考虑
1,改用串口方案。。(应该还是有的吧。。)
2,弄个类似树莓派这样板子,通过USB连接,管理
3,改成Windows方案。。(我也无语了)





作者: l0fkq7vy    时间: 2016-3-29 20:18
记忆中,esxi集群主机的正常关机(断电)流程是要进维护模式的,
而且保险的方案是所有VMs都已经迁移到其他集群里。
就算突然断电,UPS的作用是,为了可以平衡过渡到备用线路或者三号线路(自备发电机)。
所以按这样的方案,楼主还得买台发电机。
这就是3000预算进论坛,最终花了九万八。。




作者: psktmln    时间: 2016-3-29 20:18

感受蛮好,已经遗忘它的存在了


作者: lmk30fv    时间: 2016-3-29 20:18
最普通的UPS就可以了   连USB的都不用带。

linux-like的系统上,crontab一个定时任务就好了,每分钟ping路由器或者家里ap什么的,ping -c 10

连续10个数据包都没收到,就shutdown -h now。


作者: zzevfbtq    时间: 2016-3-29 20:18

已经找到完美的解决方案了,发现用eSXi有很多东西要折腾,果然不太适合民用


作者: m0l01ehz    时间: 2016-3-29 20:18

本人太贱,喜欢折腾


作者: s62lsbb    时间: 2016-3-29 20:18

你可以ping 30个数据包,网线松动一下不碍事。

可以写个shell脚本增强一下逻辑,连续ping N次 每次失败就+1,达到某个值就认为停电。更或者是ping多个设备。
这样比较合理。
自己家里网线都是用最好的,基本不存在松动。

况且,这是不具备自动关机的UPS的最好办法。



作者: b5pwqi1x    时间: 2016-3-29 20:18
太麻烦了,有无直接支持esxi的ups?


作者: 1mek8rx    时间: 2016-3-29 20:18
bx650能支持2012r2自动关机嘛?


作者: vx2m39    时间: 2016-3-29 20:18

想法真的不错,粗暴好用。
细节还需要完善,比如crontab最短的间隔是60s,判断的业务逻辑需要细化一下,ups电池容量能支持几次判断循环?30次估计不行,一般ups是5分钟不回电就开始关机了。


作者: j8l0xf2o    时间: 2016-3-29 20:18
问下楼主用的BX650-CH感受咋样,平时有噪音么?


作者: bxn7szp    时间: 2016-3-29 20:18
麻烦问下第二个步骤具体怎么设置,谢谢!


作者: xxqmz2u0    时间: 2016-3-29 20:18
两位估计都背离了玩虚拟机的初衷。。。好好享受虚拟机带来的乐趣

虚拟机宿主的问题,解决就行,不要花时间去深究。。。除非是吃系统维护这口饭的。。

windows hyperv是虚拟机最容易的解决方案了



作者: x5ggox2v    时间: 2016-3-29 20:18

esxi本来就是企业级的虚拟机解决方案,兼容esxi的设备基本也都是企业级的
能用起来都已经是曲线救国了


作者: qsvpsv15    时间: 2016-3-29 20:18

有自带软件可以支持


作者: gbs790q    时间: 2016-3-29 20:18
何必呢,GEN8这种级别的东西还是WINDOWS合适.


作者: ces8l0    时间: 2016-3-29 20:18

发电机难度太高了。

普通 柴油那种,就噪音就够你收的了


相反, 高端的 氢燃料电磁,虽然噪音比较低(据说60分贝),但成本太高,何况,自家储备氢气, 周围肯定有人抱怨的。。



个人认为比较可行的方案就是找一个小山,山上有水。利用落差水利发电。。。

太阳能的发电效率不是很高,而且,只有阳光充足的时候才可以,也是夏季那段时间能达到最高发电效率。其次,太阳能发电主要是进入电池,购买大容量的充电电池的成本也不低。


作者: 5pcqb8o0    时间: 2016-3-29 20:18

这…… 你们是要打造数据中心的节奏么?
我只是指望有个UPS,不要因为突然断电毁了数据而已。断电后靠ups的电力可以把nas shutdown gentlely


作者: nzs1njg4    时间: 2016-3-29 20:18

网线松了也自动关机?
鉴于NAS是headless server,完全基于网络的,这样也是一个不错的思路呢 好评


作者: e5qfx2k    时间: 2016-3-29 20:18
Smart UPS价格不便宜,再加一块网络管理卡,差不多就快8-9千了,软件倒是有的,其实就是在ESX上面跑台虚拟机,你可以写一段代码,设定一旦停电,直接几分钟后引导关机。

作者: epr6wr6    时间: 2016-3-29 20:18

有那个想法, 但 没那个银子。。


另外,我这个边个人的想法是,把主力存储都放到NAS上,
如果NAS 停机,其他系统使用自然会受限。

可惜,锂电不是很便宜,
上会在TB上看到100W大约350 RMB,
虽然比较便宜,发电效率受很多因素影响。。另外,上述价格里面不包含控制器和 UPS和电池


作者: 70803311    时间: 2017-7-24 06:36
看看 怎么折腾的





欢迎光临 网云科技 (http://k.8x6x.com/) Powered by Discuz! X3.2