Wake-on-LAN 简称WOL或WoL,中文多译为“网络唤醒”、“远端唤醒”技术。WOL 是一种技术同时也是该技术的规范标准,它的功效在于让已经进入休眠状态或关机状态的电脑,透过局域网路(多半为以太网路)的另外一端对其发令,使其从休眠状态唤醒、恢复成运做状态,或从关机状态转成开机状态。此外,与 WOL 相关的技术也包括远端下令关机、远端下令从新开机等相关的遥控机制。 shell
Wake-on-LAN功能须要有主板和网卡的支持,在主板BIOS中的网卡设置中必须有“Wake On LAN”设置(开启:On),而且相应网卡也得支持该功能。由于,在关闭计算机之后,其实网卡仍然通电的,这样你就能够经过发送一段Magic Packet给网卡,让网卡将计算机唤醒。
ubuntu
在Magic Packet内,每次都会先有连续6个"FF"(十六进制,换算成二进制即:11111111)的资料,即:FF FF FF FF FF FF,在连续6个"FF"后则开始带出MAC地址,有时还会带出4字节或6字节的密码,一旦经由网卡侦测、解读、研判(广播)Magic Packet的内容,内容中的MAC地址、密码若与电脑自身的地址、密码吻合,就会启动唤醒、开机的程序。 centos
试验环境仍是前面的cobbler环境,在cobbler server上唤醒两台客户机,一台是ubuntu12.04,一台是centos6.3,首先在两台机器上查看网卡是否支持wol,经过ethtool命令查看,例如: 服务器
root@ubuntu12:~# ethtool eth0 Settings for eth0: 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: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g Wake-on: d Link detected: yes若是wake-on一行值为d,表示禁用wol,值为g,表示启用wol,能够看到网卡默认是禁用wol的,咱们经过ethtool来改变:
ethtool -s eth0 wol g
注意:在每次经过wol唤醒机器后,网卡的wake-on又恢复成d。 网络
在cobbler server(ubuntu12.04)上安装wol脚本,用来唤醒客户机。
less
apt-get install wakeonlan若是宿主机是centos系统,则经过如下方法安装:
wget 'http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/wol-0.7.1-2.2.el5.rf.x86_64.rpm' rpm -ivh wol-0.7.1-2.2.el5.rf.x86_64.rpm
该命令在ubuntu上为wakeonlan,在centos上wol,其实程序就是一个perl脚本。wol是根据网卡的MAC来肯定唤醒哪台客户机,因此在试验唤醒功能前还须要记录客户机的相关MAC地址。 spa
在cobbler server上执行如下命令,唤醒客户端(客户机以前经过IPMI的power off已经关机) 操作系统
wakenlan -i 10.1.6.2 a4:ba:db:48:cd:ff
在另外一个窗口经过IPMI远程抓屏则会看到服务器被唤醒,入下图: code
参考:http://zh.wikipedia.org/wiki/%E7%B6%B2%E8%B7%AF%E5%96%9A%E9%86%92 orm