In the flash storage vs. hard drive debate, which should I choose for my virtualized server? Does form factor affect my decision? Are there any particular considerations for disk controllers on a virtualized server?
Solid-state drive (SSD) use is growing now that the technology is well developed, reliable and less expensive than earlier generations. Although SSDs typically offer less total capacity than conventional magnetic media, SSD performance is unmatched. Servers with mission-critical storage performance needs can potentially benefit from SSD deployment. It is also possible to mix drives on the server, using SSDs for critical applications and SAS -- or even SATA -- drives for more mediocre storage tasks.
An alternative to pure SSD technology is the SSD hybrid -- basically a magnetic hard drive with a huge solid-state cache between the platters and the system interface. For example, data the system reads regularly can reside in the cache where it is available almost instantly, while the magnetic platters can seek other data used less often. For some virtual servers, these hybrid SSDs can perform as well as pure SSDs.
Disk form factor comes down to the physical size of the drives, and organizations can typically choose either common 3.5-inch disks or small 2.5-inch disks. Because of the platter size, the 3.5-inch disks can potentially hold more data, but they require more energy to spin. The outermost tracks also experience more latency than the smaller disks at the same RPM thanks to that larger platter circumference, so using smaller disks can provide a slight performance boost and a slight energy savings. And if areal density is greater on the 2.5-inch disk, there is little real loss in total storage capacity.
Comparing flash and disk memory controllers
Where pure SSDs, or even hybrid SSDs, may still be cost prohibitive, consider cache on the storage controller. A large pool of cache memory on the storage controller can vastly accelerate disk writes and return control to the virtual machines (VMs) quickly, then take as much time as needed to commit the writes to the disk media. This may require upgrading the server's disk controller with a production-grade controller designed for heavy caching and ample battery backup protection for the cache.
Another issue with controllers is the potential for bottlenecks when multiple disks run on the same controller channel. For example, a modern SATA disk controller exchanges data at about 300 MB per second, and a SATA disk can burst about 150 MB per second, so putting more than two SATA disks on the same controller channel may cause a bottleneck that diminishes storage performance. This can happen very easily because a principal performance goal is to have multiple spindles reading and writing at the same time. Benchmarking can help to identify storage bottlenecks that you can usually correct by distributing disks across multiple controller channels or upgrading the controller to provide additional channels.
Centralized SAN storage is common in enterprise data centers, but it is hardly universal. Organizations can deploy storage local to each rack or blade to hold workloads and production data. Local storage presents a series of potential pitfalls and limitations that administrators need to consider, which can involve issues ranging from physical disk and interface selection to data protection strategies and even controller characteristics.
Regardless of the specific storage technology, it is important to benchmark the storage subsystem and gauge VM performance with the local storage architecture. Testing can help to identify the most appropriate disk technology, interface technology and storage system configuration for your unique environment.
This was first published in April 2013