Great question -- I'm glad you asked! Personally, I've always felt that input/output (I/O)-related concerns have taken the back seat in many performance discussions (not just for virtualization, but also for database servers and other high-use systems). Vendors (and consequently IT staff) tend to focus on processor speeds and memory bandwidth, and leave I/O design as an afterthought. It's certainly true that, when running multiple virtual machines on the same physical server, you'll have a significant amount of contention for disk resources. You can simulate the same thing on your desktop: Measure the amount of time it takes to copy two large files sequentially vs. copying both at the same time. Now, imagine running five to 15 separate operations with varying patterns or activity. So, the bad news is that I/O bottlenecks are likely to occur in virtualized environments.
The good news is that you have several options for increasing I/O capacity on servers. The main statistics you'll want to measure are total disk throughout (e.g., 30 MB/sec), and I/O operations per second (IOPS). The latter is particularly important, as I/O requests from virtual machines can be small and frequent. For local storage, you have several options: SAS (Serially-Attached SCSI), SCSI, SATA and ATA. Generally, SCSI and SATA interfaces will give you the better performance due to their ability to perform concurrent I/O. Placing virtual hard disks on separate physical hard disks can greatly improve performance and reduce overall contention. Additionally, some RAID configurations can help increase overall throughput.
Many environments can also look into using Network-Attached Storage (NAS), Storage Area Networks (SANs), iSCSI, or a combination of the technologies. These methods allow dedicated network-based remote storage devices to handle disk access centrally. Through caching and other features, they can also greatly improve performance. The main drawbacks are cost (especially with Fibre Channel-based SANs,) and added administration complexity.
Are I/O problems possible (or even likely) on busy virtualization hosts? Absolutely. But, as with memory and CPUs, there are many ways in which you can increase I/O capacity to meet demands.
Dig Deeper on Virtual machine performance management
Related Q&A from Anil Desai
You've come to an archive of Anil Desai's answers, seen on the previous page. Anil is still answering IT pros' questions about virtualization. Check ... Continue Reading
Expert Anil Desai answers a user question about P2V tools. Continue Reading
Site expert Anil Desai answers a user question dealing with the different P2V tools on the market today. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.