What is the limit on how many virtual machines that can be deployed at once?

This came up in conversation, where we were considering where to place template storage and what the implications might be behind various choices. which leads to…

#### Limits on Simultaneous Migrations

The VMware documentation that goes into the relevant detail is here.

vCenter Server places limits on the number of simultaneous virtual machine migration and provisioning operations that can occur on each host, network, and datastore. Each operation is assigned a resource cost and each consumed resource assigned a limit that can be supported.

Any new operation that causes a resource to exceed its maximum cost does not proceed immediately but is queued until other operations complete. Each of the required resource limits must be satisfied for the operation to proceed.

I think this makes good logical sense, and is a great way of ensuring that any impact across the entire vSphere stack is understood by the system.

There are Network and Datastore limits that relate directly to VMotion and storage vMotion operations. There is a maximum cost of 4 for vMotion operations on a 1GigE network and 8 on a 10GigE network.

Each datastore has a maximum available cost of 128, with vMotion operations costing 1 and Storage vMotion operations costing 16.

It’s not called out in the table so I’m going to emphasise here.

**“A migration with Storage vMotion has a resource cost of 1 against the source datastore and 1 against the destination datastore”**

This is important as it defines a deployment/provisioning limit for our deployment operations, regardless of any storage hardware acceleration.

Individual hosts have a maximum available cost of 8, which is shared between migrations with vMotion, Storage vMotion, and other provisioning operations such as cloning, deployment, and cold migration. All hosts have a maximum cost per host of 8.

#### Example

Say that we have a cluster of 16 hosts, deploying from the same template location. The maximum cost attributable to the datastore hosting the templates is 128 and the maximum attributable cost to the target datastore/s is 128. From the table above we know that the provisioning operation has a cost of 1 on the host, 1 on the source datastore and 1 on the target datastore.

Datastore limit 128 / provisioning cost 1 = 128 simultaneous provisioning operations per datastore

Host limit 8 / provisioning cost 1 = 8 simultaneous provisioning operations per host

128 simultaneous provisioning operations per datastore / 8 simultaneous provisioning per host = 16 hosts to reach the datastore limit

The 16 hosts deploying the maximum of 8 simultaneous provisioning operations would reach the maximum cost (128) of a datastore.

#### Summary

*What is the limit on how many virtual machines that can be deployed at once?*

With similar operations consuming resources from the same components, the described model provides a logical way to ensure that any impact across the entire vSphere stack is understood by the system and its operators.

Thanks

Simon