今天发现个可以对linux服务器进行远程开机的软件-wakeonlan,软件可在
/projects/wake-on-lan/下载。通过wakeonlan,可以启动已关闭的linux服务器,这对一些没有ILO口等远程管理的服务器非常好用,有了它再也不用为了异常关闭的服务器跑一趟机房了。记录了一下使用的方法,如下:
一、开启服务器网卡硬件支持
我这边的测试用的是dell2950,开机后按CTRL+S进入网卡bootagent设置
//Pre-bootWakeOnLAN=Enable
二、确认/启用服务器远程开机
[root@localhost~]#ethtooleth0
Settingsforeth0:
---略---
SupportsWake-on:pumbag
Wake-on:d
---略---
其他信息不用关注,重要的是上面列出的两项:
SupportsWake-on:pumbag
pWakeonphyactivity
uWakeonunicastmessages
mWakeonmulticastmessages
bWakeonbroadcastmessages
aWakeonARP
gWakeonMagicPacket(tm)
Wake-on:d
wake-on项值默认为d,表示禁用wakeonlan。需要把wake-on的值设为g以启用wakeonlan
[root@localhost~]#ethtool-seth0wolg
需注意的是,当机器重启后,eth0的设置会返回默认的Wake-on:d状态,可通过下面的2个方法来解决这个问题:
(1)[root@localhost~]#echo"/sbin/ethtool-seth0wolg">>/etc/rc.local
(2)[root@localhost~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0
添加--ETHTOOL_OPTS="wolg"
三、记录好网卡的MAC地址
启用远程开机后将网卡的mac地址记录下来,待会需要用到
[root@localhost~]#ifconfig
eth0Linkencap:EthernetHWaddr00:15:17:2F:01:06
inetaddr:192.168.22.248Bcast:192.168.22.255Mask:255.255.255.0
inet6addr:fe80::215:17ff:fe2f:106/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:251errors:0dropped:0overruns:0frame:0
TXpackets:92errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:27599(26.9KiB)TXbytes:12111(11.8KiB)
Interrupt:16Memory:fc3e0000-fc400000
记录好MAC地址00:15:17:2F:01:06,关闭服务器并准备测试。
四、测试远程启动
安装好wol,从我上面提供的的下载地址中下载软件,我下的是windows版的-wol-0.5.1-win32.zip
下载后解压到了C盘。
C:\Users\Administrator>cd/
C:\>cdwol
C:\wol>dir
驱动器C中的卷没有标签。
卷的序列号是50B2-39FF
C:\wol的目录
/06/2110:25
/06/2110:25
2002/02/1320:31
2002/02/1320:29
2002/02/1320:29
2002/02/1320:29
0个文件0字节
6个目录12,446,007,296可用字节
C:\wol>cdbin
C:\wol\bin>wol.exe00:15:17:2F:01:06//启动服务器
Wakingup00:15:17:2F:01:06...
C:\wol\bin>
这样就完成对服务器的远程开机,需要注的是需远程开机的服务器和我们执行wol命令的机器必须在同一个局域网内。比如上面的测试,我的windows服务器和需远程开机的linux服务器的网段都是192.168.22.0/24。