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 doesnt 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.
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 doesnt 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.