Back to top

Feature Walkthrough: ConVirt for Hyper-V


1 Introduction

Welcome to ConVirt for Hyper-V. ConVirt is an enterprise-wide solution for managing your virtualization and cloud infrastructure, including VMware, Hyper-V, KVM, Xen, Amazon Web Services, and OpenStack. For Hyper-V specifically, ConVirt provides full lifecycle management of your Hyper-V infrastructure, including:

  • Centralized web-based management for Hyper-V without the need for SCVMM
  • ISO-based templates for rapid provisioning
  • Intelligent VM placement based on host loading
  • Scheduled VM provisioning and auto-retirement
  • Day to Day VM operations (provision/start/stop/pause/delete,connect to console etc)
  • Live migration and non-shared migration
  • Snapshot management
  • VM life-cycle history (e.g. who shutdown this virtual machine, when?)
  • Historical metrics for Hyper-V hosts and VMs presented in dashboard
  • Self-service "virtual data centers"
  • Cluster configuration with CSV storage.

This document walks you through many of the key features of ConVirt. The assumption is that you have already installed and setup your ConVirt Management Server, and have a couple of Hyper-V hosts under management. If not, you can walk through these steps in our Getting Started Guide - ConVirt for Hyper-V.

Note - this guide applies to ConVirt Enterprise 3.x and ConVirt Enterprise Cloud 3.x versions.

2 VM Lifecycle Management

ConVirt provides a toolset for day-to-day VM administration and lifecycle management, including templates-based provisioning, monitoring, configuration management, basic automation, live migration and much more.

2.1 Create A Template

A template is a set of related configuration information from which you can create one or more virtual machines. ConVirt ships with a set of default templates geared towards doing an ISO install, and can be easily customized to your environment.

First, lets create a template you can use with your Hyper-V environment. We're going to do this by cloning and modifying an existing template:

  1. Select the Template Library

  2. Drill down to the HyperV Templates group

  3. Right click on the template and select "Create Like":

  4. Enter a new name of the template and click OK.

  5. You should see the new template show up in the HyperV Templates group.

  6. Right click on the new template, and select Edit Settings.

  7. A Template Settings dialog box should pop up that will guide you through the process of editing the template. In the General section, change the default values to match your virtual machine template. For example, you can change the memory or change the number of virtual CPUs. In this example, we will create a Windows 8 virtual machine template.
    • For "Guest OS Flavor", select "Windows"
    • For "Guest OS Name", select "Windows 8"
    • For "Guest OS Version", select "SP2"

  8. Next we'll modify the template to use an ISO file to create new virtual machines, rather than the physical cdrom device.
    • Select Storage, and select the /cdrom storage disk. Note that the template uses some variables to identify the location and name of the ISO file to use:

    • Select Template Parameters and enter the ISO location and file name for your environment:

  9. Next you will identify the switch to use to connect the VM. Select the Networks tab, select the Default Network, and select Edit.

  10. Enter the name of the switch you want to connect the virtual machine to. e.g. VM-switch0, and click Save.


  11. Press OK. We just created a template that is suitable for provisioning multiple virtual machines in your environment.

2.2 Provision A Virtual Machine

ConVirt lets you provision a virtual machine on a host server pool, on a specific host, or from a template. Here we will provision the VM from the template we just created:

  1. Right click on the template, and select Provision

  2. Select the server pool and host on which you would like to provision the VM:

  3. A dialog pops up for the template, allowing to you modify any variables in the template before you provision the VM. Give the VM a name:
    • VM: hyperv-001 (or insert your own name here)

    • Click OK to provision the VM.
  4. You should see the new VM show up in the Navigation page under your Hyper-V host server.

2.3 Start & Connect To Your Virtual Machine

Now that you have provisioned your VM, you can start it, connect to it, and use it. And you can do all this from the ConVirt console:

  1. Right click on the new VM, and select Start.

  2. When the VM icon turns green, the VM has been started

  3. Right click on the VM, and select View Console

  4. ConVirt asks which viewer you want to use to view the console:

  5. Then ConVirt opens a console window to your new virtual machine.

2.4 Change Resource Allocation on an Existing VM

With ConVirt, its easy to change the memory, number of virtual CPUs, storage, and network resources for an existing virtual machine.

  1. Shutdown the virtual machine

  2. Select "Edit Settings"

  3. Modify the Memory and Virtual CPUs, and click Save:


  4. You should see the new values reflected in the VM Summary pane

  5. Re-start the VM

2.5 Snapshot a VM/Revert to Snapshot

Snapshots capture the state, data, and hardware configuration of a running virtual machine. They provide a fast and easy way to revert the virtual machine to a previous state. ConVirt provides several operations for creating and managing snapshots of your Hyper-V virtual machines:

  • Create a snapshot
  • Manage snapshots
  • Revert to any snapshot

Lets walk through a quick example:

  1. Right click on a virtual machine (running or stopped), and select Take Snapshot

  2. Provide a name for the snapshot, click OK, and ConVirt will capture the snapshot.

  3. Now lets check and see what snapshots we currently have stored - select Manage Snapshots

  4. When the Manage Snapshots pane opens,you can see that we have a chain of 3 snapshots.

  5. You can manage your snapshots from the Manage Snapshots pane, which allows you to Edit (re-name), Revert or Delete your snapshots.


  6. You can revert to a snapshot from the Manage Snapshots pane, or by right clicking on the virtual machine


2.6 Live Migrate a VM

Live migration moves running virtual machines from one physical host to another with no impact on virtual machine availability to users. For Hyper-V, ConVirt supports drag-and-drop live migration for clustered environments, and for non-clustered hosts using local storage for the virtual machine ("shared nothing").

  • To enable "shared nothing" live migration, you need to modify the provisioning Template (or Edit Settings) for your virtual machine by going to the Miscellaneous tab, and setting the 'migrate_with_storage' property value to 1.
  1. Drag a running virtual machine from one Hyper-V host to another

  2. Click Yes to confirm the operation

  3. Your running VM now shows up under the other Hyper-V host

2.7 Monitoring & Configuration Management

ConVirt's monitoring and configuration management functionality enables you to quickly identify bottlenecks, re-allocate resources, and ensure compliance with corporate policies. All of the monitoring information is presented at multiple levels — individual virtual machine, host server, server pool, and enterprise, bringing the most pressing issues to your attention right away.

2.7.1 Performance Monitoring

As soon as a virtual machine is deployed or a host server is added, ConVirt automatically collects a comprehensive set of availability, performance and utilization metrics for CPU, memory, storage, and network I/O.

  1. Data center-level Overview tab provides a summary of data center resources, and shows CPU utilization graph for top 5 hosts in the data center over time, with additional detail showing top 5 hosts and virtual machines.

  2. The Server Pool-level Overview (for HyperV-SP) shows a summary of resources at the server pool level, a graph of performance over time (memory utilization, in this case), and top 5 hosts and virtual machines for this particular server pool.

  3. The Host-level Overview (for GIANT-01) shows a summary of resources at the host level, a graph of performance over time (CPU utilization, in this case), CPU usage, and top 5 virtual machines for this particular host.

  4. The Virtual Machine-level Overview (for F-Posh-1) shows a summary of resources at the VM level, a graph of performance over time (CPU utilization), and an audit trail of the tasks and operations applied to the VM over time.

2.7.2 Configuration and Compliance

ConVirt automatically collects detailed configuration information for host servers and virtual machines. This information is aggregated at a server pool and data center level, providing you with a consolidated view of your entire environment and helping you ensure compliance with corporate policies. In particular, ConVirt tracks the relationships between virtual machines and the templates that were used to deploy them, and flags any discrepancies. The product also keeps a detailed audit trail at the VM, host, server pool and data center level, so you can answer questions like "Who shut down this virtual machine, and when?"

  1. ConVirt provides configuration information at both the host and virtual machine level, including detailed information about storage and virtual networks.

  2. ConVirt provides a detailed tabular view of all the servers and virtual machines in a server pool. This view is sortable on any attribute, and searchable for machine names.

  3. The Tasks tab provides a detailed audit trail of all operations executed, and the data is aggregated up from the VM level to the host, server pool, and data center levels.

3 Server Pool Management and Automation

In order to take advantage of the agility introduced by virtualization, you need to uniformly manage pools of hosts according to IT policies and resource constraints. ConVirt simplifies server pool management by letting you monitor, provision, and configure virtual machines at the host and server pool level. For example, ConVirt summarizes key monitoring information across a server pool, allows you to apply pool-wide configuration and provisioning policies, and lets you associate shared storage with a pool of servers.

3.1 Provision a VM on the Host

In the example above, we provisioned a virtual machine from the template we had just created. In this example, we will provision a new virtual machine from the host server where we want it to live:

  1. Right click on the Hyper-V host, and select Provision Virtual Machine

  2. A dialog pops up for the template, allowing to you modify any variables in the template before you provision the VM. Give the VM a name:
    • VM: hyperv-001 (or insert your own name here)

    • Click OK to provision the VM.
  3. You should see the new VM show up in the Navigation page under your Hyper-V host server.

3.2 Intelligent Placement - Provision a VM on the Server Pool

When provisioning a new virtual machine or migrating an existing virtual machine, it is important to understand which host server is the best candidate to host the additional workload. However, as the number of servers grows, determining resource utilization across servers gets increasingly difficult. ConVirt eliminates this time-consuming and error-prone task by automatically identifying the best placement of the virtual machine within the server pool, based on performance and resource utilization.

  1. Right click on the server pool, and select Provision Virtual Machine

  2. A dialog pops up for the template with a host server already selected. ConVirt looks at a combination of CPU and memory utilization to determine the best host on which to place a VM, and you can modify these placement rules. Give the VM a name and click OK to provision the VM:
    • VM: hyperv-001 (or insert your own name here)

  3. You should see the new VM show up in the Navigation page under your Hyper-V host server.

3.3 Manage Virtual Networks

ConVirt significantly streamlines the error-prone and time-consuming tasks of configuring your network resources, providing a centralized interface for managing your virtual networks. With ConVirt, you can centrally define your virtual network, attach it to your host server pools, then ConVirt automates the provisioning of the networks on all the hosts in the pool.

  1. Lets create a new virtual network - we start selecting Manage Virtual Networks at the Data Center level.

  2. This brings up the Manage Virtual Networks dialog - select New.

  3. The New Virtual Network dialog box walks us through the process of configuring a new network resource. Fill in the appropriate network information for your environment. Note that the Ethernet name must be consistent across all machines in the network. Click Save to create the new Virtual Network.

  4. We've now successfully defined our VLAN.

  5. The next step is to attach this VLAN to our server pool. Lets go to the Hyper-V SP server pool, right click on it, and select Manage Virtual Networks

  6. This brings up the Manage Virtual Networks dialog for the server pool - select Attach.

  7. Select the network we just created and click Attach.

  8. Click on the green status icon to view details about the new VLAN connection.


4 Self Service

ConVirt makes it easy to give your business unit and customer administrators access to data center virtualization resources with an easy-to-use, lightweight self-service capability that overlays your existing virtualization - no new infrastructure required. You simply delegate compute resources to your business customers, and they provision and manage the compute resources via a web-based self-service console.

4.1 Set Up Network Resources

In order to create self-service Virtual Data Centers, ConVirt transforms existing virtualized infrastructure into a cloud by overlaying an Infrastructure-as-a-Service (IaaS) layer. To manage this layer, you need to set up several network resources:

  • Network Service - one additional VM to be used as a network service (with Ubuntu 12.04 or CentOS 5.x/6.x). This VM will have connectivity to
    • Management Network : to configure/manage the Network Service
    • Private VLAN Network : for running virtual machines owned by different tenants/VDCs using VLAN
    • Public Network : to make virtual machines available on the public network.
  • VLAN ID pool - a set of free VLAN IDs.
  • Public IP pool - a few unused IP addresses on public networks to allocate to virtual machines

4.1.1 Network Service

Convirt's Network Service connects the following networks:

  • Management Network : This is the network ConVirt uses to configure/manage the Network Service
  • Private VLAN Network : This is the network that is partitioned for running virtual machines owned by different tenants/VDCs using VLAN
  • Public Network : This is a public/internet facing network. ConVirt will use the interface identified for this network for making virtual machines available on the public network.

For larger scale production deployments, these networks would each be set up on their own physical network. For the purposes of this guide, we will use the same physical network to support both the Management and External/Public networks. In addition, while the Network Service can be run on an external server or on a VM, for this guide we will designate one VM to run ConVirt's Network Service.

Provision Network Service VM

  1. Provision a Linux VM on one of your hosts
    • Use ConVirt to provision an Ubuntu 12.04 VM on one of your hosts
    • Provision it with 2 virtual NICs:
    eth0 for the External/Public and Management interfaces, connecting to hv-switch0
    eth1 for the VM Network/Private VLAN interface, connecting to vm-switch0 (note: this network should allow all VLANs!)
    Getting started hyperv5.png
    • Connect to the VM and set up a root password by typing:
    sudo (you'll be prompted for the password that you used at the time of installation)
    su -l root
    passwd (enter the password for the root user)
    • Create a kvm directory (this allows the CMS to discover the VM as a KVM host):
    mkdir /dev/kvm
  2. Copy convirt-tool tarball from the CMS to the VM
    • Login to CMS server as CMS user account
    • Copy the convirt-tool tarball to the VM
    scp convirture-enterprise-tools-3.4.3.tar.gz root@virtualmachine:/root
  3. On the VM, extract the contents of the archive into a directory. For example:
    tar -xzf convirture-enterprise-tools-3.4.3.tar.gz
  4. Change to the ~/convirture-enterprise-tools/install/managed_server/scripts directory. For example:
    cd ./convirture-enterprise-tools/install/managed_server/scripts
  5. Install required dependencies:
    ./convirt-tool install_dependencies
  6. Use the convirt-tool command to configure the VM (make sure to include the "--skip_bridge" option as you do not need to create bridges on all interfaces):
    ./convirt-tool --skip_bridge setup
  7. Take note of the details needed to register the VM with ConVirt in the next section
    • Get the IP address of the eth0 interface
    ifconfig eth0

Discover Network Service VM Into ConVirt

  1. Add a new server pool to hold the Network Service host
    • Make sure the type is "KVM"
  2. Add the Network Service virtual machine as a KVM host
    • Right click no the new server pool, and select Add Server
      • Select KVM as the platform type
    • In the Add Server dialog, enter the following info to import the Network Service virtual machine as a host:
      • Host Name - use the IP address of the eth0 interface of the Network Service VM
      • Username/Password - enter the root credentials for the VM that you set up in the previous section
      • Click OK to add the server
  3. You should see the virtual machine added as a host under the new server pool you created.

4.1.2 VLAN ID Pool

ConVirt creates private virtual networks for isolation. One such network is created each time a new self-service Virtual Data Center is provisioned. In addition, ConVirt has the capability to allow users to create their own private networks. To do this, ConVirt requires a VLAN ID when such a private network is created. For convenience, a VLAN ID Pool needs to be declared.

  1. Right click on Data Center and select Manage VLAN ID Pool
  2. Click New on the Manage VLAN ID Pool dialog
  3. In the VLAN ID Pool Detail window on the Definition tab, provide the appropriate details.
  4. In the VLAN ID Pool Detail window on the Server Pools tab, select the server pools for which these VLAN IDs will be available, and click Save.
  5. You've now created a pool of VLAN IDs that you can use to provision self-service Virtual Data Centers.

4.1.3 Public IP Pool

ConVirt enables self-service Virtual Data Centers to optionally make their virtual machines accessible over the Internet by assigning a public IP address. To do this, you define a Public IP pool, and then assign Public IP quotas to Virtual Data Centers. Self-service Virtual Data Center clients can then request a Public IP, assign it to a virtual machine, and release it back into the Public IP pool.

Here's how to set up the Public IP pool:

  1. Right click on Data Center and select Manage Public IP Pool
  2. This brings up the Manage Public IP Pool dialog showing the available pools. Click Add.
  3. In the Public IP Pool dialog, specify the name of the pool and the IPs, then click Save.
  4. The Manage Public IP Pool dialog is updated to show the new pool.

4.2 Create A Local Cloud From Your Virtualized Resources

The first step in adding self service is to convert your virtualization infrastructure into a local cloud. To do this in ConVirt, an IaaS entity needs to be defined. With a few simple clicks, ConVirt’s IaaS wizard allows you to designate which parts of your existing infrastructure (server pools, networks, storage, and templates) should be used for the cloud deployment, then generates the IaaS.

  1. Right click on IaaS and select "Add IaaS" to create a new cloud resource

  2. The type of cloud we're going to create uses "Local Infrastructure"

  3. This brings up the Add Local Infrastructure Iaas dialog - put in a name and description of the cloud you want to create.

  4. Select the server pool (local infrastructure) that you would like to use for the cloud

  5. Select the network(s) you would like to make available to cloud users

  6. Select the templates that you would like to make available to cloud users

  7. Pick the Network Service host you created when you first set up ConVirt, and select the name/IP of the Network Service VM, enter the public (eth0) and private (eth1) interfaces, and click Save.
    • ConVirt will orchestrate your local resources together into an Infrastructure-as-a-Service cloud.

  8. The new cloud should show up in the IaaS area of your navigation pane.

4.3 Delegate Cloud Resources Via A "Virtual Data Center"

The next step in adding self service is to delegate some of these IaaS resources to your business customers. To do this in ConVirt, you create a Virtual Data Center (VDC), which allows customer administrators to use the IaaS cloud capacity without knowing any details about the underlying physical infrastructure. With a few simple clicks, ConVirt’s VDC wizard allows you to define the compute, template, storage and networks resources that will be made available, the quota limit for each resource, and the authorized users/administrators of the VDC. ConVirt automatically assembles the VDC based on your selections.

  1. Right click on Virtual Data Centers, and select Provision Virtual Data Center.

  2. Next you choose the cloud resource you'd like the self-service console to use. Note that you can have multiple Virtual Data Centers utilizing a single IaaS cloud. Select the cloud you just created and click OK.

  3. The Provisioning Virtual Data Center dialog should pop up, to walk you through the self-service definition. Type in an appropriate name and a description.

  4. Select the templates you would like to make available via the self-service console. Note - the templates will be limited to what is available via the cloud resource you are using.

  5. Select the network resources you would like to make available via the self-service console.

  6. Next define the resources quotas for the self-service console. ConVirt enforces these quota limits so that users of the self-service consoles cannot go beyond the limits you set.

  7. And finally, create or assign the administrator(s) for this self-service console. Note that you can assign existing users who were already defined as ConVirt admins, or you can integrate users from your LDAP or Active Directory, or you can create new users.

  8. Click Save to create the self-service Virtual Data Center. You will receive a confirmation alert.

  9. The new self-service console will show up under the Virtual Data Center section of the navigation pane. You can see the quota information in the Summary tab on the right.

4.4 Provision & Manage VMs On A Self-Service Basis

Once the Virtual Data Center (VDC) is created, authorized users/administrators will be able to access and manage the environment from ConVirt's web-based console. Users/administrators are able to do things like create Virtual Machines; create networks (if configured at the time of VDC creation); start, stop and connect to Virtual Machines; delete/destroy Virtual Machines; and reserve a public IP address and associate it to a Virtual Machine.

  1. Open a different browser, and log in to the ConVirt Management Server using the self-service user credentials you just created.

  2. What comes up is a version of ConVirt’s web-based console that shows only the resources that are authorized to be used in this self service environment.

  3. In this self service environment, you have access to all the controls that ConVirt provides - the only limits are on the resources you can access. So lets go ahead and provision a virtual machine - right click on the Virtual Machines folder and select Provision Virtual Machine.

  4. Type in a name for the virtual machine you'd like to create, and select a template to use.

  5. Select the network(s) to use with the new VM...

  6. Select or change the storage resources as appropriate, and click Save.

  7. ConVirt provisions the new VM. Note that in the Summary section, the number of Provisioned Virtual Machines has been incremented by 1.

  8. Next lets start the virtual machine - right click on it and select Start.

  9. ConVirt starts the new VM. Note that in the Summary section, the number of Running Virtual Machines has been incremented by 1.

  10. Now lets view the console for the new VM - right click on the VM and select Connect.

  11. ConVirt prompts you for the local viewer you would like to use to connect to the VM.

  12. After a Java security warning, the console window opens and you can get to work on your VM.

5 Conclusion

This concludes our feature walkthrough. Hopefully it has given you a good feel for how ConVirt works, and the depth of functionality available in the product. Please check out some of the following sections of our website for more information: