【Nas】X-DOC:在Mac OS X 中使用 WOL 命令唤醒局域网内 PVE 主机

【Nas】X-DOC:在Mac OS X 中使用 WOL 命令唤醒局域网内 PVE 主机

  • 1、Mac OS X 端
  • 2、PVE 端(Debian Linux)

1、Mac OS X 端

(1)安装 wakeonlan 工具

brew install wakeonlan

(2)唤醒 PVE 命令

wakeonlan [PVE MAC]

2、PVE 端(Debian Linux)

(1)主机 BIOS 中开启LAN远程唤醒功能(略)。
(2)查看网卡信息
① 在PVE的Web管理界面, pve节点→网络,查看网络设备名称,如enp2s0。
② 在PVE的Web管理界面,pve节点→Shell,使用内置工具 ethtool 查看网卡信息

ethtool enp2s0
# 查看最后三行内容,如下:
	……
	Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes

说明:通过倒数第三行 supports wake-on 判断该网卡是否支持WOL唤醒,若值为pumbg则表示支持WOL。倒数第二行wake-on的参数值为d则表示WOL禁用状态,g则为开启,PVE默认值为d禁用。

(3)开启WOL

ethtool -s enp2s0 wol g

(4)获取网卡Mac地址

ethtool -P enp2s0

(5)问题处理

通过ethtool开启WOL网络唤醒,即把 wake-on 的值替换为g后,每次重启后该值又会变成d,会导致下次远程唤醒失败,故需要将该命令添加到启动项。

vi /etc/rc.local
# 如果存在该文件,则在 exit 0 前添加相应代码
# 如果不存在该文件,则直接复制以下代码
# 代码内容如下:

#!/bin/bash
# 
# rc.local 
#
# 替换exit 0之前的即可
/usr/sbin/ethtool -s enp2s0 wol g
 
exit 0

其中 /usr/sbin/ethtool 可以使用以下命令获取:

whereis ethtool
# 返回:ethtool: /usr/sbin/ethtool /usr/share/man/man8/ethtool.8.gz

然后为 /etc/rc.local 赋予可执行权限:

chmod +x /etc/rc.local

最后重启并检查 wake-on 的值:

reboot
ethtool enp2s0

备注说明:仅在本人2014款Mac mini上验证。

原创文章,转载请注明来源-X档案

上一篇:384.打乱数组-题目


下一篇:宝塔-修改docker加速镜像-daemon.json配置文件格式错误!