一,什么情况下需要远程开机?
如果我们的服务器没有部署在本地(实际上通常都是这样的,我们会把服务器托管到IDC机房),
而且服务器在机房中不止一台,其中一台被关闭时,则我们可以远程连接一台没有关机的服务器上,
然后进行远程开机.
二,远程开机需要的软件
它需要wakeonlan这个软件,
从何处得到它?
它的官方站是:http://sourceforge.net/projects/wake-on-lan/
如果使用rpm包可以从这里下载:http://dag.wieers.com/rpm/packages/wol/
如果使用fedora,则可以用yum命令安装:
yum install wol
三,如何进行远程开机?
先不要急着去关闭你的linux服务器,你首先要确定它是否支持远程开机?
第一步:登录到目标服务器,用ethtool这个命令打印出网卡的信息
[root@localhost lhd]# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
可以看到,ethtool把网卡的信息全部列出,我们只关心其中的这两项:
Supports Wake-on: pumbg
Wake-on: d
如果 wake-on 一项值为 d,表示禁用wake on lan
值为 g,表示启用 wake on lan
因为此机器禁用了 wake on lan,所以用下面的命令来启用它:
[root@localhost lhd]# ethtool -s eth0 wol g
再用 ethtool命令进行查看,会发现:
Wake-on: g
OK,目标机器的网卡已经支持了远程开机,下面我们得到它的本地MAC地址:
[root@localhost lhd]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:03:0D:1D:1F:97
inet addr:192.168.6.101 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:34470 errors:0 dropped:0 overruns:0 frame:0
TX packets:35377 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31559763 (30.0 MiB) TX bytes:5340032 (5.0 MiB)
Interrupt:5 Base address:0x2c00
把HWaddr 00:03:0D:1D:1F:97这一项记录下来即可
现在你可以试着把目标机器关闭
第二步:开机
现在我们需要登录到已安装了wake on lan软件的机器上,在上面执行开机命令:
wol 00:03:0D:1D:1F:97
稍后就会发现,目标机器已开机可以登录了
四,多学一点:
1,ethtool的 -s 参数是修改指定以太网设备的设置
2,wol的取值默认是d,含义是disable
修改后的值为g,含义是Wake on MagicPacket(tm)
它还有几个取值,分别是:
p Wake on phy activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
如果有兴趣,大家可以通过 man ethtool查看
3,当机器重启后,eth0的设置又会回复到Wake-on: d 状态,
这个问题怎么解决?
两个办法:第一个,也是我们的惯性思维;
把/sbin/ethtool -s eth0 wol g 这条命令附加到/etc/rc.local这个文件中,
则下次开机后会自动执行
第二个: 编辑/etc/sysconfig/network-scripts/ifcfg-eth0
(eth0网卡的配置文件),添加上一行:
ETHTOOL_OPTS=”wol g”
4,网络唤醒的局限性:
它只能在局域网中应用,而不能通过互联网运行,为什么?
因为机器关闭后,完全是靠网卡唤醒机器,此时的机器是关闭的,没有操作系统运行,
也就谈不上支持tcp/ip协议,当然也就不能通过互联网运行了.
也就是说:如果我们在某个局域网中只有一台机器,就不能使用此功能了.
我们必须能登录到局域网中的一台机器上,在此机器上运行wake on lan 去唤醒目标机器
前提条件就是:目标机器和我们登录的机器在同一局域网中
5,还有一点:被远程开机的目标机器必须是插电的,没插电源的机器也能开机只有电影中才会出现主板(和网卡)支持WOL功能,有些机器还需要在BIOS中设置开启该功能;
主机在关闭状态时需要是插电的,即计算机的主板和网卡为通电状态(此时整个计算机的用电量很小),才能够监听到网络中对自己的“唤醒数据包”;
管理员需要记下被唤醒主机网卡的MAC地址(物理地址),这样才能够通过相应的方法唤醒该主机;
BIOS中power on by ring
这一项的功能是由“猫”接到网络信号控制电脑开机,也就由从网络上控制电脑启动来达到远程控制的目的
分享到:
相关推荐
linux开机自动启动es脚本,亲测有效
linux中mysql开机自动启动3种方法.docx
Linux磁盘挂载是比较常见的对linux系统管理的操作之一,需要耐心才能正确实现自动挂载,便于日后提高工作效率,和方便查看。 首先,为了需要,新添加一块磁盘到linux主机中,目的是让这个新添加的磁盘分区格式化并...
以openSUSE 11和10 sp2启动文件的设置为例,开机设置程序自动执行
要在Linux系统上安装Google Chrome浏览器并设置开机自动启动并打开默认指定页面,请按照以下步骤进行操作: 下载Google Chrome浏览器的安装包,你可以从Google的官方网站或者第三方下载站点上获取。 解压缩安装包并...
(linux)下开机自动运行脚本以及定时任务
mount/umount命令挂载及卸载指定的文件系统 挂载: mount [选项] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [挂载点] 取消挂载: umount [挂载点]
基于Qt的开机自启,适用于Linux 环境下的程序自启动,易于重用
arm-linux 通过修改启动项,开机直接启动自己开发的程序,而且不会启动系统携带的桌面环境。这个方法可以解决arm开发qt界面程序中花屏引起的程序无法正常显示的问题。
在这里和大家分享一下ARM Linux系统开机自动运行特定应用的设置方法。
linux下设置开机自动启动程序.doc
一般可以放在/etc/rc.d/rc.local文件中设置开机自动运行命令。文中介绍了在Bash和TCshell中的一些启动文件。
linux开机自动启动脚本方法,之类给出基本的 原理,具体的也可以在网上搜索一下。
Linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。本文介绍了让Linux系统的程序在开机时自动运行的方法。
linux服务器开机自动启动ngnix与tomcat服务
Linux下开机自动挂载NTFS分区为可写.docx
linux挂载新硬盘,开机自动挂载.
使用mdev来实现arm linux自动识别并挂载sd卡,添加对热插拔事件的响应,实现U盘和SD卡的自动挂载。
Linux系统自动不停重启并计数的shell脚本
linux设置Oracle开机自动启动.docx