Voor de Linksys NSLU2 met SlugOS is uitgebreid beschreven hoe de harddisk in spindown te krijgen is. Dat artikel vind je hier op deze site: Tips om de harddisk in spindown te laten gaan. Maar dit artikel is speciaal voor SlugOS geschreven. Voor Ubuntu zijn er een aantal verschillen, deze zijn hier beschreven.
MARK in /var/log/messages
In /var/log/messages wordt elke 30 minuten een —- MARK —- geschreven, dit kan uitgeschakeld worden door een optie mee te geven voor de syslogd. Dit is -m 0. Deze optie moet in de volgende file worden gezet:
$ vi /etc/default/syslogd
SYSLOGD="-m 0"
$ /etc/init.d/sysklogd restart
Enable caching met de optie noatime in /etc/fstab
Bepaalde files worden vaak gelezen, waardoor de disk geactiveerd wordt. Door de optie noatime in /etc/fstab te zetten, gebeurd dat niet meer. Dit omdat de access time per file en directory niet meer bijgehouden wordt.
$ vi /etc/fstab
# /dev/sda1
UUID=2e0e754e-7dc2-4c21-9101-b539b8a501a8 / ext3 relatime,errors=remount-ro,noatime 0 1
# /dev/sda3
UUID=a4a2e073-1315-4051-9811-6a1831d25327 /home ext3 relatime,noatime 0 2
Zoeken naar een gewijzigde file
Om te zoeken naar services die continu files wijzigen op de harddisk (zoals samba), is het volgende script handig om te kijken welke files in de afgelopen 20 minuten gewijzigd zijn. Deze files kunnen eventueel naar de ram-disk verplaatst worden, waardoor ze niet continu de harddisk geactiveerd houden.
Hiervoor kan het onderstaande script gebruikt worden. Maak een script ff_changed in de /usr/local/sbin directory:
$ vi /usr/local/sbin/ff_changed
#!/bin/sh
echo Search whole filesystem for changed files in the last $1 minutes
find /bin /dev /etc /home /initrd /lib /media /mnt /opt /root /sbin /srv /usr /var -cmin -$1
$ chmod x /usr/local/sbin/ff_changed
Disable alle cronjobs
We hebben de cronjobs wel nodig, maar we gaan het iets specifieker instellen. Voor nu even alles uitschakelen, zodat we zien dat de disk wel een keer in spindown gaat. Zet in de crontab voor alle jobs een #, zie hieronder:
$ vi /etc/crontab
# 17 * * * * root cd / && run-parts --report /etc/cron.hourly
# 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
# 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
# 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Samba browse.dat op ram-disk zetten
De samba service houdt een bestand /var/cache/samba/browse.dat bij. Dit wordt ongeveer elke 5 minuten bijgewerkt, zodat de harddisk niet in spin down gaat. Als de samba service geen aktief netwerk meer ziet, dan wordt het bestand niet meer bijgewerkt, en gaat de haddisk in spin down. Als de NSLU2 wel met samba in een aktief netwerk blijft, weet ik tot nu toe niet hoe ik dit moet oplossen.
Alleen browse.dat in /var/volatile zetten lukt niet. Een grove methode is de complete /var/lock directory naar /var/volatile verplaatsen, met de volgende commando’s:
$ cd /var/cache
$ mv samba samba.old
$ ln -s /var/lock samba
Installeren en instellen van hdparm
Modules als laptop-mode-tools, pm-utils en noflushd werkten niet om de drive in spindown te krijgen. Wat wel werkt is hdparm. Op de NSLU2 werkte dit commando niet, omdat de communicatie via USB loopt. Nu via SATA werkt dat prima. Open de /etc/hdparm.conf file:
$ vi /etc/hdparm.conf
/dev/sda {
#spindown_time = 60 # 5 min
#spindown_time = 240 # 20 min
#spindown_time = 250 # 30 min
#spindown_time = 280 # 1 hour
spindown_time = 340 # 2 hours
}
Om te checken of de harddisk in standby is, kun je checken met:
$ hdparm -C /dev/sda
/dev/sda:
drive state is: standby
Zie ook: manpages.ubuntu.com/manpages/hardy/en/man8/hdparm.8.html
Harddisk levensduur
Let op! Het te vaak uitschakelen van de harddisk is niet goed voor de levensduur. Ook is het niet handig om vaak te wachten op het opspinnen van de harddisk. Voor het gebruik thuis kies ik 30 min, voor intensiever zakelijk gebruik kies ik voor een spindown_time van 2 uur, zodat de harddisk niet te vaak aan/uit geschakeld wordt.
Een harddisk kan volgens fabrikanten zo’n 200.000 keer in zijn leven aangeschakeld worden. Met een levensduur van 5 jaar is dat 40.000 keer per jaar en 109 keer per dag. Nu zal dat wat meer zijn, omdat in de weekenden en feestdagen de server niet gebruikt wordt. Als de harddisk na 10 min uitgeschakeld wordt, dan is dat 18 uur per dag. Dat valt mee, maar dit is wel de grens. Het is beter om wat minder vaak te schakelen.