RHEL7在休眠和挂起时如何通过局域网唤醒

时间:2020-03-21 11:46:53  来源:igfitidea点击:

在CentOS 7或者Red Hat Enterprise Linux 7中,如何配置LAN唤醒(wol)以及如何挂起或者休眠系统。
在Gnome3中默认情况下禁用了休眠和睡眠,如何配置这些功能。

在Gnome3中挂起/休眠

红帽企业版7或者CentOS 7提供了Gnome3。
默认情况下,休眠和挂起按钮在Gnome3中处于禁用状态。
您可以通过安装其他软件包并遵循一些配置步骤,在gnome面板中将休眠和挂起按钮作为单独的项目启用。

首先检查是否安装了gnome-shell-browser-plugin软件包(可从RHEL7可选存储库中获得此软件包):

# rpm -qa | grep gnome-shell-browser-plugin

安装rpm:

# yum -y install gnome-shell-browser-plugin

您需要通过打开" gnome-tweak-tool"来安装其他扩展,选择" Shell扩展"选项,然后单击"获取更多扩展"。
这将在浏览器中打开URL https://extensions.gnome.org。
通过gcampax扩展名搜索"其他状态菜单",并将其安装在系统上。
当您单击Gnome3的gnome面板中的"用户名"时,这将提供挂起和休眠选项。

CentOS7和RedhatEL7中休眠和挂起的命令

当然,也可以从命令行挂起和休眠系统。

# systemctl hibernate

# systemctl suspend
使用-i选项忽略系统上的登录用户
# systemctl suspend -i
或者使用命令
# pm-suspend

局域网配置唤醒配置

现在我们知道了如何挂起和休眠主机,我们需要配置以太网NIC,以便它能够在lan(wol)上唤醒。
NIC可以具有不同的LAN唤醒状态,您可以使用ethtool命令查看和更改它们。
首先,让我们看一下NIC的当前状态和支持的状态:

# ethtool eth25s0
Settings for eth25s0:
Supported ports: [ TP ]
Supported link modes:   10baseT/Half 10baseT/Full 
100baseT/Half 100baseT/Full 
1000baseT/Full 
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
100baseT/Half 100baseT/Full 
1000baseT/Full 
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumg<-------supported states
Wake-on: d                  <-------current state(s)
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes

使用ethtool的手册页查找模式说明:

wol p|u|m|b|a|g|s|d...
Sets Wake-on-LAN options.  Not all devices support this.  
The argument to this option is a string of characters specifying which options to enable.
p   Wake on PHY activity
u   Wake on unicast messages
m   Wake on multicast messages
b   Wake on broadcast messages
a   Wake on ARP
g   Wake on MagicPacket™
s   Enable SecureOn™ password for MagicPacket™
d   Disable (wake on nothing).   This  option  clears  all
previous options.

如您所见,我们的NIC配置状态是不唤醒任何东西!

要将NIC配置为在MagicPacket上唤醒,请再次使用ethtool:

# ethtool -s eth25s0 wol g
# ethtool eth25s0
Settings for eth25s0:
Supported ports: [ TP ]
Supported link modes:   10baseT/Half 10baseT/Full 
100baseT/Half 100baseT/Full 
1000baseT/Full 
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full 
100baseT/Half 100baseT/Full 
1000baseT/Full 
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: pumg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes

如果始终要使用该选项,则需要通过在/etc/sysconfig/network-scripts /目录中的接口的接口配置文件中使用ETHTOOL_OPTS参数来永久设置该选项:

ETHTOOL_OPTS="-s ${DEVICE} wol g"

在BIOS中唤醒局域网

LAN唤醒是一项硬件功能,因此您需要确保将系统的BIOS配置为使用LAN唤醒(wol)。
有关更多详细信息,请参阅主板/BIOS的手册。