Date: April 12, 2002
Updated April 2006 to reflect current disk capabilities
Audience: All
A Storage Area Network, or SAN, is a group of disk drives that
can be shared by multiple servers. SAN's are often sold as a "black box" that you simply plug your servers into for storage. However, my experience is that this can lead to I/O bottlenecks. Under the covers, a SAN is still a disk drive, and you have to provide sufficient number of physical disks to handle the I/O load.Here's a simple methodology (taught by Dan Braden, IBM Advanced Technical Support) to estimate the minimum number of disk drives to support a given I/O load. The methodology is based on current disk technology which supports the following I/O loads. Note these capabilities are common to all disk drives, regardless of disk capacity.
IOPS (I/O's per Second, |
Data Transfer Rate (MB/sec) |
Minimum Number of Disk Drives to Support Workload |
|
Random I/O (10k RPM) | 125 | 0.5 | n = (%R + f (%W))(tps)/125 |
Random I/O (15k RPM) | 150 | 0.5+ | n = (%R + f (%W))(tps)/150 |
Sequential I/O | 2000 | 50 | n = (MB/sec)/50 |
Where:
%R = the percentage of disk I/O's that are reads.
%W= the percentage of disk I/O's that are writes.
f = 1 for ordinary disks, 2 for mirrored disks, 4 for Raid 5 disks.
Assumes data is distributed evenly across all disk drives.
Using the above formula, here's the minimum number of disks required to support a random I/O workload, at 1000 IOPS, 80% read, 20% write on 10K RPM disk drives.
Ordinary disks: (0.8 + 1*0.2)(1000 IOPS)/(125 IOPS/disk) = 8
Mirrored disks: (0.8 + 2*0.2)(1000 IOPS)/(125 IOPS/disk) = 10
Raid 5 disks: (0.8 + 4*0.2)(1000 IOPS)/(125 IOPS/disk)
= 13
Note that Raid 5 requires more disks than mirroring to achieve the same I/O
rate in this example!
Next week's tip will show how to estimate IOPS and the read/write percentages
using the "iostat" command.
Bruce Spencer,
baspence@us.ibm.com