Energieverwaltung - Server bei einem Ruhezustand aktivieren

9

Ich habe einen HP Proliant Microserver ohne Kopf, auf dem Ubuntu installiert ist. Diese Maschine hat Samba-Freigaben, auf denen Medien abgelegt werden, und normalerweise rdp oder ssh. Jetzt möchte ich, dass die Maschine in den Schlafmodus wechselt (der Zustand wird also vom RAM auf die Festplatte gespeichert), und es scheint, als sei sie nach einer Stunde Leerlauf ausgeschaltet.

Wenn versucht wird, über LAN auf die Samba-Freigabe zuzugreifen, möchte ich, dass sie aufwacht. Jetzt unterstützt mein Motherboard diese Funktion. Kann mir jemand die richtige Richtung weisen, um dies leicht zu erreichen?

Danke

    
KP65 17.05.2011, 11:06

5 Antworten

3

Die beste Anweisung, die ich im Internet gefunden habe, war das XBMC Wiki für WOL . Kurz gesagt (mehr Infos im Link):

  1. Sie müssen WOL auf Ihrem Motherboard aktivieren;
  2. Installieren Sie ethtool: sudo apt-get install ethtool ;
  3. Wake-on-LAN-Optionen festlegen: sudo ethtool -s eth0 wol g ;
  4. Aktivieren Sie diese Option beim Systemstart mit einem Init-Skript. Es gibt ein Init-Skript im Wiki-Link.

Nicht getestet; Informationen aus dem Wiki-Link

    
Rinzwind 17.05.2011 11:48
2

Ich entschied, ich wollte eine Lösung, um meinen Medienserver automatisch zu aktivieren, wenn auf diesen Zugriff zugegriffen wurde, der nicht von dd-wrt abhängig war.

Ich habe ein Himbeer-Pi, also habe ich es benutzt, weil es wenig Strom hat und es mir nichts ausmacht, es ständig eingeschaltet zu lassen. Natürlich kann es von jedem Linux-Rechner aus ausgeführt werden.

Die letzte Lösung, die ich für mich fand, war das Schreiben eines kleinen Bash-Skripts. Die Himbeer-pi-Abhängigkeiten sind etherwake und tcpdump. Beide sind nicht standardmäßig auf Rasbian installiert. Auch auf dem Server muss Wake On Lan aktiviert sein, wie in den anderen Beiträgen erwähnt.

sudo apt-get install etherwake
sudo apt-get install tcpdump

Das Wake-Skript lautet wie folgt:

nano ~/wol.sh

Dann:

#!/bin/bash

pingInterval=60 #time interval, in seconds, between checks that the server is still awake.
target=192.168.x.x  #WOL target ip address
targetMAC=00:11:22:33:44:55  #WOL target MAC

wake () {
    tcpdump -i eth0 -c 1 -p host $target
    etherwake $targetMAC
    #echo WOL sent to $target at $targetMAC
return
}

while sleep $pingInterval; do
varPing='ping -s 1 -c 2 $target > /dev/null; echo $?'
    if [ $varPing -eq 0 ]; then
        #echo ping success
    else
        #echo ping fail
        wake
    fi
done

Die Hauptidee ist, dass sie von meinem Himbeer-Pi ausgeführt wird, der den Server aufweckt, wenn er eine einzige Arp-Anforderung für den Server feststellt. Wenn der Server wach ist, wird er nicht auf eine arp-Anforderung warten, sondern ab und zu ein paar Pings senden, um sicherzustellen, dass er noch wach ist.

Ich habe die Datei wol.sh benannt und ausführbar gemacht. Dann legen Sie es in die Sudo Crontab, um @reboot als root zu starten. Dies ist für tcpdump, das erhöhten Zugriff auf eth0 und etherwake benötigt.

sudo chmod +x /home/pi/wol.sh
sudo crontab -e

füge dies unten hinzu

@reboot sh /home/pi/wol.sh > /dev/null
    
Travis Clark 22.09.2014 19:48
2

Neben dem Schlafmodus suchen Sie nach dem Ruhezustand, da Sie Ihren Status auf Ihrer Festplatte speichern und den Server vollständig herunterfahren möchten.

So wie viele darauf hingewiesen haben, ist WWE (Wake On Lan) das Answe. Es gibt viele Tutorials dazu, aber hauptsächlich müssen Sie Folgendes einrichten:

  • Ihr Router muss das magische Paket (wie das WOL-Paket aufgerufen wird) an Ihren Server umleiten, sodass Sie die Portweiterleitung durchführen müssen. Sie befindet sich normalerweise im LAN-Bereich. Die Standardports sind 7 und 9.
  • Ihr Motherboard muss am LAN-Port abhören, wenn es ausgeschaltet ist. Die meisten modernen MBs bieten diese Funktion, sind jedoch standardmäßig deaktiviert. Prüfen Sie! In meinem Fall heißt es "Power on by Ring on Lan".

Der Server benötigt nicht mehr Einstellungen als die geeignete Energieverwaltungskonfiguration, um das System nach einer Stunde Inaktivität herunterzufahren (dies kann über System > Administration > Energieverwaltung erfolgen).

Natürlich müssen Sie nach dem Senden des WOL-Pakets eine Weile warten, da Ihr System den Ruhezustand deaktivieren muss und dies einige Zeit in Anspruch nehmen kann.

Viel Glück

    
sergio.hs84 03.12.2012 11:16
0

Wenn WoL auf Ihrem Server aktiviert ist, damit er für einen bestimmten Protokollverkehr aktiviert wird, benötigen Sie etwa ein Skript auf Ihrem Router, das Paketregeln enthält und das WoL-Magiepaket senden kann, wenn es die Anforderung empfängt.

Webserver-Wakeup Beispiel

    
Cas 18.05.2011 19:08
0

Wake On Lan ist der Schlüssel, fast alle Karten unterstützen heute alle Modi (aber nicht in Linux :().

Die einfachste Lösung ist eine Karte, die über einen funktionierenden Linux-Treiber verfügt, der Wake-On-Lan-Modi unterstützt: pumbg in ethtool , Sie möchten so etwas wie den Unicast-Modus. Ihr Computer startet also, sobald Sie auf die Netzwerkadresse zugreifen. Noch schwieriger ist es jedoch, eine Liste von Karten zu erhalten, die von Linux unterstützt werden. Eine, die ich gefunden habe, ist der Intel Gigabit Netzwerkadapter Pro / 1000 GT PCI.

Eine Problemumgehung ist, wenn Sie eine Karte haben, die nicht alle Modi unterstützt: Fast alle Linux-Treiber unterstützen den g-Modus = > magisches Paket Sie müssen also Ihren Server explizit einschalten, bevor Sie ihn verwenden.

    
aha 17.03.2013 05:02