經過Wake-on-LAN喚醒服務器

    Wake-on-LAN 簡稱WOL或WoL,中文多譯爲「網絡喚醒」、「遠端喚醒」技術。WOL 是一種技術同時也是該技術的規範標準,它的功效在於讓已經進入休眠狀態或關機狀態的電腦,透過局域網路(多半爲以太網路)的另外一端對其發令,使其從休眠狀態喚醒、恢復成運做狀態,或從關機狀態轉成開機狀態。此外,與 WOL 相關的技術也包括遠端下令關機、遠端下令從新開機等相關的遙控機制。 shell

   Wake-on-LAN功能須要有主板和網卡的支持,在主板BIOS中的網卡設置中必須有「Wake On LAN」設置(開啓:On),而且相應網卡也得支持該功能。由於,在關閉計算機之後,其實網卡仍然通電的,這樣你就能夠經過發送一段Magic Packet給網卡,讓網卡將計算機喚醒。
ubuntu

   Magic Packet是一個廣播幀(frame),透過端口7或端口9進行發送,且能夠用無鏈接(Connectionless protocol)的通信協議(如UDP、IPX)來傳遞,不過通常而言可能是用UDP,緣由是Novell公司的Netware網絡操做系統的IPX協定已經不多使用。

在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

相關文章
相關標籤/搜索