Mijn homeserver hoeft op zich niet dag en nacht aan te staan. Op dit moment is het voldoende om hem aan te schakelen als ik iets nodig heb. Als de server door meerdere mensen gebruikt gaat worden, is het handiger om hem overdag aan te laten staan. Om de server aan en uit te schakelen heb ik de volgende mogelijkheden:

  • Aanschakelen via het Wake-On-LAN commando (via de FritzBox of de NSLU2)
  • Aanschakelen via de interne realtime clock in de BIOS.
  • Uitschakelen/Sleep: via SSH met halt of /etc/acpi/sleep.sh sleep commando
  • Uitschakelen/Sleep: op afstand via de web interface van WebMin
  • Uitschakelen/Sleep: via crontab De mogelijkheden zijn hieronder beschreven.

    Configuratie op de NSLU2 (WOL client)

Login als root op de NSLU2 en doe het volgende:

$ ipkg install wakelan

Configuratie om Ubuntu Server te wekken via WOL

Op de Ubuntu server met Point Of View Atom 330 in de BIOS het volgende ingesteld:

  • Power On By PME#: Enabled (PME=Power Management Event is dus WOL=Wake On LAN)

Login op de Ubuntu Server en doe het volgende om als root in te loggen:

$ sudo su

Maak nu het wakeonlanconfig script aan:

$ cd /etc/init.d/  

$ vi wakeonlanconfig
#!/bin/bash  
ethtool -s eth0 wol g  
exit

Maak dit script executeerbaar en zorg dat het automatisch opgestart wordt:

$ chmod a+x wakeonlanconfig  
$ update-rc.d -f wakeonlanconfig defaults

Start het script handmatig om te testen:

$ ./wakeonlanconfig

Start ifconfig om het MAC adres te verkrijgen:

$ ifconfig | grep HWaddr

Kopieer het MAC adres naar de commandline van de NSLU2 om te testen en sluit de Ubuntu Server af:

$ halt

De Ubuntu Server opstarten met WOL

Met het volgende commando kan de Ubuntu Server opgestart worden vanaf de NSLU2 (waarbij het getal achter de -m het MAC adres is van de Ubuntu Server):

$ wakelan -m 00:27:18:64:58:b2

De server zou nu moeten opstarten.

Nu kunnen we een commando hiervoor maken met:

$ vi /usr/local/sbin/wakeup_ubuntu_server
wakelan -m 00:27:18:64:58:b2

$ chmod +x /usr/local/sbin/wakeup_ubuntu_server

Dit commando kan nu ook bijvoorbeeld aangeroepen worden door de Asterisk server om telefonisch de server aan te schakelen.

Nog wat extra ideeen voor in Ubuntu

Aanschakelen op een bepaalde tijd

In de BIOS kan ingesteld worden hoe laat de RTC de Ubuntu Server moet opstarten

Uitschakelen op een bepaalde tijd

Met het volgende commando kan de server in sleep gezet worden:

$ /etc/acpi/sleep.sh sleep

Dit kan in de crontab worden gezet om de server ’s-nachts uit te laten gaan:

$ vi /etc/crontab
00 23 * * * root /etc/acpi/sleep.sh sleep

De server kan ook echt uitgeschakeld worden met:

$ vi /etc/crontab
00 23 * * * root halt