The "noisy neighbor effect" refers to virtual machines that use large amounts of I/O, which affects performance in the rest of your storage environment. But how do you deal with something that can't be eliminated completely?
According to Howard Marks, chief scientist at DeepStorage.net, the answer is to employ storage quality of service (QoS) to control the IOPS used by individual virtual machines (VMs).
At the most basic level -- as Marks explained to attendees at his recent seminar, "Curing the Conundrum: Optimizing Storage for Virtualization" -- you need to set IOPS restrictions. This means capping the amount of IOPS individual VMs could use, as well as allocating a higher amount of IOPS to VMs with more important workloads, and vice versa.
But luckily for VMware users, the hypervisor vendor provides two features that build on the concept of storage QoS to help quiet those noisy neighbors and improve VMware storage performance.
Storage I/O Control: This feature reduces I/O contention by taking into account all of the VMs that access a particular data store and prioritizing them. When the storage detects latency, it begins to limit the amount of storage resources allocated to lower-priority VMs to ensure high-priority VMs have the access they need to maintain overall VMware storage performance. Storage I/O Control also allows administrators to set a hard limit on the number of IOPS an individual VM can generate.
Storage DRS: Storage Distributed Resource Scheduler (DRS) allows vSphere to relocate VMDKs based on capacity or performance characteristics. If a data store is becoming overloaded, workloads can automatically be moved to another. In the event that two VMDKs communicate frequently and should therefore share a host, or if two workload-heavy VMDKs should be kept apart to avoid taxing a host, administrators can set affinity rules or anti-affinity rules. These ensure particular VMDKs are kept together or separate during workload movement.