PVE/Debian11设置开机自启动项


PVE/Debian11设置开机自启动项与开启WOL网络唤醒功能
问题
在PVE中想要设置WOL网络唤醒,这其中遇到了debian开机自启动项一直不生效的问题,根据实验怀疑是sh兼容性不好的问题,最后通过使用bash执行解决问题。

Proxmox VE 7.3 基于 Debian 11.5 “Bullseye” 构建,但采用了较新的内核版本:Linux kernel 5.15/5.19,还将重要的软件进行了升级:QEMU 7.1, LXC 5.0.0 和 ZFS 2.1.6。

只看开机启动项的直接看后面一部分即可!!!

WOL网络唤醒部分
第一步 硬件方面
打开BIOS里面的WOL网络唤醒功能,且PVE的MAC地址必须为真实MAC否则无法唤醒。

第二步 安装 ethtool 工具
打开PVE的shell界面,输入命令

apt-get install ethtool

第三步 查看网卡信息
这里需要自行判断一下哪个网卡是真实网卡,可以在PVE的网络里面看到具体是哪个设备。

ethtool enp1s0

命令输出内容

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

Settings for enp1s0:
    Supported ports: [ TP     MII ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                         100baseT/Half 100baseT/Full
                                         1000baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes

第四步 开启WOL网络唤醒
通过ethtool开启WOL网络唤醒,其实就是把wake-on的值替换为了g。但是该值每次重启后会变成d,所以引出了这篇文章开头的问题。设置启动项

ethtool -s enp3s0 wol g

开机启动项部分
第一步 编辑脚本
编辑 /etc/rc.local文件,写入开机自动执行开启远程唤醒的脚本。

nano /etc/rc.local
#!/bin/bash
# 
# rc.local 
#
# 这里因为我的ethtool安装在sbin下面所以先cd一下 同样这里也是具体启动命令的插入点 替换exit 0之前的即可
cd /sbin
./ethtool -s enp1s0 wol g 

exit 0     

nano插入完成后键盘输入CTRL+X退出命令行,输入Y保存后,按回车即可保存文件。

第二步 赋予权限

sudo chmod +x /etc/rc.local

第三步 重启检查启动项是否生效

reboot
ethtool enp1s0

此时若值变成g则表示开机启动时打开WOL功能

    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: g
    Link detected: yes

声明:小小博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - PVE/Debian11设置开机自启动项


Carpe Diem and Do what I like