linux连接ups实现自动关机,esxi 6.x 虚拟机连接ups 断电自动关机

本文介绍了如何在虚拟机中添加并配置USB UPS设备,通过安装相应软件设定断电后自动关机的时间,如10分钟。同时,详细阐述了如何设置VMware ESXi在检测到断电后,通过监测虚拟机网络状态来决定是否关机,以及如何使用shell脚本来实现这一自动化流程。此外,还提到了确保虚拟机在主板通电后自动启动的方法,以确保系统恢复电力后的无缝运行。
摘要由CSDN通过智能技术生成

Loading...

虚拟机添加usb设备,选择ups的usb,并在虚拟机中安装配套的ups软件,设置断电自动关机,比如10分钟。

如果主板支持通电开机,ups虚拟机还需要设置自动启动,时间和顺序自行掌控。

所有虚拟机尽量安装vmtools,调用系统的关机,而不是关闭电源。

系统-自动启动,配置安装了vmtools的虚拟机,停止操作设置为关机,等待信号检测:是。

```shell

#列出所有虚拟机

vim-cmd vmsvc/getallvms

#以下为参考 ups.sh 酌情修改

#正常关机

vim-cmd vmsvc/power.shutdown vmid

#关闭电源

vim-cmd vmsvc/power.off vmid

```

```shell

cd vmfs/volumes/datastore1

mkdir sh

vi ups.sh

```

ups.sh

10.10.10.13改为自己的虚拟机IP,sleep 改为合适的数值。

示例:断电10分钟后虚拟机关机,第一次ping虚拟机IP检测失败,5分钟后再次检测,如果再次检测失败,esxi关机。

```shell

#!/bin/sh

while

ping -c 1 10.10.10.13 > /dev/null

[ $? -eq 0 ];

do

echo 'AC Power OK !' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

sleep 60

done

echo 'AC Power maybe off, checking again after 5 minutes !' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

sleep 300

ping -c 1 10.10.10.13 > /dev/null

if [ $? -eq 0 ]

then

echo 'Checkagain, AC Power OK !' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

else

echo 'AC Power is already off, shut down Esxi Now!' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

vim-cmd vmsvc/power.shutdown 11

sleep 60

vim-cmd vmsvc/power.shutdown 10

sleep 60

vim-cmd vmsvc/power.shutdown 6

sleep 60

vim-cmd vmsvc/power.shutdown 3

sleep 60

vim-cmd vmsvc/power.off 2

sleep 60

poweroff

fi

```

```shell

vi monitor.sh

```

monitor.sh 守护ups.sh运行

```shell

vi monitor.sh

```

```shell

NUM=`ps -c | grep ups.sh | grep -v grep |wc -l`

echo ${NUM}

#

if [ "${NUM}" -lt "1" ];then

/vmfs/volumes/datastore1/sh/ups.sh &

echo 'monitor start' >> /vmfs/volumes/datastore1/sh/ups.log;date >> /vmfs/volumes/datastore1/sh/ups.log

fi

exit 0

```

```shell

#sh权限

chmod 777 monitor.sh

chmod 777 ups.sh

```

```shell

#esxi重启后引导会自动恢复初始状态 需要添加一个每次启动自动写引导

vi /etc/rc.local.d/local.sh

#在exit之前添加以下cron代码 3分钟执行一次

/bin/kill $(cat /var/run/crond.pid)

/bin/echo '*/3 * * * * /vmfs/volumes/datastore1/sh/monitor.sh' >> /var/spool/cron/crontabs/root

/usr/lib/vmware/busybox/bin/busybox crond

#保存

/sbin/auto-backup.sh

```

最后重新引导esxi即可,日志文件保存在/datastore1/ups.log。

最后修改:2021 年 01 月 06 日 04 : 48 PM

© 允许规范转载

赞赏

如果觉得我的文章对你有用,请随意赞赏

×Close

赞赏作者

扫一扫支付

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

支付宝支付

微信支付

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值