转自:http://yangbajing.blog.chinaunix.net/uid-10480699-id-5179860.html
今天发现个可以对linux服务器进行远程开机的软件-wakeonlan,软件可在
http://sourceforge.net/projects/wake-on-lan/下载。通过wakeonlan,可以启动已关闭的linux服务器,这对一些没有ILO口等远程管理的服务器非常好用,有了它再也不用为了异常关闭的服务器跑一趟机房了。记录了一下使用的方法,如下:
一、开启服务器网卡硬件支持
我这边的测试用的是dell2950,开机后按CTRL+S进入网卡boot agent设置
//Pre-boot Wake On LAN = Enable
二、 确认/启用服务器远程开机
[root@localhost ~]#ethtool eth0
Settings for eth0:
--- 略 ---
Supports Wake-on: pumbag
Wake-on: d
--- 略 ---
其他信息不用关注,重要的是上面列出的两项:
Supports Wake-on: pumbag
-
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(tm)
Wake-on: d
wake-on 项值默认为 d,表示禁用wake on lan。需要把wake-on的值设为g以启用 wake on lan
[root@localhost ~]#ethtool -s eth0 wol g
需注意的是,当机器重启后,eth0的设置会返回默认的Wake-on: d 状态,可通过下面的2个方法来解决这个问题:
(1) [root@localhost ~]#echo "/sbin/ethtool -s eth0 wol g" >>/etc/rc.local
(2) [root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加-- ETHTOOL_OPTS="wol g"
三、记录好网卡的MAC地址
启用远程开机后将网卡的mac地址记录下来,待会需要用到
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:17:2F:01:06
inet addr:192.168.22.248 Bcast:192.168.22.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fe2f:106/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:251 errors:0 dropped:0 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:27599 (26.9 KiB) TX bytes:12111 (11.8 KiB)
Interrupt:16 Memory:fc3e0000-fc400000
记录好MAC地址 00:15:17:2F:01:06 ,关闭服务器并准备测试。
四、 测试远程启动
安装好wol,从我上面提供的的下载地址中下载软件,我下的是windows版的-wol-0.5.1-win32.zip
下载后解压到了C盘。
C:UsersAdministrator>cd /
C:>cd wol
C:wol>dir
驱动器 C 中的卷没有标签。
卷的序列号是 50B2-39FF
C:wol 的目录
2012/06/21 10:25 <DIR> .
2012/06/21 10:25 <DIR> ..
2002/02/13 20:31 <DIR> bin
2002/02/13 20:29 <DIR> info
2002/02/13 20:29 <DIR> lib
2002/02/13 20:29 <DIR> share
0 个文件 0 字节
6 个目录 12,446,007,296 可用字节
C:wol>cd bin
C:wolin>wol.exe 00:15:17:2F:01:06 //启动服务器
Waking up 00:15:17:2F:01:06...
C:wolin>
这样就完成对服务器的远程开机,需要注的是需远程开机的服务器和我们执行wol命令的机器必须在同一个局域网内。比如上面的测试,我的windows服务器和需远程开机的linux服务器的网段都是192.168.22.0/24。