Microsoft Exchange servers have traditionally been an application that is disk I/O operations (IOPS) intensive due to its non-sequential random I/O. To put it in English, it’s an application that read and writes your data randomly across your disk, resulting in higher IOPS than a sequential I/O, which read and writes your data in continuous blocks.
When Exchange 2010 was released, improvements over Microsoft Exchange 2007 reduced IOPS by up to 70%. It got even better with the release of Exchange Server 2013, which then saw a further reduction of up to 50% and optimization for multiple databases per volume.
The reduction in IOPS couldn’t come at a better time. As IT budgets get crunched and IT administrators are looking at ways to lessen deployment costs, these reductions allow admins to consider something that they would’ve never done before: deploy Exchange database on lower-cost SATA drives. Before Exchange 2010, just the thought of SATA drives would make any Exchange admin cringe, but now it’s a different a story. Microsoft redesigned Exchange databases to be more continuous by way of increasing the database page sizes; databases are a per-mailbox layout rather than per database layout, and the ESE engine was over hauled to be more efficient. The increase in efficiency can utilize the slower lower-cost disk, providing a cost savings as the need for larger mailboxes increases the need for more overall storage.
This article will not go into deep depths about disk performance, platters, spindles, rotational speed, and latency. I will, however, discuss what to consider before you purchase your shelf of 24 x 2TB SATA drives on which to run your Exchange databases.
How Many IOPS Do You Need?
Even though Microsoft has improved the database layout of Exchange databases to be more continuous, it is still a nonsequential I/O application that still has performance considerations. This said, you still need calculate your IOPS to determine the correct storage requirements. You can use the Exchange Storage Calculator to help determine your IOPS requirement.
Once you determine your IOPS, you can calculate how many disks you’ll need to meet those IOPS requirements. Keep in mind the average SATA drive will only give you about 75-100 IOPS per disk – but that’s the best-case scenario. More realistically, you might see around 50 IOPS per disk, which is a lot less than the average 135-150 IOPS per disk from a 15K RPM SAS drive. Even though the cost is cheaper for SATA drives, it may end up costing you more money if you need to purchase more disks to get the right amount of IOPS.
For example, here’s a rough estimate of how many disks needed for the IOPS. (This doesn’t take into consideration the amount of storage you need.)
If you have 0.19 IOPS per mailbox X 5000 mailboxes = 950 IOPS
950 IOPS / 50 IOPS = 19 x 2TB 7.2 RPM SATA disks -that’s almost a whole shelf needed just for IOPS
950 IOPS / 135 IOPS = 7 x 146Gb 15K RPM drives
Locally Attached Storage or SAN?
Locally attached disks usually perform faster than SAN disks. While the performance numbers are close for SAN disks, nothing beats being right at home on the local disk. You’ll have normal protocol latency and interface latency to factor in when determining your storage subsystem.
Physical or Virtual ?
With the increased use of virtualization technologies such as VMware and Hyper-V, many enterprises are considering virtualizing their Exchange servers. Virtualization is supported for Exchange 2010 and 2013, but the NFS protocol commonly used by VMware environments is not supported for Exchange databases. If you’re using NFS for the VMware datastores, this could impact how your Exchange databases are presented to the guest. While you can run the databases on a SATA datastore, you probably don’t want to be running it for your OS VMware Virtual Machine Disk (VMDK).
Running Exchange databases on SATA drives is possible and they run great for test labs or demos. But what about running your production database on SATA? The production databases will run fine on SATA, but performance will depend on many factors: whether you have enough spindles and how those volumes are presented. If you’re running Exchange as physical servers with your drives locally attached – and you have enough spindles – performance can be great.
Let’s say you want to utilize the investment you made into your VMware infrastructure and you choose to virtualize your Exchange servers as well as take advantage of the lower cost disk. Well, this gets tricky. You can certainly do it – in fact I’ve done it – but it takes proper planning to ensure that your environment will run smoothly. You’ll need to determine how your databases will be presented, guest software iscsi, RDM, or VMDK using different datastore from OS VMDK – all of which could have an impact on how your current virtualization environment is currently set up.
While the appeal of running Exchange databases on lower-cost storage could be enticing to many administrators and IT management, it should be done with careful planning. Each environment is different, so I would recommend a full analysis of your requirements and current infrastructure if you’re considering utilizing SATA drives for your Exchange databases.