|By Peter Velikin||
|July 6, 2012 06:00 AM EDT||
I wear many hats at VeloBit, one of which is to manage the production and development lab environment for our engineering team. This means that I face the same basic challenge that all sysadmins face: growing capacity requirements and a set budget to work with. Luckily, I have an ace up my sleeve: VeloBit HyperCache, which lets me do more with less. This, combined with KVM-based virtualization, allows us to keep running without having to deal with server-sprawl in our labs.
How we use Virtualization at VeloBit
We make extensive use of virtualization for the IT infrastructure at VeloBit; our development toolbox runs on a set of virtual machines (typically virtual appliances from TurnKey Linux) with Ubuntu Linux and KVM running on the host. VeloBit HyperCache supports nearly every Linux server distribution and version made in the last few years, and every single supported platform must be thoroughly tested. Since it’s not practical to have individual bare metal servers for every version of Linux, we deployed virtual machines to run the basic smoke, regression, and functional testing.
All of these virtual machines create massive I/O loads across hundreds of gigabytes of data. It’s cost-prohibitive to place all data on high-speed SAS or Fibre Channel storage, yet SATA drives alone can’t handle the randomized load created by the VMs. If these were our only options, we’d be dead in the water. But there’s a third option that lets us use low-cost, high-capacity SATA drives, while handling loads greater than even a SAS array could take: VeloBit HyperCache.
Using VeloBit HyperCache at VeloBit Inc.
I love the reaction I get from my sysadmin friends when I tell them that I’m running 30+ virtual machines - all doing non-stop, random I/O – on 4 SATA drives. Not a single one of them believes it, and two years ago I wouldn’t have believed it either. But that’s exactly what I’m doing: one server, 4 consumer-grade SATA drives, and an off-the-shelf SSD, all tied together with VeloBit HyperCache. Without SSD Caching, there’s simply no way I could make this work:
- SSDs as primary storage cannot provide the needed capacity at a price pont that would fit my budget
- SAS or FC storage would still be too expensive to acquire and will add additional maintenance, space, and cooling costs
- SATA drives can’t keep up with the random workloads we throw at our VMs
VeloBit HyperCache enables us to keep our inexpensive, commodity-grade disks, and get the performance of high-end storage arrays. Compression makes it possible to cache data on a small, off-the-shelf SSD; VeloBit detects the similarity between VMs and performs delta compression, which makes it possible to store in cache much more data than the physical capacity of the SSD.
The Best Part: I Don’t Even Notice My SSD Cache
Storage arrays require maintenance. When deployed as primary storage, SSDs incur heavy write loads so one has watch them closely to ensure that they’re healthy. Large numbers of VMs can create nasty resource contention, so one has to monitor each VM carefully to make sure no rogue guest takes down the entire system.
VeloBit HyperCache eliminates all those headaches. There’s no array to maintain – no email alerts coming at 2:00 in the morning to tell you that one of your two-dozen disks has died or that a controller has failed. VeloBit is designed to reduce writes to SSD, which means that my SSD will last much longer as a VeloBit cache target than as the main storage unit for my VMs. And, because VeloBit lets me combine the IOPS of SSD with the size of SATA HDD, I don’t have to worry about a VM hogging the IOPS of a disk and suffocating the other VMs. There are plenty of IOPS to go around; eat your fill, VMs!
VeloBit runs silently as a driver on my Ubuntu/KVM machine, and I don’t even think about it being there. I have enough work to keep me busy on a day-to-day basis - I don’t need another piece of software to manage. And VeloBit fits the bill.
Occasionally I’ll login and look at the statistics from the VeloBit driver, just to have a moment of amazement that I’m actually running this massive I/O load on consumer-grade hardware. All day long, VeloBit HyperCache just sits there, doing its job to keep things running smoothly, letting me get back to the work of making the world’s greatest cache.
Try It For Yourself – You’ll Love VeloBit
I wouldn’t use a product unless I believed in it, and I certainly believe in VeloBit HyperCache. If you have a storage I/O bottleneck, you have to try us out. We’ve got a 30-day free trial, and our installation takes just 60 seconds. What do you have to lose? Give VeloBit a try now!