之前在自己家里放置的服务器,由于这两天电网在凌晨停电检修,导致停服了两次。可能是主板的电源管理没有配置好,送电后,机器并不能主动启动。今天过去部署了一个树莓派,来实现局域网下的机器唤醒功能,本来还想顺带检查下BIOS的,可惜忘带 VGA 线了。
局域网唤醒功能的前提:
- 主板支持,现在的主板基本都支持,所以基本不用担心,很旧的主板好像是2000年左右的,还是需要插网卡(PCI2.1标准)需要3针WOL线连接主板;
- 关机时候为主板通电(600mA以上电流),把电源切断是不行的,网卡带电才可以;
- 非正常关机可能会唤醒失败,所以里如果断电导致关机的话可能需要手工开启机器;
- 被唤醒的电脑必须连接网络,或者路由器,并且有一台手机或者电脑可以发送唤醒包;
实现也很简单,树莓派上安装 etherwake 即可。
然后写了一个脚本放到 crontab 里每分钟执行一次,检测服务器是否存活,如果不存活,就执行远程唤醒。
代码如下:
r=`ping 192.168.31.11 -c 1 | grep ttl | awk '{print $6}'`
if [ -z $r ]; then
echo "offline"
/usr/sbin/etherwake a4:bf:01:13:2d:11
fi
目前配置完,还没有测试异常断电是否能正确唤醒。等下次停电的时候,再看吧。
下次过去顺带把主板电源管理也设置下,这才是本质解决方案。