zpool parallel disk spinup daemon

geppi

n00b
Joined
Aug 25, 2012
Messages
12
Disk power management in Solaris is a nice feature for home servers to spare energy and cost but it is almost impractical for larger zpools. The problem is that the disks of a sleeping pool are powered up sequentially instead of all in parallel. While this staggered spinup of a zpool could be a most welcome behavior for systems with a small PSU it is annoying if you have sufficient peak power on hand.

As an example: a zpool with 8 x 3TB WD Red disks takes over 55 seconds to spinup.

I have written a small daemon that monitors device power up and initiates the parallel spinup of all disks belonging to a zpool if it detects the wake up of one member disk.
It is written in Perl and the monitoring is performed via dtrace and doesn’t have any measurable performance impact.

The spinup of the afore mentioned zpool takes under 7 seconds now.

The daemon is available at:

https://github.com/geppi/zpool_spinup

The prerequisites are:

1. A PSU that is powerful enough to support the parallel spinup of all disks in your biggest zpool.
2. The sdparm utility (available at http://sg.danny.cz/sg/sdparm.html ).
3. The ability to read the installation instructions and type on the command line.
 
Back
Top