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