Extensions Learning Performance vCenter

VMware Instant Clone is now at your fingertips with the updated PowerCLI Extensions fling!

 

FLINGS.png

At VMware we are pleased to announce the publishing of a new fling:  PowerCLI Extensions! PowerCLI Extensions gives PowerCLI users access to early access functionality by extending the core PowerCLI cmdlets to include new experimental features and gives PowerCLI customers the ability to provide early feedback. So what is included in this fling? Read on…

Instant Clone

Extensions

‘Instant Clone’ also known as VM Fork or Project Fargo, gives admins the ability to rapidly clone and deploy virtual machines, as much as 10x faster than what is currently possible today. Instant Clone uses rapid in-memory cloning of running virtual machines and copy-on-write to quickly deploy clones of a parent virtual machine.

Because Instant Clone uses a private API, PowerCLI is currently the only way Instant Clone can be accessed and leveraged.

What is actually happening?

The Instant Clone capability allows admins to ‘fork’ a running virtual machine, meaning, it is not a full clone. The parent virtual machine is brought to a state where the admin will Instant Clone it, at which time the parent virtual machine is quiesced and placed in a state of a ‘parent VM’. This allows the admins to create as many “child VMs” as they please. These child VMs are created in mere seconds (or less) depending on the environment (I’ve seen child VMs created in .6 seconds). The reason these child VMs can be created so quickly is because they leverage the memory and disk of the parent VM. Once the child VM is created, any writes are placed in delta disks.

When the parent virtual machine is quiesced, a prequiesce script cleans up certain aspects of the parent VM while placing it in its parent state, allowing the child VMs to receive unique MAC addresses, UUID, and other information when they are instantiated. When spinning up the child VMs a post clone script can be used to set properties such as the network information of the VM, and/or kick off additional scripts or actions within the child VM.

Specific information can be passed to the child VM for the post clone script to use to quickly perform actions on the virtual machine as it powers on (I use the term power-on because when the VM is cloned it is shown in vSphere as ‘Powered-Off’ however, when you “Power-On” the VM, it is already in its fully running state, there is no boot up). If you assigned a -PostCloneScript to the child VM, when it is Powered-On, the script will execute. Values such as network properties, can be passed to the Child VM through configuration parameters stored in the VMX file. These can be set with an array where the left-side is the name of the property and the right-side is the value:

$configSettings = @{
‘ipaddress’ = “10.134.14.75”;
‘netmask’ = ‘255.255.255.0’;
‘gateway’ = ‘10.134.14.253’;
}

When included in the  New-InstantCloneVM cmdlet’s -ConfigParams, they will be added to it’s VMX file:

$childForkVm = New-InstantCloneVM -ParentVM $parentforkVm -Name “2012ChildClone$_” -ConfigParams $configSettings

Because of VM Tools,  these values can then be retrieved from within the Child VM using the VMware Tools RPCTool, which can read guest information from the VMX file (using the example configparameters above):

  • “%programfiles%\vmware\vmware tools\rpctool” “info-get guestinfo.fork.ipaddress”
  • “%programfiles%\vmware\vmware tools\rpctool” “info-get guestinfo.fork.netmask”
  • “%programfiles%\vmware\vmware tools\rpctool” “info-get guestinfo.fork.gateway”

In the demo below you will see a walkthrough of verifying the intended-parent VM’s network settings, and that the VM is in the desired state to instant clone. It then walks through the PowerCLI commands to create 9 child VMs off of the parent VM.


On my equipment it took me 15 seconds to create 9 Instant Clone child VMs of a Windows Server 2012 Parent VM. Times will vary based on a number of factors including the number of configuration parameters saved to each virtual machine, hardware, etc.

Get PowerCLI Extensions

You can download the user guide and PowerCLI Extensions module from the VMware Flings site HERE. I strongly recommend reading the user guide and following the step-by-step instructions for getting started.

VSAN cmdlets removed

Originally the PowerCLI Extensions module included VSAN cmdlets. As of PowerCLI 6.0 R1 those cmdlets have been removed from PowerCLI Extensions and added into PowerCLI.

Stay tuned for the next post. which will be a tutorial of how to use the Instant Clone functionality

 

Comments

60 comments have been added so far

  1. I am getting error trying to create an instant clone:

    PowerCLI C:\> New-InstantCloneVM -ParentVM “testvm” -Name “testvm01”
    New-InstantCloneVM : 8/4/2015 4:04:58 PM New-InstantCloneVM The Vm ‘testvm’ is not instantclone parent.

      1. I found that you need to have the In-Guest Customization script (as per https://blogs.vmware.com/PowerCLI/2015/08/using-vmware-instant-clone-via-powercli-extensions-fling.html) and specifiy the

        $parentForkVM = Enable-InstantCloneVM -VM $parentVM -guestUser “administrator” -GuestPassword “VMw@re123” -PostCloneScript C:\temp\WindowsPostScript.bat

        Varibale as part of the “New-InstantCloneVM” command

        i.e.
        $parentForkVM = Enable-InstantCloneVM -VM $parentVM -guestUser “administrator” -GuestPassword “****123” -PostCloneScript “c:\Scripts\WindowsPostScript.bat

        $childForkVm = New-InstantCloneVM -ParentVM $parentForkvm -Name “2012ChildClone$_” -ConfigParams $configSettings ; $childForkVm | Start-vm

        (Rather then specifiying the parentVM name directly).

        To get around this issue

  2. Question about a Windows Guest after it’s been cloned and gets a new IP adress… What about the computer name, the secure computer account with the domain controller, Dynamic DNS, etc? Is it up to the administrator to fix all those potential issues after the instant clone is instantiated?

    Ben

  3. Does anybody now what happens if I want to change the disk space of an “instant-clone(d)” VM?
    Is it right to assume that I then need to invest a lot of time transforming it into a fully-cloned VM?

    1. So my understanding (from reading the 2009 SnowFlock paper) is that at least in-principle this doesn’t need to be a problem. Conceptually Instant Clone is an extension to Link Cloning (it’s that same + COW memory deltas), since Linked Cloning supports VMDK re-sizes I’d expect Instant Clones to support it as well. Whether or not the concept matches reality is not something I know.

  4. Pingback: VMware announces Horizon Air Hybrid Mode, Horizon 7, and AppVolumes 3.0. Here's our full analysis: – Brian Madden (blog)
  5. Hi, excellent stuff here. In testing I’m getting the following error in Power CLI. (Extensions are installed etc)
    I get an error that “the operation is not supported on the object”. Any thoughts?
    Thanks

  6. My VM is a Cisco Virtualized router that does not have the ability to have VMWare Tools installed. So in other words, its an ‘Other’ type of VM. I cant get InstantClone to work and get this error. Any thoughts? Workaround?

    Enable-InstantCloneVM : 5/27/2016 12:36:46 PM Enable-InstantCloneVM The Vm ‘IOS-Clone’ is not powered on or
    VMware tools are not running.
    At line:1 char:17
    + $parentforkVm = Enable-InstantCloneVM -VM $parentVm
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-InstantCloneVM], VimException
    + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.Extensions.InstantClone.Commands.Enabl
    eInstantCloneVM

  7. is this working on vsphere 6.5? Why the instantclone cmdlets are not included in PowerCLI 6.5? I am running 6.5 and downloaded the extension (VMware.VimAutomation.Extensions_for_PCLI_65R1) but fails with this error:

    PowerCLI C:\> Enable-InstantCloneVM -vm $a -GuestUser administrator -GuestPassword password -PostCloneScript C:\pscript.bat

    Enable-InstantCloneVM : 1/9/2017 2:36:45 AM Enable-InstantCloneVM A general system error occurred: vix error codes =
    (1, 0).

    At line:1 char:1
    + Enable-InstantCloneVM -vm $a -GuestUser administrator -GuestPassword …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-InstantCloneVM], SystemError
    + FullyQualifiedErrorId : Client20_VmGuestServiceImpl_RunScriptInGuest_ViError,VMware.VimAutomation.Extensions.Ins
    tantClone.Commands.EnableInstantCloneVM

    Enable-InstantCloneVM : 1/9/2017 2:36:45 AM Enable-InstantCloneVM Object reference not set to an instance of an
    object.
    At line:1 char:1
    + Enable-InstantCloneVM -vm $a -GuestUser administrator -GuestPassword …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Enable-InstantCloneVM], VimException
    + FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.Extensions.InstantClone.Commands.Enabl
    eInstantCloneVM

  8. What is Norton? Norton is an anti-virus and anti-malware software which offers various products related to digital security. It is an industry-leading software which is reputed for its real-time protection and various comprehensive features. It helps in securing your device with ultimate protection from existing and emerging security risks. For utmost protection, Norton uses six

  9. What is MS office? Microsoft office provides a complete package of various applications that are used by businesses, educational institutions and homes. It comprises a large number of products for various purposes. It includes Microsoft Office, Excel, Powerpoint that is used to create spreadsheets, make labels and produce presentations for your home or office.

  10. SMOOTH AND ROUNDED EDGES No Sharp Edges Perfect Angle for Sliding Feet into Shoes and Won’t Damage or Cut into Your Shoe and then Long length of this shoehorn allows you to put on your shoes without bending over or crouching.Easy Grip Handle-Durable lanyard protect your hands avoid hurt.It is made in a unique design that fits for everyone

  11. Is it true that you are confronting Epson Error code 0xea? Get the arrangement here. Experience this means and understand your issues right away. Contact Epson Support for help. Is it true that you are experiencing the Epson Printer Error Code 0xea while working with your printer? This is one of the most widely recognized Errors that the Epson printer experience.

  12. The next time I read a blog, Hopefully it won’t disappoint me as much as this particular one. I mean, I know it was my choice to read, however I genuinely thought you’d have something useful to say. All I hear is a bunch of complaining about something that you could fix if you weren’t too busy looking for attention.https://amazoncardredeem.com

  13. Thanks for sharing very informative blog with us. Hope we will again get this kind of so many information from your site. If you have the same details about the httprouterasus.com then visit the website.

Leave a Reply

Your email address will not be published. Required fields are marked *