一、WOL网络唤醒部分
1、硬件方面
开机进入主板BIOS界面,在Power Management或Advanced中找到Wake on/from LAN将其设置为Enabled(考虑不同主板的BIOS设置不同)
2、安装ethtool工具
打开PVE的Shell界面,输入命令:
apt-get install -y ethtool
注:已安装的可跳过此步骤
3、查看网卡是否支持网络唤醒
输入命令找到自己的真实网卡
ip a
然后再输入以下命令,查看输出结果是否为:pumbg
Supports Wake-on参考值:pumbg表示为支持WOL,d表示为禁用或不支持
ethtool 网卡名称 | grep "Supports Wake-on" | awk '{print $3}'
4、开启WOL网络唤醒
通过ethtool工具开启WOL网络唤醒,输入以下命令:
ethtool -s 网卡名称 wol g
然后再输入以下命令查看Wake-on的值是否为:g
注:该值在每次重启后会恢复成禁用(d)状态
ethtool 网卡名称 | grep "Wake-on"
二、开机自启动部分
1、编辑开机自启动脚本
编辑 /etc/rc.local 文件,写入开机自动执行开启WOL远程唤醒的脚本。
nano /etc/rc.local
#!/bin/sh
ethtool -s 网卡名称 wol g
exit 0
nano编辑完成后依次按键盘ctrl+s保存,ctrl+x退出编辑器。
注:rc.local已存在内容时,只需将开机脚本放在exit 0之前就行
2、赋予可执行权限
此步骤不可省略,否则脚本无法执行。
注:已执行的可跳过此步骤
chmod +x /etc/rc.local
3、启用开机自启动脚本
此步骤不可省略,否则脚本无法执行。
注:已执行的可跳过此步骤
systemctl start rc-local.service
4、重启系统检查自启项是否生效
重启系统
reboot
验证
ethtool 网卡名称 | grep "Wake-on"
5、自定义脚本
考虑到后期可能会对硬件做升级,比如加网卡或者显卡时,网卡名称也会有所发生变化,于是写了个脚本自动获取网卡名称并开启WOL远程唤醒,然后将脚本加入到开机自启动项。
nano /etc/rc.local.d/wake-on.sh
#!/bin/sh
#################### 必填 #######################
# 网卡MAC地址
mac=""
################################################
for dev_name in $(ip link show | grep ^[0-9]\\+: | awk -F ' ' '{print $2}'); do
# 去掉后缀冒号
dev_name=${dev_name%:}
# 去掉子网卡后缀
dev_name=${dev_name%@*}
if [ $(echo ${dev_name} | grep -c -E "eth|en") -gt 0 ]; then
if [ $(ip link show ${dev_name} | grep -c ${mac}) -gt 0 ]; then
ethtool -s ${dev_name} wol g
break
fi
fi
done
将脚本加入开机自启动项
nano /etc/rc.local
#!/bin/sh
sh /etc/rc.local.d/wake-on.sh
exit 0
评论区