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.

Zie ook: ubuntudemon.wordpress.com/2007/10/28/laptop-hardrive-killer-bug-how-to-discover-whether-you-are-affected