VMware Project Fargo- A Technique for Rapid Cloning of Running VMS

Today I was going through a blog and found one very interesting blogpost which I am going to share with you.

At VMworld 2014 VMware announced a very interesting new project called Project Fargo. This is another name for the Project VMFork.

What is this Project Fargo ?

Fargo/VMFork is a platform currently in technology preview which enables a rapid cloning of running VMs.

It lets you quickly spin up linked clones from a VM that’s already running instead of using disk images. Rather than having a master image stored on a virtual hard disk , the base desktop is an actual running VM. When you need to give a user that same desktop, you can just clone that VM instead of booting up a whole other one. The aim of Fargo is to provides a fast, scalable differential clone of a running VM.


The key benefits of using this method is that it is instantaneous and can be done from a running VM,  so a new VM spawned would typically take less than 1 second and is in the same running state from where it is cloned. Also since only changed blocks are written in new VM so this solution will take up dramatically less disk space.

While there are many potential use cases for Fargo, it was presented with virtual desktop in mind where providing an instant clone of running non-persistent desktop would avoid the boot storms to the storage subsystem. The forking process would be highly useful in scaling up a set of virtual machines quickly to meet increasing traffic on a website or in some other compute-intensive, high -demand scenario.

Kit Colbert, CTO of end user computing at VMware, said from the VMworld stage that Project Fargo will enable production of virtual desktops 30 times faster than current rates.

Here are the excerpts from the session presented by Kim:

While we have solved the real-time application delivery problem, we still need to address the issue of desktop delivery.  The reality is that today the delivery of virtual desktops is time consuming.  From cloning to powering on and OS boot to customization, the end-to-end process can take many minutes before the virtual desktop is ready to accept user logins.  This problem compounds itself when trying to deliver hundreds or thousands of desktops at one time.  We need a better solution.

The cloned VM is identical in every way to the original and initially shares all memory and disk with it as well.  Project Fargo is very cool for two reasons: first, it gets you a new running VM in under a second.  Second, it’s a very lightweight VM because it shares all memory and disk with the original.  (To be clear, both the memory and disk are “copy on write” so if new VMs modify bits of their memory or disk, a separate copy is made for that VM.  We thus preserve security and isolation between VMs.)

The Project Fargo feature will become likely become available in vSphere 6.0 (scheduled for 2015). It will be also possible to use Fargo features using a vCenter API. Early benchmarks show that 120 sessions can be handled on a 2 socket/8 core host with 30% less CPU consumption than same number of RDSH session.

When the VM has been provisioned applications are assigned to this VDI workstation using the solution CloudVolumes, VMware claims a 30 x faster VDI provisioning. The combination of Project Fargo + CloudVolumes is internally called Project Meteor.

Project Meteor is focused on delivering these desktops to any device with an HTML5-based browser. View Composer is being replaced by Project Fargo to increase provisioning upto 30x.

Duncan Epping has written an excellent blog on Project Fargo.

Rob Beekmans has also written a blog on Fargo and Meteor which is worth reading.