Skip to content
Thomas Geppert edited this page Apr 2, 2015 · 1 revision

Welcome to the zpool_spinup wiki!

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.

The zpool_spinup daemon 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 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.
Clone this wiki locally