ESXI 连接普通 UPS 实现停电自动关机

2019-06-09 139 次阅读 0 条评论 0 人点赞

解决思路

ESXI 服务器接 UPS,路由器(IP地址:192.168.2.1)接市电,ESXI 服务器每隔 10 分钟 ping 一次路由器,当市电停电时,路由器断电,无法 ping 通,等待五分钟后再次ping 路由器二次确认,如果还是无法 ping 通,则关闭 ESXI 服务器

解决方法

开启 ESXI 的 SSH 服务,通过 SSH 在数据盘新建一个脚本文件,比如 /vmfs/volumes/esxi-os/UPS/shutdown.sh,内容如下:

#!/bin/sh
ping -c 1 192.168.2.1 > /dev/null
ret=$?
if [ $ret -eq 0 ]
    then
    echo 'AC Power OK!'
    else
    echo 'AC Power maybe off,checking again after 5 minutes!'
    sleep 300
    ping -c 1 192.168.2.1 > /dev/null
    ret=$?
    if [ $ret -eq 0 ]
        then
        echo 'AC Power OK!'
        else
        echo 'AC Power off, shutdown esxi-server!'
        /sbin/poweroff
    fi
fi

添加执行权限

chmod +x /vmfs/volumes/esxi-os/UPS/shutdown.sh

添加一个计划任务,每 10 分钟执行脚本,由于 ESXI 重启后会重置计划任务,所以需要通过修改 /etc/rc.local.d/local.sh 文件,实现每次开机时自动添加计划任务

编辑 /etc/rc.local.d/local.sh,在 exit 0 前面添加:

/bin/kill $(cat /var/run/crond.pid)
/bin/echo '*/10 * * * * /vmfs/volumes/esxi-os/UPS/shutdown.sh' >> /var/spool/cron/crontabs/root
/bin/crond
cjp_jx

这个人太懒什么东西都没留下

文章评论(0)