Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> linux系統下的遠程開機

linux系統下的遠程開機

日期:2017/2/7 14:28:30      編輯:Linux教程
 

一,什麼情況下需要遠程開機?

  如果我們的服務器沒有部署在本地(實際上通常都是這樣的,我們會把服務器托管到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,還有一點:被遠程開機的目標機器必須是插電的,沒插電源的機器也能開機只有電影中才會出現

  下面簡單介紹一下linux下的wakeonlan 的用法:

  假設遠程要喚醒的計算機IP:12.34.56.78,Mac地址:01:02:03:04:05:06

  $ wakeonlan -i 12.34.56.78 01:02:03:04:05:06

Copyright © Windows教程網 All Rights Reserved