Nov 27, 2012

Raspbery Pi Time Capsule HDD managing power saving mode

I want to sugest power saving changes after installing and handling creation of Time Capsule for Time Machine for my home network (form my previous article). I like when it's quiet. And like when disks does not spin, when it's not necessary to do so. So if you usually backup once in some hours and main time (Night and a part of the day) you do not touch a Time Machine... You would probably want to slow down your disks for that time. Fortunately Linux does it very well. And support of it is encoded into Linux core (kernel). You just would need a UI for this possibilities and a bit of knowledge and luck ;)

Warning: Operations described farther may be potentially hazardous to your hardware.

So now after you are warned ;) let's continue. I guess I will not touch those hazardous functions, but you may, typing wrong letters to this command in Linux shell... So be careful. Better read manuals for farther commands and so on...

Anyway what we need is a UI. And we have it in form of nice utility called hdparm. It is not included in current Raspbian distribution (and it should not be perhaps) so you would probably need to install it by yourself. In fact you can find a package with it. But I'd recommend installing from latest version. It is http://hdparm.sourceforge.net/ situated. You can download it there. Using wget, for e.g. So move on to downloading and unpacking it. If you have a default Raspbian kernel, or did not screw up something useful while configuring and compiling your on one... You would probably simply enter a directory and type something like this:
pi@raspberrypi ~ $ wget http://switch.dl.sourceforge.net/project/hdparm/hdparm/hdparm-9.43.tar.gz
pi@raspberrypi ~ $ tar -zxvf hdparm-9.43.tar.gz
pi@raspberrypi ~ $ cd hdparm-9.43
pi@raspberrypi ~/hdparm-9.43 $ ./configure
pi@raspberrypi ~/hdparm-9.43 $ make
pi@raspberrypi ~/hdparm-9.43 $ sudo make install
pi@raspberrypi ~/hdparm-9.43 $ hdparm

hdparm - get/set hard disk parameters - version v9.43, by Mark Lord.

Usage:  hdparm  [options] [device ...]

Options:
...
Hurray! we have our desired utility. Reading through it's help you would probably find a useful for us paramether:  -S   Set standby (spindown) timeout
Here is our goal. I've set mine to 120 (10 minutes) by executing:
pi@raspberrypi ~ $ sudo hdparm -S 120 /dev/sda1

/dev/sda1:
 setting standby to 120 (10 minutes)
pi@raspberrypi ~ $
I have a WD "green" drive and will benefit from this. But you may harm your drive with often standbys and spinups. So choose wisely and read man hdparm for more ;).
Hope you would benefit from my finding. Please comment in either way.

UPD: to persist this upon boots see article:
http://garmoncheg.blogspot.com/2013/01/raspberry-pi-boot-applications-autorun.html

4 comments:

  1. changes are not persistant across boots. including how to restore changes upon boot would be helpfull.

    ReplyDelete
    Replies
    1. My previous article described this. In the part #7 to be exact. You should look at it.
      http://garmoncheg.blogspot.com/2012/11/time-capsule-for-25.html
      and there is a link to proper article about adding things to auto-launch on boot there. you must add this command to rc-d.
      However I have nothing to change this parameter and it is persistent for me ;)
      Maybe something changes it by itself... On boot.

      Delete
    2. Will definitely try to do it and report here in the article. Stay tuned.

      Delete
    3. Here is how you can persist it upon boots:
      http://garmoncheg.blogspot.com/2013/01/raspberry-pi-boot-applications-autorun.html

      Delete