Chiphell - 分享与交流用户体验

 找回密码
 加入我们
搜索
      
查看: 19893|回复: 25

[NAS] GEN8-ESXI系统的UPS自动关机设置

[复制链接]
发表于 2015-7-25 16:27 | 显示全部楼层 |阅读模式
本帖最后由 sym 于 2015-7-25 20:29 编辑

最近为了保护Gen8储存在NAS上的数据,购入了一台APC的不间断电源UPS(型号BX650-CH)
选型详见帖子: https://www.chiphell.com/thread-1332054-1-1.html

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


直到今天在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

  1. sudo apt-get install apcupsd
复制代码
4. 配置/etc/apcupsd/apcupsd.conf
  1. UPSNAME <自定义名称> #这行定义你的UPS名称
  2. UPSCABLE usb #设置UPS的通讯模式为USB模式
  3. UPSTYPE usb #设置UPS类型为usb型,记得注释掉下面那行DEVICE /dev/ttyS0
复制代码
5. 编辑/etc/default/apcupsd
  1. ISCONFIGURED=yes
复制代码
6. 重启apcupsd守护进程
  1. sudo service apcupsd restart
复制代码

7. 测试UPS的状态
  1. apcaccess
复制代码
捕获.PNG
如果看到上面的画面,恭喜,已经完成了90%了

8. 安装putty的plink
  1. sudo apt-get install plink
复制代码
9. 使用plink连接一下esxi主机的ip地址,并保存RSA指纹
  1. plink root@<esxi主机IP>
  2. y
  3. exit
复制代码
10. 编辑/etc/apcupsd/apccontrol脚本,找到doshutdown) 将下面3行替换为
  1. echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}
  2. /usr/bin/plink root@<eSXi主机IP> -pw <root密码> "/sbin/shutdown.sh && /sbin/poweroff"
  3. ;;
复制代码
此行是整个解决方案的核心,即在关机流程中远程ssh控制esxi主机依次关闭虚拟机,最后关闭服务器!


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


发表于 2015-7-25 17:14 | 显示全部楼层


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

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



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


 楼主| 发表于 2015-7-25 17:23 | 显示全部楼层
gyc 发表于 2015-7-25 17:14
这应该是知识没有储备完全才犯下的错误。。

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

已经找到完美的解决方案了,发现用eSXi有很多东西要折腾,果然不太适合民用
发表于 2015-7-25 19:27 | 显示全部楼层
记忆中,esxi集群主机的正常关机(断电)流程是要进维护模式的,
而且保险的方案是所有VMs都已经迁移到其他集群里。
就算突然断电,UPS的作用是,为了可以平衡过渡到备用线路或者三号线路(自备发电机)。
所以按这样的方案,楼主还得买台发电机。
这就是3000预算进论坛,最终花了九万八。。

发表于 2015-7-25 19:39 | 显示全部楼层
何必呢,GEN8这种级别的东西还是WINDOWS合适.
 楼主| 发表于 2015-7-25 20:31 | 显示全部楼层
lwbright 发表于 2015-7-25 19:39
何必呢,GEN8这种级别的东西还是WINDOWS合适.

本人太贱,喜欢折腾
发表于 2015-7-25 22:10 | 显示全部楼层
http://blog.ltns.info/linux/esxi_auto_shutdown_with_apcupsd/
这里有篇中国人写的,和LZ一样的型号
发表于 2015-7-25 22:56 | 显示全部楼层
路西欧拉 发表于 2015-7-25 19:27
记忆中,esxi集群主机的正常关机(断电)流程是要进维护模式的,
而且保险的方案是所有VMs都已经迁移到其他 ...

发电机难度太高了。

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


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



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

太阳能的发电效率不是很高,而且,只有阳光充足的时候才可以,也是夏季那段时间能达到最高发电效率。其次,太阳能发电主要是进入电池,购买大容量的充电电池的成本也不低。
 楼主| 发表于 2015-7-26 09:44 | 显示全部楼层
gyc 发表于 2015-7-25 22:56
发电机难度太高了。

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

这…… 你们是要打造数据中心的节奏么?
我只是指望有个UPS,不要因为突然断电毁了数据而已。断电后靠ups的电力可以把nas shutdown gentlely
发表于 2015-7-26 11:00 | 显示全部楼层
sym 发表于 2015-7-26 09:44
这…… 你们是要打造数据中心的节奏么?
我只是指望有个UPS,不要因为突然断电毁了数据而已。断电后靠ups ...

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


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

可惜,锂电不是很便宜,
上会在TB上看到100W大约350 RMB,
虽然比较便宜,发电效率受很多因素影响。。另外,上述价格里面不包含控制器和 UPS和电池
发表于 2015-7-26 13:45 | 显示全部楼层
本帖最后由 无名旅人 于 2015-7-26 13:47 编辑

两位估计都背离了玩虚拟机的初衷。。。好好享受虚拟机带来的乐趣

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

windows hyperv是虚拟机最容易的解决方案了
发表于 2015-7-27 06:49 | 显示全部楼层
麻烦问下第二个步骤具体怎么设置,谢谢!
发表于 2016-1-22 12:33 | 显示全部楼层
最普通的UPS就可以了   连USB的都不用带。

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

连续10个数据包都没收到,就shutdown -h now。
 楼主| 发表于 2016-1-26 16:52 | 显示全部楼层
mrco 发表于 2016-1-22 12:33
最普通的UPS就可以了   连USB的都不用带。

linux-like的系统上,crontab一个定时任务就好了,每分钟ping路 ...

网线松了也自动关机?
鉴于NAS是headless server,完全基于网络的,这样也是一个不错的思路呢 好评
发表于 2016-1-26 17:56 | 显示全部楼层
sym 发表于 2016-1-26 16:52
网线松了也自动关机?
鉴于NAS是headless server,完全基于网络的,这样也是一个不错的思路呢 好评 ...

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

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

况且,这是不具备自动关机的UPS的最好办法。
发表于 2016-1-26 20:18 | 显示全部楼层
太麻烦了,有无直接支持esxi的ups?
 楼主| 发表于 2016-1-26 22:32 | 显示全部楼层
newshadow 发表于 2016-1-26 20:18
太麻烦了,有无直接支持esxi的ups?

esxi本来就是企业级的虚拟机解决方案,兼容esxi的设备基本也都是企业级的
能用起来都已经是曲线救国了
 楼主| 发表于 2016-1-26 22:37 | 显示全部楼层
mrco 发表于 2016-1-26 17:56
你可以ping 30个数据包,网线松动一下不碍事。

可以写个shell脚本增强一下逻辑,连续ping N次 每次失败就 ...

想法真的不错,粗暴好用。
细节还需要完善,比如crontab最短的间隔是60s,判断的业务逻辑需要细化一下,ups电池容量能支持几次判断循环?30次估计不行,一般ups是5分钟不回电就开始关机了。
发表于 2016-2-16 14:56 | 显示全部楼层
问下楼主用的BX650-CH感受咋样,平时有噪音么?
 楼主| 发表于 2016-2-16 15:25 | 显示全部楼层
daxingplay 发表于 2016-2-16 14:56
问下楼主用的BX650-CH感受咋样,平时有噪音么?

感受蛮好,已经遗忘它的存在了
发表于 2016-2-16 21:59 来自手机 | 显示全部楼层
bx650能支持2012r2自动关机嘛?
 楼主| 发表于 2016-2-16 23:39 | 显示全部楼层
blitz 发表于 2016-2-16 21:59
bx650能支持2012r2自动关机嘛?

有自带软件可以支持
发表于 2016-2-17 12:49 | 显示全部楼层
Smart UPS价格不便宜,再加一块网络管理卡,差不多就快8-9千了,软件倒是有的,其实就是在ESX上面跑台虚拟机,你可以写一段代码,设定一旦停电,直接几分钟后引导关机。
发表于 2016-11-25 20:25 | 显示全部楼层
不错的方法
发表于 2017-5-16 00:55 | 显示全部楼层
3q br1500g -cn成功搞定esxi自动关机
发表于 2017-5-16 11:53 | 显示全部楼层
关键是我想让utorrent能在收到ups停电信号时候把任务全部暂停,然后退出ut再关闭windows虚拟机,能办到吗?
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2021-10-23 02:14 , Processed in 0.011905 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2007-2021 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表