Recovering a Protection Domain snapshot to a VM


Yesterday one of our SEs mentioned he was talking to a customer and this customer is using MCS between two separate clusters. They were looking for a way to only keep one image updated and they are then looking to use our Protection Domain to replicate it over to the other cluster. Now, they are looking for some automated way to promote that snapshot to a full VM, luckely this is something we can achieve with the Nutanix Powershell commandlets.  

From the older blogs I’ve written, the following interfaces are available:

  • Scripting interfaces (PowerShell)

The following definitions are from the Nutanix Bible as Steve Poitras already explained this:

The REST API exposes every capability and data point of the Prism UI and allows for orchestration or automation tools to easily drive Nutanix action.  This enables tools like Saltstack, Puppet, vRealize Operations, System Center Orchestrator, Ansible, etc. to easily create custom workflows for Nutanix. Also, this means that any third-party developer could create their own custom UI and pull in Nutanix data via REST.

HTML5 GUI (Prism UI)
The HTML5 UI is a key part to Prism to provide a simple, easy to use management interface.  However, another core ability are the APIs which are available for automation.  All functionality exposed through the Prism UI is also exposed through a full set of REST APIs to allow for the ability to programmatically interface with the Nutanix platform.  This allow customers and partners to enable automation, 3rd-party tools, or even create their own UI.

The Acropolis CLI (ACLI) is the CLI for managing the Acropolis portion of the Nutanix product.  These capabilities were enabled in releases after 4.1.2. The Nutanix CLI is the CLI for managing the Nutanix product and is more heterogeneous across hypervisors.

Windows PowerShell is a powerful shell (hence the name ;P) and scripting language built on the .NET framework.  It is a very simple to use language and is built to be intuitive and interactive.

This script will connect to the specified cluster, remove existing VMs with a certain prefix and will search for the available protection domains and will restore the latest snapshot in the defined protection domain. This will awckomplish what is explained in the first header of this blogpost.

Running the scripts outputs like following:

Script output
The following two tabs change content below.

Kees Baggerman

Kees Baggerman is a Staff Solutions Architect for End User Computing at Nutanix. Kees has driven numerous Microsoft and Citrix, and RES infrastructures functional/technical designs, migrations, implementations engagements over the years.


  1. […] via Recovering a Protection Domain snapshot to a VM — My Virtual Vision […]

  2. talisker1843 says:

    Trying to implement Citrix MCS using a single master image VM across two separate Nutanix clusters, to have a single VM for image updates and management. Both Nutanix clusters have separate storage containers dedicated for Citrix MCS Workloads. Currently trying to automate the restore of the Protection domain VM, which is the protection domain for the Citrix MCS Master image VM on the primary Nutanix AHV cluster, to a separate Nutanix AHV cluster which has a separate Nutanix storage container allocated for only MCS workloads. The Protection domain by default on restroing the protected VM snapshot places the restored protected VM disks on the storage container named SelfServiceContainer. It is then not possible in the Prism console to clone the restored VM to another storage container. To move the restored VM disks to another storage container involves several manual steps at the command line on the secondary cluster, to find the disk id, copy the disk from the SelfServiceContainer to the dedication MCS storage container on the cluster etc to complete the process. Is it possible to execute this via PowerShell in a simpler automated method. Once the VM from the Primary cluster is restored to the secondary cluster MCS storage container, a snapshot would be taken of the VM and used via Studio to update the remote cluster machine catalog

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.