May 7, 2012 | Written by: Mauro Arcese
Share this post:
I’ve been impressed by the speed of provisioning a set of virtual machines in just a few tens of seconds using IBM SmartCloud Provisioning. In most cases, you can get a running virtual machine in less than one minute.
The IBM SmartCloud Provisioning technology has been devised and particularly optimized for managing the following cloud infrastructure scenarios:
- Infrastructure composed of homogenous resources
- High level of standardization with a relative small set of master images used to provision many instances from the same image
- Typical life cycle of the provisioned resources with short average time of life of provisioned virtual instances
Many other workloads can be deployed and easily automated on top of IBM SmartCloud Provisioning. For example, traditional stateful applications can be easily deployed for simple high availability (HA) solutions. Anyway, you get the maximum performances from SmartCloud Provisioning when operating in the context of the above scenarios.
To achieve such high performances, IBM SmartCloud Provisioning has been designed to focus the attention to an optimized virtualization infrastructure based on OS streaming: no need to copy large image files over the network when provisioning.
Image copying is the single biggest bottleneck in virtual machine (VM) provisioning today, in terms of CPU, memory, I/O, and bandwidth usage. In traditional cloud provisioning approaches, all of this overhead is system resource that is just pure overhead (nobody builds a cloud to provision systems ― provisioning is an overhead that is required to have systems on which business workload is deployed, and any overhead is in conflict with the business workload).
The key element of such infrastructure is the so-called ephemeral instances, which are virtual machines having no persistent state. After they are terminated, all the data associated with them is deleted also. They are clones of a master image and these clones will have a primary virtual disk that is ephemeral: when the instance goes, so does its ephemeral storage (mechanisms exist in IBM SmartCloud Provisioning to provide persistence, if needed by some scenarios).
When creating a new instance, because master images are read-only resources and are replicated across the storage cluster, IBM SmartCloud Provisioning uses the copy-on-write (CoW) technology and the iSCSI protocol to stream them, avoiding expensive copying. Each iSCSI session results in a valid block device to be created in the host OS.
Of course each guest OS (corresponding to a given instance) requires a writable block device representing the main disk of the system. All supported hypervisors have a storage virtualization layer that includes the copy-on-write technology. For example, Kernal-based Virtual Machine’s (KVM) qcow2 files can be configured to implement CoW by referencing a backing storage device. VMware has something called redo files, which effectively do the same thing as well. In each case, the hypervisor can natively use the CoW file referencing the iSCSI block device to expose a virtual block device to the virtual machine.
Depending on the hypervisor and guest OS, this device will show up as something like one of the following lines:
The CoW files are stored locally on the hypervisor’s file system.
When the instance is terminated, the IBM SmartCloud Provisioning agent simply discards the CoW file and checks if any other instances are using the same iSCSI device. If the device is no longer in use, the agent also stops the iSCSI device.
Thanks to this infrastructure, the action of provisioning a new virtual machine results in a very fast and reliable process that allows it to create individual systems in tens of seconds, and of peak requests of thousands of systems per hour.
If you’re interested in trying the IBM SmartCloud Provisioning product, you can download a trial version from the following link: