Software RAID Considerations
Software mirroring and RAID 5 are used to increase the availability of a storage subsystem. This has become much less necessary with more intelligent storage solutions that implement hardware mirroring and RAID 5. While software RAID 5 is really not a good idea for performance, there is sometimes a need to use software mirroring.
Use Default Round-Robin Read Policy
Software mirroring uses additional bandwidth on writes but performs well on reads. By default, Solaris Volume Manager software implements a round-robin read policy, which balances I/O across both sides of the mirror. For a well-balanced I/O subsystem, round-robin works the best.
In addition to round-robin, Solaris Volume Manager software supports Geometric and First features. Geometric splits the logical addresses into ranges. Geometric is used to increase sequential read throughput in a well balanced environment. The First read policy only reads the first subdisk of the mirror. First is useful if the secondary device is slower than the primary.
Decrease Mirror Sync Time With a Large metasync I/O Size
Sync performance is dominated by the I/O size. By default, the metasync command uses a 32-Kbyte I/O size. This is not ideal. To increase this to 1 Mbyte, use metasync -r 2048 (number specified in 512-Kbyte blocks). This alters the I/O size and reduces the overall sync time.
To ensure large I/O is used during a system reboot, modify the /etc/rc2.d/S95svm.resync script by adding the -r 2048 option to the metasync command. Note that in order for this to work properly, maxphys must be at least 1 Mbyte (by default, maxphys is set to 256k so it is worth checking).