Magic Quadrant for x86 Server Virtualization Infrastructure – 2015

Gartner recently released the Magic Quadrant for x86 Server Virtualization Infrastructure  for the year 2015. I am always keen to see how Hyper-V is positioned on each reports and happy to see that Hyper-V is going strong as expected and still in leaders quadrant chasing VM Ware. Hope to see VM Ware chasing Hyper-V in upcoming year.

Magic Quadrant for x86 Server Virtualization Infrastructure

Magic Quadrant for x86 Server Virtualization Infrastructure



From the report


Microsoft’s Windows Server 2012 R2 was a major release, delivered in October 2013, and during the last year and a half, that release has become mainstream. Microsoft has effectively closed most of the functionality gap with VMware in terms of the x86 server virtualization infrastructure. Differences continue to be price (favoring Microsoft, although customers report that VMware has slightly better hardware density), ease of management (Microsoft’s multiple management tools make operations more complex, and the parent OS architecture tends to drive more planned downtime), and features (Microsoft’s Dynamic Optimization is impractical for most organizations, and VMware’s broader OS support is often critical to enterprises).

Microsoft’s efforts in enabling Azure-like capability have been attracting enterprises interested in leveraging Azure and managing both on-premises Hyper-V and Azure services. There is a growing interest in using Hyper-V for Microsoft-based development teams, especially due to its Azure affinity.

Microsoft can now meet the needs of most enterprises with respect to server virtualization. Its challenge is neither feature nor functions, but competing in a market with an entrenched competitor, VMware. Microsoft is now winning a good percentage of enterprises that are not yet heavily virtualized — especially those that are mostly Windows-based (while Linux support is improved, especially in Windows Server 2012 R2, there are few customers using Hyper-V for Linux). However, few enterprises that are heavily virtualized with an alternative technology are choosing to go through the effort to switch. A growing number of large enterprises are finding niches in which to place Microsoft — for example, in stores, branch offices or separate data centers. This strategy of “second sourcing” will enable these enterprises to evaluate Hyper-V for further deployments and perhaps leverage the competition in deals with VMware. While Microsoft’s technology is capable, winning the larger and more mission-critical deployments will be an uphill battle and will require more proof points. Hyper-V will likely be more successful in development teams interested in Azure, but requiring on-premises deployments. As Microsoft further improves its support for Azure affinity, and adds support for Windows containers in a future release, its success with development teams will continue to grow.

  • There is a large installed base of Windows servers and a large number of Windows-only enterprises.
  • Microsoft’s virtualization products are offered at a low price.
  • Hyper-V and System Center have a growing interoperability and integration with Azure.
  • Microsoft will find it difficult to convert the entrenched VMware installed base, especially in large enterprises.
  • While improving, Microsoft’s management tools have some ease-of-use weaknesses.
  • Microsoft faces growing competition with open-source-based solutions, especially in the service provider market.

You can get the full report here.


Update Rollup 6 for System Center 2012 R2

Updae Rollup 6 for System center 2012 R2 released. I am happy to see that System Center team is focused and really fixing up the issues faster.

Specific to SCVMM 2012 R2 – Rollup 6, 46 bugs are fixed with this rollup.  Also few new features also got added with this rollup.


  • Issue 1

    An 801 error occurs when VMM objects are removed. VMM sometimes encounters an issue in which a VMM object such as a virtual machine cannot be removed either from the UI or Windows Powershell because some of its child objects are missing in the database. This frequently causes users to search for remedial scripts to remove the affected objects. In Update Rollup 6, VMM has improved three Powershell cmdlets to minimize 801-related errors. These cmdlets areRemove-SCServiceTemplate, Remove-SCLibraryServer, and Remove-SCLibraryShare. Users do not have to use the –Force flag together with these cmdlets in order to avoid 801 errors. The cmdlets provide the ability to resolve dependencies that lead to 801 errors.

  • Issue 2

    The VMM service crashes and generates an access violation error in System.Xml when it respons to an Integration Services event.

  • Issue 3

    Critical Exception in the WCF error handler — ObjectDisposedException — Microsoft.VirtualManager.Engine.Remoting.ClientConnection.HandleError. When VMM shuts down the WCF service host, it is calling Abort which can cause any unprocessed messages to be ungracefully terminated, and this can result in ObjectDisposedExceptions being thrown. VMM’s top-level WCF error handler sees these exceptions before the process has terminated and reports them as critical exceptions. So here VMM reports harmless errors as critical errors possibly adding to the user confusion.

  • Issue 4

    Option for MAC Address greyed out in UI when vnic is not connected. This prevents users from marking the nic as static. After you upgrade to VMM in System Center 2012 R2, customer cannot choose the option of Static Mac Address in the VM templates he creates, if the VM is not connected to a network. The MAC Address and IP options are greyed out when the VM is “not connected”. Therefore, he cannot assign a static MAC Address to the VM before the deployment.

  • Issue 5

    VM customization can fail with critical exception when Hyper-V does not return a floppy drive object. During customization of a VM there is a chance that Hyper-V will return the Floppy Drive object as null and VMM trying to add one, but adding Floppy Drive is not implemented at Hyper-V which will throw an exception causing job failure and leaves the VM in creation failed state but user can repair the VM to be functional, This ‘may’ occur if the Floppy Drive Config (on remote share) is not available to Hyper-V or Hyper-V is busy/stressed.

  • Issue 6

    Cannot deploy VMs with static IP when multiple IP Pools for one VM Subnet are configured. Customer tries to create a VM by using a Template which has static IP settings. If there are multiple IP pools in a Subnet and customer provides an IP address from a different pool than the default one (ie., auto populated pool shown in the UI), then the VM wizard finishes without any errors but the VM creation fails with “IP Address Out of range” error.

  • Issue 7

    VmmService crash occurs during handling of removed VM Subnets on IP change events sent by Hyper-v. In a NVGRE setup, if there is an event sent by Hyper-V for IP Change but the VM Subnet no longer exists in VMM, it causes a VMM service crash.

  • Issue 8

    VMS are reported missing as the VmMovedRefresherEvent is not received. When a VM move event occurs while a host is not in Eventing mode and the VM is in migration state and when the event refresher hooks up there might be a window where no one is listening and the update operation right before listening mode does not receive the change.
    Therefore VMM will not receive these changes until next Full Refresher which can be as worst as 24 hours.

  • Issue 9

    Require explicit flags to indicate missing or Service VM removal during Remove-Host to the user. Currently VMM does not check for the existence of VMs on host while removing host from VMM. A host can contain Service VMs, VMs deployed on cloud or having custom properties that are defined for it, If user accidentally remove such host then all these associations will be broken. This fix will avoid such scenarios by prompting users for a confirmation message before such hosts are actually removed from VMM.

  • Issue 10

    If you have a Logical Network that has multiple network sites, and the network sites are visible to the host network adapter, PAs from those different network sites will be allocated and the routing information must be set also. (Network sites are sometimes called “logical network definitions.”) In a multiple host scenario with vm1 on host1 being connected to PA1, there is a case if a VM2 is connected to a hnv LN and has a PA1 for NetwkSite1 and then it is disconnected and reconnected later on and has a PA2 for NetwkSite2 (randomly or because of PA exhaustion), then for some time, we might not populate the PA routing information between NetwkSite1 and NetwkSite2. This occurs because of the way the internal route representation is keyed for insertion in a hash table.

  • Issue 11

    When a host is refreshed it establishes a WinRM network connection (to each host refreshed) that constantly streams data

  • Issue 12

    When multiple host virtual network adapters are created, random failures are observed. When customers create multiple virtual network adapters in one shot as part of a logical switch, one or more virtual network adapter IP configuration may fail.

  • Issue 13

    User hits a duplicate key insertion in HostWSManGetter.UpdateRASDCache when doing a host update.

  • Issue 14

    When the user tries to clone a VM with checkpoints, after the cloning operation is complete, VMM wrongly recognizes the newly created clone VM as original VM, and incorrectly infers that the VM has migrated and tries to handle this change. Therefore, an additional VM on another host with ‘missing’ state is created. VMM thinks VM is using a different host and this VM is not visible to TFS until next VM update.

  • Issue 15

    When VSEM provider is upgraded, the provider’s capability to receive notifications is not indicated to the notification engine

  • Issue 16

    Networking placement crashes during dynamic host optimization. Some placement operations were supposed to be run as task. When it is executed in refresher task, context is null which leads to placement crash.

  • Issue 17

    When Delegated Administrators start the VMM console it takes 4+ minutes to open the VMM console. In large environments VMM console start is delayed for Delegated Administrators when it is compared to Administrators.

  • Issue 18

    Storage provider update fails after replacing disk on sofs.

  • Issue 19

    VMM cannot update replica/primary VM without ASR, also Migration of Recovery VM in IR Pending state does not perform live migration

  • Issue 20

    When a VM is deleted, the chechpoints are merged before being deleted. When the user tries to delete a VM with checkpoints, it takes a long time for deletion (sometimes up to an hour) to finish.

  • Issue 21

    A Run DO operation sometimes receives critical exception : DBCorruptionException

  • Issue 22

    Some users use large VIPAddress Sets instead of IP Ranges to make it easier to add/remove individual IPs. VMM Management Pack schema currently limits this field to 256 chars (default). However, the users may have values ~500 characters long. And therefore Discovery was breaking VMM-OM integration because of an unexpected exception from SCOM.

  • Issue 23

    Target RG and target LUNs are not associated after enableRG task if the RG/LUNs are precreated.

  • Issue 24

    Have to update MAC Address entries for an F5 Gateway device when it fails and is replaced. If an F5 Device is RMA’d and replaced with a new device with a new MAC address, VMM does not have a way to update the MAC address for the new device.

  • Issue 25

    Let user stamping on replica VM to let you stamp user identity. Users have to update UserRole and Owner attributes on their ReplicaVMs but currently any operation on the Replica VM is blocked. So, they cannot update these two parameters on Replica VMs.

  • Issue 26

    Registerred SMB share is not displaying as target path option when you deploy a new HA VM to a cluster.

  • Issue 27

    Critical Exception in the Storage Refresher when discovering the replication service — ArgumentNullException — SetCustomOptions.

  • Issue 28

    During the Host refresher VMM queries the team Information (switch team Or LBFO team). Whereas querying switch teams VMM hits the WSMan exception which causes the vswitch to disappear from the console.

  • Issue 29

    HTTPS protocol is not supported in Probe, then VMM cannot created monitor rule to monitor HTTPS site. VMM supports HTTP and HTTPs in the LB port configuration section but HTTPS is not supported in the LB probe protocol section.

  • Issue 30

    Resource owner (SSU User) not authorized to access ‘GrantedTo’ list of a resource and therefore not able to see who all have acess to the resource. When the user granting access is also a self-service user, then they cannot see the changes they have made until they restart the console. An admin user can see the change, but for a self-service user, the GrantedToList continues to return cached results, until they restart the console.

  • Issue 31

    Unable to move parent disks that have the built-in migration process of VMM. User has several hundreds of VMs, with all diff disks pointing to a single parent. Moving all these VMs to a new storage solution is being blocked by VMM. In case of diffdisks, if any ancestor disk in the hierarchy (parent/child relation) is shared by another diff disk, then the storage migration of diff disk is blocked by VMM, but same is enabled through Hyper-V Manager.

  • Issue 32

    Field expectedDSColumn throws critical exception while tracing the message for columns mismatch causing Server crash when it runs get-scvmhost. After Server DB is updated to Threshold, R2 server cannot work with it in certain cases. This codepath is used by some networking objects and ADHC objects.

  • Issue 33

    When scaling out an existing service template, duplicate Hyper-V VMs with the same name are created on VMM in System Center 2012 R2 Update Rollup 5.

  • Issue 34

    SCSR, WDS, and DPM servicing fails in VMM with error “22029: VMM could not create a process for the script command cmd.exe”

  • Issue 35

    Live migration of the VM fails, when we use clustered storage space as CSV and the VM’s storage is located on CSV. Hyper-V Cluster Live Migration does not work any longer after VMM 2012 R2 UR5.

  • Issue 36

    Base disk placement should rotate between valid placement shares.

  • Issue 37

    The VMM Console may use an existing Release string during service template copy. Sometimes, users cannot copy a service template by using “Copy” command for a service template. Reason is that Administrator console generates an already existing string for the release.

  • Issue 38

    The Capacity Overview Tile is missing in VMM in System Center 2012 R2. In VMM in System Center 2012 SP1, under the VMs and services pane, when you select a host and then click overview on the top menu, the console provides Summary and Capacity information about the selected host. The details about Processor cores, memory (GB) and Storage (GB) became unavailable in System Center 2012 R2.

  • Issue 39

    VMM Service Crashing because of duplicate VSID. In rare cases (synchronization/race-condition and random number collision), different HNV VM Subnets can obtain the same VMSubnetIdentifier (a.k.a VSID). This leads to unexpected behavior when you use these HNV VM subnets. For example, for VMs connected to this subnet, the VMs may not obtain the expected connectivity and will be unable to talk to VMs on the same subnet. Or when their IP address changes it will cause VMM Service crash.

  • Issue 40

    Deploying a VM behind a Load Balancer causes a Critical Excepion on Placement:

  • Issue 41

    Start Page that was introduced in Update Rollup 5, is removed in Update Rollup 6.

  • Issue 42

    A virtual machine is not associated with a replication group and could not be moved to a location that is protected by replication group.

  • Issue 43

    Guest IP on HNV Network is not marked as Dynamic/DedicatedGuestIP even if settings are enabled for it. CA Failover broken. For any IP address added/moved in a VM connected to NVGRE Network (HNV Guest Cluster/Guest IP Failover scenario), the IP address is *not* marked as dynamic (type = DedicatedGuestIP in VMM) even if the VM has the settings EnableGuestIPNetworkVirtualizationUpdates=true. When the first time that the IP address is added/moved it will work, but later failovers of the IP (moving from one VM to other) will not be detected automatically. Therefore the IP address will not be reachable and the VM will lose connectivity.

  • Issue 44

    Older embedded storage provider from Hitachi integration broken with UR5. The storage provider cannot be refreshed. This prevents management of the provider.

  • Issue 45

    The VMM client crashes when you set power optimization time range.

  • Issue 46

    A race condition exists in the disposal of the WnvEventEntrySubscriptionObserver when the connection of the host fails.


System Center Virtual Machine Manager 2012 R2 – Rollup 5 released

Rollup Updates are becoming more frequent as promised and this time, Rollup Update 5 came up with tons of bug fixes.

Really impressed on the focus VMM team got now on making this product better.

Bug Fixes with RU5

  • When you use the Virtual Machine Manager UI to enable a virtual machine replica, it doesn’t throw any error. However, Windows PowerShell does throw an error.
  • Virtual Machine Manager services crash when there is a discrepancy between Windows Server Update Services (WSUS) and the Virtual Machine Manager baseline. If the update is cleaned up from WSUS, the Virtual Machine Manager Service crashes while it tries to approve that update. Additionally, the ObjectNotFound exception is not handled correctly.
  • The current logic is that if a storage pool supports only one provisioning type, the storage pool defaults to type “fixed.” This is incorrect. If AreMultipleProvisioningTypesSupported is false and we mark THIN as false and then go ahead with the FIXED type, logical unit number (LUN) creation fails in cases where storage pools support the THIN type of storage.
  • To create site-to-site connectivity in current versions, customers have to use IPSec S2S tunnels. S2S GRE tunnels are now enabled to use bandwidth more efficiently.
  • When Virtual Machine Manager is running a job, it holds the lock and cannot be cancelled. If you try to cancel the job, the job is still shown as “running.” Any further refresh of the host or the cluster will evoke a failure notice that states that the lock is held by the running Virtual Machine Manager job.
  • The power savings daily and monthly performance data is not aggregated correctly. As a result, power savings for the month is seen as zero (0) for the Administrator Console. The hourly performance data is reported correctly by the cmdlet.
  • Virtual Machine Manager server setup is updated to install the latest DacFx (SQL Server 2014) for the SQL Server application host.
  • Virtual Machine Manager UI console crashes intermittently with the following exception:
    System.ServiceModel.CommunicationException in OptimizeHostsAction
  • All “Hyper-V Recovery Manager”-related strings have been updated to “Azure Site Recovery.” This is the new product name.
  • Migrating an unprotected virtual machine to a protected virtual machine on the same host currently shows the transfer as the SAN type. This is incorrect. Virtual Machine Manager should show the network only when the virtual machine is off, and shows virtual machine and storage migration (VSM) when the virtual machine is running, whether it is on the same host or on a different host.
  • Customers who run Virtual Machine Manager at the scale experience long completion time for loading the history of jobs.
  • The stored procedure dbo.prc_WLC_GetVmInstanceIdByObjectId fails if the VMId column is empty in any of the rows of the tbl_WLC_VMInstance table. Affected customers will not able to set up disaster recovery for their virtual machines. Typically this occurs when the customer has a virtual machine that was created and then upgraded to System Center 2012 Virtual Machine Manager SP1. In this case, enable protection is blocked for all virtual machines and not just for specific virtual machines.
  • The new LUN that is created on an EMC array pool tries to use an old SMLunId that was previously generated. Therefore, RG creation with multiple LUNs fail, and you receive the following error message:
    26587: SMLunId is re-used for newly created LUN
  • Storage array is unnecessarily locked while data is collected during a provider rescan. The lock is applied only when data is refreshed.
  • The EnableRG operation for NetApp fails when two providers are used in a fully discoverable model.
  • Creation of a virtual machine to the recovery cloud after failover has occurred on the recovery site fails, and you are told that the cloud doesn’t support protection. Virtual machine migration to RG is blocked in this scenario.
  • If the virtual machine was refreshed, the Administrator Console blocks shutdown of the virtual machine.
  • When test failover (TFO) is completed, the snapshot LUNs are removed from the backend (NetApp). However, Virtual Machine Manager still shows them. Only a provider rescan (not refresh) removes both the LUNs and the pool.
  • Currently, Virtual Machine Manager has only the “NETAPP LUN” option added into the host MPIO devices when we add the host into Virtual Machine Manager. With this update, “NETAPP LUN C-Mode” is added into the host MPIO devices as another option.
  • The System Center Operations Manager object property IsClustered for HostVolume is displayed in the UI without an associated value.
  • When the system is under load, Virtual Machine Customization operations report the following error:
    609: Virtual Machine Manager cannot detect a heartbeat from the specified virtual machine

    The creation of the virtual machine (with customizations) actually succeeds. However, Virtual Machine Manager puts the virtual machine in a failed state because of this job failure. The user can safely ignore the failure to bring the virtual machine back. However, the user may think that something went wrong and re-create the virtual machine.

  • Currently, users have to manually update the DHCP extension after update rollup installation on all hosts. This is now automated. After the DHCP extension is replaced in the Virtual Machine Manager server’s installation folder to the latest version, Virtual Machine Manager automatically checks the DHCP extension against all hosts. If the host has an older version of DHCP extensions, the agent version status will be displayed as “DHCP extension needs to be updated in host properties on the Status page.” The user calls the update agent and updates the DHCP extension on the Hyper-V host in the same way that the user did this for the Virtual Machine Manager agent. Also, if the VSwitch is a logical switch, the status will be shown in “logical switch compliance.” The user can remediate the logical switch. This will also update the DHCP extension on the host.
  • Sometimes the creation of the unattend.xml file will fail when multiple virtual machines are being customized at the same time. (This file is used as part of virtual machine customization.)
  • Virtual Machine Manager host and cluster refresher checks the permissions (ACLs) of file shares that are registered to a host or cluster. When permissions aren’t found, the refresher reports an error, and a button is placed on the host’s or cluster’s properties page to “repair” the share to set the appropriate permissions. If certain permissions are added, the refresher will erroneously report an error even if the required permissions do exist. The “repair” operation, if invoked, will report that it failed to repair the share.
  • Host.GetInstance is taking a lock on HostVolumes, HostDisks, and HostHbas. However, it is releasing locks only on HostVolumes and HostDisks and continues to hold HostHbas locks. Therefore, if a child task in ControlledChildScheduler takes a lock on the host, subsequent child subtasks cannot acquire a lock on the host.
  • Source logical unit is now being set as part of TFO snapshot creation so that DRA is able to look up the snapshot LUN that corresponds to a replica LUN.
  • Virtual Machine Manager Update Remediation shows only check boxes. This occurs because the dialog box doesn’t force loading of all of the update objects from the server and because of how data binding works. This leaves the names blank instead of either causing a crash or throwing error text.
  • Enabling protection with replication groups with a null target group entity in paramset while making the WCF protocol causes a critical exception to occur.
  • Sometimes, Replication Group protection at scale fails because of database issues.
  • In-place migration of a virtual machine to RG can lead to any of the following issues:
    • No destinations are visible for migration.
    • The migration wizard finishes, but no migration job is triggered.
    • Actual data transfer rather than just metadata transfer takes place.
  • The virtual machine vNic is renamed to “Not connected” if the vNic is not connected to a network. However, the name is not being reset to its original name when the connectivity changes. This can cause a lot of confusion in the UI because all vNics appear as “Not connected” even if there is real connectivity.
  • The UnregisterStorageLun task in a replication group fails intermittently because of SQL deadlock.
  • Service Deployment fails if a library resource is read-only and is copied directly and not from the network. When a file in a custom resource on the library server is read-only (attribute), the deployment will fail when you don’t use network copy. However, it will succeed when you do use network copy.
  • Very slow performance occurs when new-scvmconfig is called. new-scvmconfig is required for multiple new virtual machine scenarios. Each virtual machine creation takes longer and longer to run through placement as the virtual machine name is created.
  • A Virtual Machine refresher job hangs indefinitely after you enable maintenance mode on another cluster node. This will cause a deadlock condition in event-based virtual machine refresh jobs. This may occur when something happens during Subscribe or UnsubscribeForEvents. Now the deadlock condition is removed. If there is an error, it will fall back to the VMLightRefresher for that host.
  • A LUN that has no snapshots could not be registered with Register-LUN.
  • When parallel Register-LUNs are running for NetApp, that multiple SPCs may be created for the same node but for a different LUN. This can happen because of the following two reasons:
    • An OOB configuration was done, and an IG has been created for each node of the cluster for different LUNs. Although this is possible in Netapp, this is a bad configuration, and Virtual Machine Manager will throw an error.
    • An issue in Virtual Machine Manager could cause a situation in which parallel operations create different IGs for the same node and different LUNs.
  • For a discovered ReplicationGroup, the relationship of the LUN to RG is not established.
  • After a customer initializes placement of any or all members of a service configuration that uses a load balancer, the customer can no longer retarget the individual virtual machine configurations of the service configuration. Instead, when the user tries to do this, the user receives a message that states that the service configuration actions are invalid. This blocks the customer from being able to spread virtual machines across host groups.
  • Intermediate-level refresher removes all group sync information.
  • Get-SCReplicationGroup does not return a replication group after a provider was removed and re-added or if the provider was never realized in the array.
  • Planned failover for replication group fails in “PreValidateFailover.”
  • User selection on the Virtual Machine Manager UI grid is lost because Virtual Machine Manager keeps refreshing the object. This severely affects the ability to do multi-select and do operations on scale environments. When theIsSynchronizedWithCurrentItem property is set to True on a data grid, a multi-selection resets to a single selection during a refresh.
  • Virtual Machine Manager UI start-up for a self-service user takes a long time. The UI start takes longer than 4 to 10 minutes.
  • Cloning a virtual machine with Checkpoint fails with “An item with the same key has already been added” when the cloned virtual machine is placed on a dynamic disk. This blocks the cloning of the impacted virtual machines.
  • Performance data (disk space) is not available in Operations Manager for VMWare hosts. Performance data collection (except host disk space) for non-HyperV hosts is collected through the Windows PowerShell cmdlet Get-SCPerfData. However, for Host disk space, Virtual Machine Manager was still using the managed module. Now everything uses the Windows PowerShell cmdlet.
  • The Virtual Machine Manager Administrator Console crashes when the user tries to open the “Add Hyper-v Host And Clusters” wizard. The customer environment produces PRO objects with guid == guid.empty. These objects are cached at the client-side in ClientCache.
  • Library Refresher takes very long to run if the number of files on the library shares is huge and if during this time a read lock is held on the User Role. Therefore, other operations on UserRole fail during this time. Library refresh runs every hour, and currently it can take up to 50 minutes in a customer environment to run for one complete cycle. During this time, some of the operations on UserRole may fail.
  • When multiple deployments are performed concurrently, the progress (time remaining) display job of the file copy fails because of an Overflow exception and causes the service to crash.
  • If an administrator user or a self-service user grants permission to a new self-service user to a service template, the newly added self-service user does not see the service template in its session. Therefore, the self-service user who was granted the access does not see the resources in its session even after authorization is granted.
  • When a user is deleted from Active Directory, the user starts appearing as invalid SID in Virtual Machine Manager. If an invalid SID is present in the ACLs of a virtual machine, all subsequent modifications (addition or removal of users) to the ACL fail silently.
  • Storage provider refresh causes an exception to occur.
  • Migration of a protected running virtual machine uses a network instead of LiveVSM if the virtual machine is migrated to unprotected storage.
  • The container ID for a tier configuration object is initialized even when the hosts that are appropriate for that tier configuration are not in the scope of the placement attempt.
  • Multiple Create VM jobs fail with a locking exception when you run batch virtual machine creations in parallel.
  • While you are running a batch of 100 or more virtual machine creation scenarios in parallel, each virtual machine creation task does not show any progress for 15 to 20 minutes after you submit the task.
  • If a physical computer profile is created by using vNic (and by using a virtual machine network) and if there are more than one hostgroup for a logical network that also has that virtual machine network when you add a host resource on the “Provisioning Options” page, the host profile will be displayed for only one host group. The profile won’t be displayed for the rest of the host groups.
  • A Disable Replication Group job fails because of a database deadlock condition.
  • HP returns the same SMLUNId for source and replica LUNs. Therefore, the hostdisk-to-LUN association is not established in hostrefresher.
  • Disable Maintenance Packs because of Operations Manager alerts such as the following:
    Cloud maximum memory usage to fabric memory capacity ratio has reached or exceeded threshold.
  • Add-Virtual Machine ManagerStorageToComputeClusterOnRack fails, and you receive the following error message:
    Could not find tenant share registered to cluster
  • Virtual Machine Manager encounters critical exceptions during provider rescan.
  • Replication group does not show up in Cloud Properties if pools and LUNs are attached to a child hostgroup.
  • If replication is broken, a critical exception occurs if the replication group is used to perform a disaster recovery (DR) operation.
  • In live migration of a virtual machine from Windows Server 2012 to Windows Server 2012 R2, the threshold fails with a critical exception. As a result, live migration from Windows Server 2012 to Windows Server 2012 R2 won’t have the virtual network adapters fixed. This could cause the Virtual Machine Manager database to be inconsistent with the Hyper-V host and also to fail during the migration.
  • Creation of LUN sometimes fails with invalid handle error.
  • After failover, the virtual machines are reported to have protection errors in the Virtual Machine Manager UI although there are actually no errors.
  • A potential race condition in the MOM Discovery Refresher causes intermittent failures in Virtual Machine Manager Operations Manager connections. This can cause Operations Manager connection failures.
  • Cluster Node goes into a pause state intermittently after you refresh the host cluster. As part of reliability improvement, the HA calculation logic was changed to support failed nodes to be ignored. The calculation logic was rewritten, and in the new logic, logical networks are enforced on the switch. If the switch does not have any logical networks marked, the switch is marked as “non-HA,” and Virtual Machine Manager pauses the cluster node.
  • Custom properties are returned as Null after Set-SCVMTemplate is called. When a Virtual Machine Manager object’s attribute (such as Description) is updated through Windows PowerShell ($t | set-scvmtemplate -args), a problem arises in retrieving the CustomProperty parameter data (by using Windows PowerShell cmdlets such as $t, $t.customproperty, and$t.customproperties), and they will be returned as Null. This occurs because the CustomPropertyIDs of the object are being cleared on the engine side during updates.
  • Live migration fails with incompatible switch port settings. If the target Hyper-V virtual switch doesn’t have VLAN configured during the migration, and if the source virtual machine has a virtual network adapter, Virtual Machine Manager tries to create VLAN settings for it and to assign VLAN ID 0 (that is, “VLAN disabled”). But on a virtual switch where no VLAN is configured, the adding of the VLAN setting causes an incompatibility error from Hyper-V, and the migration fails.
  • A critical exception occurs in the Storage Refresher — ArgumentException — StrgArray.addPoolInternal. Under certain erroneous conditions, he Windows storage service can report multiple storage pools sharing the same ObjectId (this should never happen). The storage provider cannot be refreshed, and therefore cannot be managed. The provider cannot even be removed from Virtual Machine Manager to begin again.
  • Operations such as Migration, Store, or Delete on cloned virtual machines leave the virtual machine configuration file on the host. In a Virtual Machine Manager setup that uses cloning heavily, every cloned virtual machine will leave behind a set of virtual machine configurations and save state files after it is deleted or migrated. This consumes significant disk space. In addition, the deletion and migrations all succeed with a warning message that states that they couldn’t clean up the folder.
  • File share loses user set classification when the share goes from managed to unmanaged. Because of a NetApp provider issue, if the provider loses network connectivity to the array, the provider may not report back any pools even though there are pools. If this happens during a refresh, Virtual Machine Manager will assume that the pools are no longer there and will remove any pool records from the database.
  • GroupMasking in Virtual Machine Manager fails to get MaskingSet From Job. For group masking, if createmaskingset is called with a job, Virtual Machine Manager doesn’t get masking set from job completion but retries even on success. This is reported to occur only when unmasking to an iSCSI Initiator. FC initiators work fine.
  • Template that is based on “SAN Copy capable” VHDX is marked as “Non-SAN Copy Capable” template. The user won’t be able to rapidly provision virtual machines by using Virtual Machine Manager on Nimble storage.
  • prc_WLC_GetUniqueComputerName doesn’t set FoundUniqueName to true even when a unique name is found.
  • After storing a virtual machine to a library, Refresh Library Share will hit critical failures.
  • A LibraryShare resource does not update the namespace after an update of the SSU data path as the Library share. The namespace for library resources will not be updated even after refresh.
  • A virtual machine is shown as a replica virtual machine after failover operations. For ASR SAN replication scenarios, when the virtual machine is failed over, the virtual machine is shown as a replica virtual machine, and the user cannot make much use of the failed-over virtual machine. The user has to trigger reverse role to fix the replication mode.
  • Deploying a stored virtual machine fails in placement with a critical exception. A critical exception will block deploying a previously stored HA Hyper-V virtual machine from the library to an HA host after Update Rollup 5 is applied.
  • Security Update A vulnerability exists in Virtual Machine Manager when it incorrectly validates user roles. The vulnerability could allow elevation of privilege if an attacker logs on to an affected system. An attacker must have valid Active Directory logon credentials and be able to log on with those credentials to exploit the vulnerability. For more information about this security update, see the following article in the Microsoft Knowledge Base.

I did the update on my SCVMM cluster and all looks good other than a start-up error related with Add-In. This can be fixed by adjusting the permissions for the specific folder.



Download link –



Windows Server 2012 R2 – Hyper-V Cluster – Updates/Driver/Firmware Consistency Report

As the environment gets bigger, you may face challenges on maintaining the consistency with respect the patches , drivers and firmwares of each cluster nodes. I thought of make a Powershell script which will give a report on the updates/drivers/firmware consistence of a cluster. Along with this, I want to have a check on the Hyper-V specific updates. As you may already knowing, The Technet wiki page for Windows Server 2012 R2 Hyper-V Updates is the place where I keep monitoring for Hyper-V specific patches. This page should be the source which my script needs to cross check. Keeping all this in mind, I started last week.

Challenge 1- Reading the data from and making out the list of KBs. I don’t know what all I did , what all options I tried – but successful at last. I know, it may not be the optimal way to make this list. Any help improving this code is highly appreciated.

Challenge 2 – An IE Popup comes related with Internet Explorer Enhanced Security Configuration. May be tweaking iE settings can suppress this. But If you know any option to fix this through my code, Please let me know.


Download this script from Technet Gallery.

Screenshots from the report below.

Windows Server 2012 R2 – Hyper-V Cluster – Updates/Driver/Firmware Consistency Report

Windows Server 2012 R2 – Hyper-V Cluster – Updates/Driver/Firmware Consistency Report


Windows Updates

Windows Updates


HBA Driver Firmware

HBA Driver Firmware


Network Drivers

Network Drivers


Powershell one liners for Hyper-V

Few Powershell based OneLiners which I use frequently !


Identify the best node for placement with respect to memory utilization.

(Get-ClusterNode -cluster CLUSTERNAME |Select Name, @{L="VMCount";E={(Get-VM -ComputerName $}},
@{L="AvailableMemory(GB)"; E={(Get-VMHOST $_.Name).MemoryCapacity/1GB-(Get-VM -ComputerName $ |Measure-Object MemoryAssigned -Sum).sum/1GB}}|Sort "AvailableMemory(GB)" -Descending)



PowerShell One Liner - MemoryUsage

PowerShell One Liner – MemoryUsage


CSV Usage Statistics


Get-ClusterSharedVolume -Cluster CLUSTERNAME| select -Expand SharedVolumeInfo |select FriendlyVolumeName, @{n="Capacity(GB)";e={$_.Partition.Size/1GB}}, @{n="FreeSpace(GB)";e={($_.Partition.Size -$_.Partition.UsedSpace)/1GB}} |Sort-Object "FreeSpace(GB)" |sort "FreeSpace(GB)" -Descending



CSV Stat

List all VMs in a Hyper-V Cluster


Get-ClusterNode -Cluster CLUSTERNAME |foreach {Get-VM -ComputerName $_.Name}



List all VMs in a cluster with Integration Service version

Get-ClusterNode -Cluster CLUSTERNAME |Foreach {Get-VM -ComputerName $ |select name, IntegrationServices



List all VMs in a cluster which got a SnapShot/CheckPoint


Get-ClusterNode -Cluster CLUSTERNAME |Foreach {Get-VM -ComputerName $|Where {$_.ParentSnapshotId -ne $Null}}


List all VMs with DVD/CD information

Get-ClusterNode -Cluster CLUSTERNAME |Foreach {Get-VM -ComputerName $ |Get-VMDvdDrive}


Mounted DVD Information

Mounted DVD Information


List all Hyper-V related errors for the last 24 hours

Get-ClusterNode -Cluster CLUSTERNAME |Foreach {Get-WinEvent Microsoft-Windows-hyper-V-* -ComputerName $|where {$_.TimeCreated -gt (Get-Date).AddDays(-1) -AND ($_.LevelDisplayName -eq "Error" -OR $_.LevelDisplayName -eq "Critical")}|Select Machinename, TimeCreated, LevelDisplayName, MEssage |FL}



More to come !




E-Book on Hyper-V from Altaro

Altaro Software has published a free E Book on Hyper-V written by Eric Siron. Its a well narrated and informative stuff which will be a great asset for any Hyper-V administrator. Eric also contributes for the Hyper-V blog which I always follow.

7 Key Areas of Hyper-V

Grab your copy of e book here.




Removing stale HostCluster and VMHost from SCVMM 2012 R2

I had seen few cases where deleting a VMHost from SCVMM console may fail. Even with the -Force switch in Powershell will not help. This was based on my experience with the previous versions.

This time also, I got a chance to try it with SCVMM 2012 R2. Worked well.

Here is the sequence.

1) Delete all VMs from this cluster

2) Delete each Host one by one.

Remove-VMHost -VMHost HyperVHostName -Force

3) Once all Hosts are removed, Remove the VMHostCluster

Get-VMHostCluster -Name HostClusterName |Remove-VMHostCluster


Just Remove-VMhostCluster will not help.



PS C:\Users\shaba> Remove-VMHostCluster -VMHostCluster HostClusterName
Remove-SCVMHostCluster : Cannot bind parameter ‘VMHostCluster’. Cannot convert the “HostClusterName” value of type
“System.String” to type “Microsoft.SystemCenter.VirtualMachineManager.HostCluster”.
At line:1 char:37
+ Remove-VMHostCluster -VMHostCluster HostClusterName
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Remove-SCVMHostCluster], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.RemoveHostClusterCmdlet


Ensure that you have a safe backup before playing around !

Good luck !


In-place Upgrading Windows Server 2012 Cluster Node to Windows Server 2012 R2

Last year, I wrote about upgrading a Windows Server 2012 Hyper-V server to Windows Server 2012 R2. That was an inplace upgrade and a direct shot.

After that, I was trying to see how this upgrade will happen if the Windows server 2012 is a member of a cluster.

Tried and here is the result.

Compatibility Report


Its something which is not possible. 😀

Though I shouldn’t be trying this keeping the thumb rule that cluster nodes must be unique. But this afternoon made me crazy thinking of different approach.

I wish if the systems are made in such a way that we can independently upgrade the cluster nodes one by one to the latest versions. May be – developers can think about having “Upgrade Mode” which will allow to have two versions of OS working together with limited functionality. so that we could quickly upgrade the nodes one by one and once finishing, switching back to the normal mode.