Wake On LAN: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
 
(Server im stromsparenden Betrieb)
Zeile 1: Zeile 1:
== Server im stromsparenden Betrieb ==
+
== Einleitung ==
  
 
Hat man ein en Server (z.B. Fileserver) der rund um die Uhr läuft aber tatsächlich nur wenige Stunden benötigt wird, kann man seine Lebenserwartung steigern und Strom sparen.<br>
 
Hat man ein en Server (z.B. Fileserver) der rund um die Uhr läuft aber tatsächlich nur wenige Stunden benötigt wird, kann man seine Lebenserwartung steigern und Strom sparen.<br>

Version vom 16. Juli 2007, 07:47 Uhr

Einleitung

Hat man ein en Server (z.B. Fileserver) der rund um die Uhr läuft aber tatsächlich nur wenige Stunden benötigt wird, kann man seine Lebenserwartung steigern und Strom sparen.
Im folgendem Howto wird beschrieben wie ein Server automatisch um 23:59 Uhr ausgeschaltet und durch einen Client wieder aktiviert wird.

Vorbereitung Server

Die Einstellungen sind durch die unterschiedlichen BIOSe leider nicht leicht. Es muss auf jeden Fall eingestellt werden das der PC durch die Netzkarte aktiviert werden kann.
Bei ASROCK muss man „PCI Devices Power On“ auf „Enable“ setzen. Das war es aber auch schon.
Welche Einstellung für andere BIOS-Varianten gelten muss durch probieren in Erfahrung gebracht werden.
Unter „YAST“ - „System“ - „Konfiguration des Bootloaders“ - wählt man den Standardeintrag (meist der erste), geht auf „Bearbeiten“ und ergänzt die Zeile „Optional kernel command line parameter“ um „acpi=force“.
Ist dieser Eintrag vorhanden, bitte nur entsprechend ändern.

Nun muss auf dem Server noch „ethtool“ installiert werden. Auch hier hilft „Yast“.

Folgendes kommt zum großen Teil von hier: http://www.brueck-computer.de/index2.php?modul=1404&link=1

Test der korrekten Konfiguration:
Als "root" in der Console "ifconfig" ausführen.
Der erste Eintrag verrät uns die Bezeichnung der Netzkarte (in meinem Fall „eth0“) und die „Hardware Adresse (MAC) in Form von xx:xx:xx:xx:xx:xx.
Auch hier können je nach Board und Netzwerkkarte Unterschiede in der Bezeichnung sein.
Nun folgt in der Console „ethtool eth0“. Als Ergebnis sollte sowas kommen:

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: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes

Unter „Supports Wake-on“ finden wir was die Netzwerkkarte kann und unter „Wake-on“ worauf sie z.Z. reagiert.
In diesem Fall auf nichts. „d“ steht für „Deaktiviert“.

Folgende Werte sind möglich:

p  Wake on physikalischer Aktivität
u  Wake on Unicast-Nachricht
m  Wake on Multicast-Nachricht
b  Wake on Broadcast-Nachricht
a  Wake on ARP
g  Wake on MagicPacket(tm)
s  Aktivere SecureOn(tm) Passwort frür MagicPacket(tm)
d  Deaktiviert (wake on nichts). Diese Option löscht alle vorherigen Optionen


Um den Server vom Client aus zu aktivieren benötigen wir unter „Wake-on“ mindestens ein „g“.
Dazu folgenden Befehl eingeben:

"ethtool -s eth0 wol g"

Danach den Server einmal neu starten und anschließend wieder als „root“ „ethtool eth0“ aufrufen.
Steht da nun immer noch ein „g“ hinter „Wake-on“ ist die Konfiguration korrekt.
Vermutlich steht da aber ein „d“ und die Karte wurde wieder deaktiviert.

Um zu erreichen das die Karte bei jedem Start neu aktiviert wird, kann folgendes Script verwendet werden.

 ### BEGIN INIT INFO
 # Provides: named
 # Required-Start: $network
 # Required-Stop:
 # Default-Start: 3 5
 # Default-Stop:
 # Description: WOL Karteneinstellung
 ### END INIT INFO

/sbin/ifconfig eth0 up
/usr/sbin/ethtool -s eth0 wol pg
/usr/sbin/ethtool eth0

Mehr Informationen zu diesem thema http://www.linux-club.de/faq/Runlevel_scripte_-_Scripts_selbst_erstellen.

Die Funktion nochmals mit „reboot“ und „ethtool eth0“ testen.

Linux Client

Über „Yast“ muss „wol“ bzw. „WorkOnLan“ oder was gleichwertiges installiert werden.
Dieses Programm muss in der Lage sein der Netzkarte ein „Wake on MagicPacket(tm)“ zu senden.

Zum testen kann der Server nun mit z.B. "init 0" runtergefahren und dann (z.B. beim WOL) in der Console ein „wol xx:xx:xx:xx:xx:xx“ (MAC) wieder aktiviert werden.

Damit der Server aber auch dann gestartet wird wenn irgendein Linux-Client im Netz startet wird wieder ein Script benötigen:

 ### BEGIN INIT INFO
 # Provides: named
 # Required-Start: $network
 # Required-Stop:
 # Default-Start: 3 5
 # Default-Stop:
 # Description: Erweckt den Server aus dem Schlaf
 ### END INIT INFO

/usr/bin/wol xx:xx:xx:xx:xx:xx

Beim testen bitte beachten das erst der Client und dann der Server runter gefahren wird. Sonst wird der Server durch den runter fahrenden Client gestartet.

Windows Client

http://www.gammadyne.com/cmdline.htm
http://www.depicus.com/wake-on-lan/

Server ausschalten

Dazu bedarf es den Befehl „crontab -e“ und Kenntnisse im Gebrauch vom Editor „VI“ (x, i, :wq sollten aber reichen).
Auch hier wieder ein Script erstellt (muss aber nicht sein, der Befehl kann auch direkt in die Crontab eingetragen werden).
Diesmal aber nur:

 #!/bin/sh
 /sbin/shutdown -h now

Der Beispieleintrag für die Crontab „59 23 * * * /pfad/zum/script/script“ fährt den Rechner um 23:59 runter.

Wenn der Server trotzdem nicht endgültig runterfährt, evtl. alle Mountbefehle (Netz) in der fstab auf "noauto" setzen.

Weiterführende Themen und Links

http://www.fibel.org/linux/lfo-0.6.0/node322.html

In Zusammenarbeit: roemi und framp