J'ai un HP Proliant Microserver sans tête avec Ubuntu installé. Cette machine a des partages samba sur elle servant de média et j'utilise habituellement rdp ou ssh. Maintenant, le problème est que je souhaite que la machine passe en mode veille (l’état est alors sauvegardé de la mémoire vive sur le disque dur) et il semblera qu’elle est éteinte après une heure de marche au ralenti.
S'il y a une tentative d'accès au partage de samba via le réseau local, j'aimerais que cela se réveille. Maintenant, ma carte mère prend en charge cette fonction. Quelqu'un peut-il m'indiquer la voie à suivre pour y parvenir facilement?
Merci
La meilleure instruction que j'ai trouvée sur le Web était la wiki XBMC pour WOL . En bref (plus d'infos dans le lien):
Sudo apt-get install ethtool
;Sudo ethtool -s eth0 wol g
;Non testé; info du lien wiki
J'ai décidé que je voulais une solution pour réveiller automatiquement mon serveur multimédia lors de l'accès, qui ne dépendait pas de dd-wrt.
J'ai un Raspberry Pi, je l'ai donc utilisé parce qu'il consomme très peu d'énergie et que cela ne me dérange pas de le garder allumé en permanence, bien sûr, il pourrait être exécuté à partir de n'importe quel ordinateur Linux.
La solution finale que j'ai trouvée est d'écrire un petit script bash. Les dépendances raspberry-pi sont etherwake et tcpdump. Les deux ne sont pas installés par défaut sur rasbian. Également sur le serveur, Wake On Lan doit être activé comme mentionné dans les autres publications.
Sudo apt-get install etherwake
Sudo apt-get install tcpdump
Le script de réveil est le suivant:
nano ~/wol.sh
Ensuite:
#!/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
L'idée principale est qu'il est exécuté à partir de mon framboise-pi, ce qui réveillera le serveur s'il remarque une seule requête arp pour le serveur. Si le serveur est réveillé, il ne sera pas à l'écoute d'une requête arp mais enverra quelques pings de temps en temps pour s'assurer qu'il est toujours réveillé.
J'ai nommé le fichier wol.sh et je l'ai rendu exécutable. Puis placez-le dans la crontab de Sudo pour lancer @reboot en tant que root. C'est pour tcpdump qui a besoin d'un accès élevé pour écouter eth0 et etherwake.
Sudo chmod +x /home/pi/wol.sh
Sudo crontab -e
ajoutez ceci au bas
@reboot sh /home/pi/wol.sh > /dev/null
En plus du mode veille, vous recherchez une mise en veille prolongée, car vous souhaitez enregistrer votre état sur votre disque dur et arrêter complètement le serveur.
Ainsi, comme beaucoup l'ont souligné, la réponse est WOL (Wake On Lan). Il existe de nombreux tutoriels à ce sujet, mais vous devez principalement configurer les éléments suivants:
Le serveur n'a pas besoin de plus de paramètres que la configuration de gestion de l'alimentation appropriée pour mettre le système hors tension après une heure d'inactivité (vous pouvez le faire depuis Système> Administration> Gestion de l'alimentation).
De toute évidence, vous devez attendre un certain temps après avoir envoyé le paquet WOL, car votre système doit être mis en veille prolongée et cela peut prendre quelques minutes.
Bonne chance
Wake On Lan est la clé, presque toutes les cartes supportent aujourd'hui tous les modes (mais pas sous linux :().
La solution la plus simple est une carte dont le pilote Linux fonctionne et prend en charge les modes Wake On Lan: pumbg
in ethtool
name__, vous voulez quelque chose comme le mode unicast. Votre ordinateur démarre donc dès que vous accédez à son adresse réseau. Mais il est encore plus difficile d’obtenir une liste des cartes prises en charge par Linux, comme celle que j’ai trouvée: Intel Gigabit Netzwerkadapter Pro/1000 GT PCI.
Une solution consiste à utiliser une carte qui ne prend pas en charge tous les modes: Presque tous les pilotes Linux prennent en charge le mode g => paquet magique. Vous devez donc explicitement allumer votre serveur avant de l’utiliser.
Avec WoL activé sur votre serveur pour le réveiller avec un trafic de protocole spécifique, vous auriez besoin de quelque chose comme un script exécuté sur votre routeur qui a des règles de paquet et peut envoyer le paquet magique WoL quand il reçoit la demande.
Réveil du serveur Web exemple