In a traditional SAN environment, there are typically dedicated LUNs. That means servers know exactly where storage applications reside. Should additional input/output be needed, adding capacity is an easy fix.
But once a server hypervisor is added to the mix, numerous virtual machines (VMs) are created and they all demand performance at the same time, so providing adequate input/output (I/O) becomes much more complicated.
Howard Marks, chief scientist at DeepStorage.net, explained how hypervisors affect storage I/O in virtual environments at a recent virtualization seminar. When using a server hypervisor, numerous VMs share a single logical volume, and even though those VMs individually send sequential I/O, when they are all working at the same time, the I/O gets mixed together. This is referred to as the I/O blender effect.
"Requests for multiple VMs come into the blender and they get mixed together. You get IOP smoothies. From an IOP smoothie, you just can't tell what's going on, therefore performance falls off dramatically," Marks said.
Luckily, Marks pointed out, the blender effect can be somewhat, though not completely, remedied by adding higher-performing storage such as solid-state drives.
Marks also cautioned against what he calls the "noisy neighbor" effect in virtual environments. That means your storage system can provide any level of performance, but if one application has a particularly large storage I/O demand, it will affect performance across the board.
"As we make this shift from dedicated storage to shared storage with dedicated spindles, we move from these 10-inch walls to drywall, and noisy neighbors have a bigger impact," Marks said.
"We do have newer concepts like storage quality of service that can help address the problem, but between the I/O blender and the noisy neighbor, we've gotten much less predictability of storage performance than we used to have."
How have you dealt with slow storage performance in virtualized environments?
1 ResponseJoin the Discussion