What are the minimum requirements to boot a KVM instance. I want to boot 1000 instances all at the same time and I am using a NAS environment. I want to make sure that I know what the IO requirements are for a base boot.
feedback
|
|
Boot storms are something that shouldn't be taken lightly as they can cause seriously big storage arrays to grind to a halt. Avoiding these sudden boot storms due to that many instances starting at once should be a major design consideration. How many IOPS are really needed is difficult to model and you have to measure on your own. You have to chose the toolbox according to the NAS you have for that. Be more specific if you can . There's also a heavy dependence on what you are actually booting up there. | ||||
|
feedback
|
|
It depends on the VM obviously - just booting GRUB? maybe 50-100 operations - an exchange server? many, many more... The answer is easy, benchmark one - it's the only way to know. Oh and does it have to be KVM? Something like that sounds more like the kind of thing VMWare's View product was built for. | |||
|
feedback
|
|
Some comparative test data (200 VMWare VMs) here: http://ctistrategy.com/2009/12/28/vmware-boot-storm-netapp-part-2/ Cheers | |||||||
feedback
|
|
Booting 1000 instances of anything concurrently is pretty serious. Even if individual performance is acceptable at 20-30IOPS (which would be a slow disk on a single machine) you're looking at 20-30K IOPS. Get yer checkbook out. It's actually worse than that as most OS's will consume a lot more than is acceptable if there is nothing preventing them. As an example if you have a Windows XP client VM and give it effectively infinite IOPs by connecting it to an SSD array that can deliver 20K or more IOPS I've seen individual virtual machines consume almost 1000 IOPS. Staging such boot sequences is vital. If these are very low overhead systems then you might be able to get away with about 5 IOPS per system under steady state but the boot storm is called that for a reason. Read\Write IO ratios are also critically important - it's a lot easier (cheaper!) to deliver 5-10K IOPS for read heavy IO but the sustaining IO patterns for typical non server systems are very heavily write biased and it will be much more expensive finding a solution that can reliably deliver 5000IOPs in a 50:50 R/W pattern as it will be to deliver 5000IOPs in an 80:20 R/W pattern. But seriously - there are very few storage solutions out there that can reliably boot 1000 VM instances concurrently. | |||
|
feedback
|
|
If you have licensed View as a standalone product (not as an add-on to a vSphere cluster), then you will have the full functionality of Enterprise Plus available. From vSphere 4.1 onwards this includes storage resource allocation (at a cluster or resource pool level). Configure and adjust this on your environment to control the IOPs loading from each VM. This will limit and allocate IOPs on a fair voting basis, and also ensure other VMs get a look-in on the SAN IOPs during heavy boot times. This may extend boot times for the VMs, but will save a fortune on SANs which can deliver such high loadings. Your other option is to look at the Tiered SANs which include SSD's for the fast tier of storage, such as EMC VNX or the NetApp SANs, but these are not cheap. | |||
|
feedback
|