Results for category "HyperV3"

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.




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.




Hyper-V gaining market share !

Another good day for Hyper-V lovers ! As expected, Microsoft is gaining on the market share server virtualization. And apparently, we could see that VMWare is loosing on the other side.


Virtualization Market Share-2014

Virtualization Market Share-2014



I did see that many VMWare customers are moving towards Hyper-V. At the same time, virtualization spectrum is expanding. Now Huawei is picking up. Others like Oracle, RedHat etc are slowly growing up. Its not same as the old days where VMWare had a monopoly without any major competitor. In this bigger market with multiple players, Microsoft is growing rapidly which is just awesome !




Hyper-V Dashboard V 3.2 released

With few bug fixes and few enhancements, the new version of Hyper-V Dashboard is now available on technet gallery.

V 3.1 had a bug where if  a Hyper-v host was only having a single VM, the script was not able to identify it properly.

Apart from this, few other enhancement on the color coding also done now.

Try it out now !

VM report


Host Report


storage report




Hyper-V Dashboard – 500+ downloads

Its a special day for me. My Hyper-V Dashboard crossed 500 downloads in three months. Thanks for all those who have downloaded, commented, tweeted and provided me feedback over email.


Cheers !


HyperV Dashboard

HyperV Dashboard





Hyper-V Clusters crashing… Due to network disconnects

I faced a strange issue with Hyper-V servers. My Windows Server 2012 cluster started crashing randomly. Last time, I had a similar experience but that was having a pattern. Every Friday between 1.3o PM and 2 PM, servers will crash. After digging, We realized that the Antivirus client (SEP) was having a scheduled scan running. However, after few minutes of scanning, the system will crash with BSOD. However, this issue was not happening to all nodes and the cluster was mostly up.

In this case, majority of the servers are crashing in a sequence. Started analyzing the logs and memory dumps.

BSOD - Probably caused by : VMMDHCPSvr.sys ( VMMDHCPSvr+80e6 )

Memory Dump  – Probably caused by : VMMDHCPSvr.sys ( VMMDHCPSvr+80e6 )



The second dump like this..


Memory Dump - Probably caused by : ntkrnlmp.exe ( nt!WheaReportHwError+249 )

Memory Dump – Probably caused by : ntkrnlmp.exe ( nt!WheaReportHwError+249 )


The event logs was having events which says that Network is getting partitioned. This opened a clue and started looking at the connectivity. Though servers are connected to the same switch, the servers are loosing pings with in the same VLAN frequently. This issue was specific to the communication with in the subnet and external connectivity was mostly fine.


We got our network team involved and after some analysis, we identified one Windows 2008 R2 server which was flooding the network. Disconnected this server and the issue is sorted out.

Lesson Learned – The issues in the echo system can also lead to failures. No where related with Hyper-V servers or the VMs, but got badly impacted.



Why Hyper-V ?

This is one of the hot topic which I am seeing for the last few years. Though I am not an expert on VMWare, I thought of writing my view point why should you consider Hyper-V now. I say it again – This post is only about why you should consider Hyper-V… Not about why you should not consider VM Ware.

VMWare ESX is in the virtualization world from 2001 and considered as the popular Virtualization platform. As other products started entering into Virtuilization spectrum, by 2008 consumers got few choice to choose between multiple Virtualization platforms. VMWare ESX was the spotlight until Windows Server 2012 was released. And now with Windows Server 2012 R2, I feel that Microsoft will dominate with a larger number of market share with in the next two years.

My view point.

Going through the Gartner reports for the last few years for Server Virtualization – Its evident that Microsoft has invested  a lot and proved that Hyper-V is one among the best.  I hope that in the upcoming Gartner report, Microsoft will be more closer to VM Ware and may be in the next year – they will share the same position. :) . In the mean time, VMWare was stagnate with out any change in these years – though being the top. If you are a VMWare fan  – I know you have a strong disagreement.



Gartners Magic Quadrant

Gartners Magic Quadrant


I did an evaluation of VMWare few months back and while comparing with Hyper-V, I dont see much difference as a whole. We would like to see how quickly we can deploy a private cloud through VMWare as I took two months to setup SCVMM and may be few weeks to setup a private cloud . I was standing neutral and passive on the whole deployment and configuration. For me – I dont think that VMWare is also not so simple and may need good understanding to make the running smooth.

I made a private cloud with SCVMM 2012 R2 with just Hyper-V and SCMM 2012 R2. For the first time, I struggled a lot as I need the exact information on how to implement this as per my requirement. It took approximately 2 months for me to completely deploy it and start using it. Once I did it, I felt like it was simple if I know the components inside VMM. Now I can confidently say that I can build a private cloud in 2 days. I did had a look while trying out vCAC with ESX. That was also not a magical configuration with few clicks – it had similar configurations as SCVMM.

With my SCVMM 2012 R2, I could provision a VM in less than 3 minutes. I am yet to see a better time from VMWare on a similar pay load. And on the roles – I just used SCVMM to build a Private cloud and cloud admins can use the SCVMM thick console for managing/self-provisioning their VMs. To achieve a similar setup, I see multiple components involved for VMWare. I am not saying that its bad. My point is that SCVMM could do this without having anything else.

If you get a chance to do an evaluation, the key points to be identified is the requirement. There are thousands of features or add On s which you may hear from the people around. Its your judgement that you really need those features or not. Some may be good to have and some may be must to have. Other few may be not to have ! So my take here is evaluate what you need to have and see what is good to have. Rather than allowing the people around you to showcase what they have ;).

On every session I had for VMWare, I hear these words again and again.. Business Critical, Up Time, Performance, IOPS, Memory ballooning…. ! Even after few such sessions, I started feeling that Microsoft is not the right candidate to have a Business critical VM to have guaranteed UP time and performance 😀 – Then realized that its something not logical.

The reason is simple.

IT is not simple.

IT Admins needs knowledge on the product. The more knowledge, the more confident to manage the product.

An Administrator who knows the product can really say that a product is good or bad. I don’t know VMWare – So I am not going to comment on VMWare. 😀

This is applicable for any product including VMWare or Hyper-V. Its the subject knowledge which will make you feel that a product is simple or complex.

I am not going to do a comparison with VMWare and Hyper-V. For a detailed comparison among different virtualization platforms – Refer

 Why Hyper-V will gain more market share?

The growth for Hyper-V in the last few years was rapid.  The figure I have is from the Technet blog.

This is specific to the Virtualization market in Latin America and the growth is evident.


virtualizationmarketWe are yet to see similar reports for other region. However – Virtualization market is expanding. And in such an expending market – Hyper-V is moving up – which is really impressive.


If you plan for evaluating a virtualization platform, spend some time. Understand what you want. Look for what these products can offer. And finally, learn the product while you deploy it. Manage with confidence !


Good luck !


Note – This is my personal view point. You may agree or disagree or even close the browser 😀 if you feel so.


Hyper-V Dashboard – V2.1

Its almost a week I made the first version of the dashboard. Yesterday, I published v2.1 this dashboard.

Just a brief on the changes on each versions.

Ver 2.1 – 2/12/2014

* Added logic to identify Virtual Disk type – VHD or VHDX. VHD Disk will be marked as yellow cell

* Added logic to identify vNIC – Legacy or Synthetic. The cell of Legacy vNic will be marked yellow.

* Fixed few bugs related with the logic

Ver 2 – 2/12/2014

* Added logic to include an input file

* Added logic to include Hyper-V Stand Alone nodes

* Added component for Free Space percentage on each Local Disk /CSV Volume

* Changes on coding and more detailed logging on the console

Ver 1.1 – 2/9/2014

* Added logic to identify Dynamic Memory and mark Min Meory and Max Memory to “DM Disabled” on a VM without Dynamic Memory

* Added additional components like UpTime, IC, SnapShot Count, First SnapShot Date etc

* For Windows Server 2012 R2 HyperV Clusters, The report will also check if the Integration Component is ” Up To date” or not. If not, the cell color will be changed to Yellow so that Administrators can quickly identify

* Improved the logic to skip a Hyper-V Cluster node without any VM

You can download the script from the Technet Script Gallery.

What is planned next:

In the upcoming version, What I would like to do

  • Along with the VM and Storage details, A new section for the physical host which will have have the physical resources on each host
  • A comparison with actual resources VS allocated resources

May be some more items which I a yet to finalize :).



Configuring Hyper-V Cluster using SCVMM 2012 R2 – Part 3

In this part, I will be covering how to setup a template. This was one of the post which I really enjoyed just because lot many things worked well today… 😀

In fact, I was experimenting on templates for more than a week with different combinations – But stuck on just one single issue. VMs are not getting joined to Active Directory as expected. I had similar experience with SCVMM 2012 and the twist was adjusting the image with some tweaks. However, I forgot what I did to fix this with SCVMM 2012 and continuing with troubleshooting. Today, I made it successful !

So lets do it before I forget 😀

Creating a Window Server 2012 R2 STD Gen 1 Template

The first stage is to prepare a VM for the templage

  1. Create a Gen 1 VM – I will name it as Golden Image
  2. Windows Patch Updates
  3. Install HyperV Integration Component
  4. Antivirus/Agents or any of the custom software required on all servers deployed using this image
  5. Enable RDP
  6. Disable Firewall
  7. Set Administrator password blank
  8. Export the VM – This is required if we need to update template on a later stage
  9. SysPrep and Shutdown

The second stage is to configure the per-requisites on Hyper-V for template / deployment using template

  1. Create Run As account for Local Administrator
  2. Create Run As account to be used with ADJoin which has the rights to Join Computers on AD
  3. Create Gust OS Profile
  4. Create Hardware Profiles
  5. If the HyperV Data Network is on trunk, Configure IP Pool for the Subnet which the VMs will be placed while deploying

The final stage is to create the template.

So lets go back to Stage 1. The first few steps are very direct and straight. So I will skip these steps and jump to the 7th step.

Set the Administrator password to blank

The default local policy have complexity enabled – due to which we are forced to give a password as the last step of installation. So lets adjust the local password policy so that we can have a blank password.

MMC ->File -> Add Remove SnapIn -> Select “Group Policy Object Editor” and click Add

By Default, Local Computer Policy will be selected. Click on Finish and then OK


Select Local Computer Policy

Navigate to Local Computer Policy -> Computer Configuration -> Windows Setting -> Security Settings -> Account Policies -> Password Policy

Double click on “Password must meet complexity requirement” policy.

Password must meet complexity

This policy is enabled now. We just need to make it disable it.

Disable Password Complexity

Now we can reset the local users password to blank.

Reset password to blan

Next step is to export the VM.. Yea – Its a live export 😉 . This will be used in case if we need to do further update or the template creation failed in between. The VM which is used for creating the template will get destroyed. So its better to export and keep a copy safe.

Now we are ready for Sysprep


Once Sysprep is completed, the VM will be shut down.

Preparing SCVMM

The run as accounts which we are creating this are optional, how ever – I prefer that.

The first run as account is for the local administrator. Once the VM is deployed, we need to have a local administrator with password. I know – you should be thinking who wants to keep the administrator password blank on a server 😀

From SCVMM -> Settings -> Security -> Run As Accounts


Click on “Create Run As Account”


In the same way, Create one more run as account for AD Joining process. For this Account, the user name should be domainname\domainuser.

This Active Directory account should have the permission to join computers in AD.

I also recommend to keep the “Validate domain credentials” checked to ensure that the password stored is correct.


The next step is Gust OS Profile. Here we define the OS details, Local Admin Password, Time Zone, Roles and features, Domain Join etc.

Navigate to SCVMM -> Library -> Profiles -> Gust OS Profiles

Gust OS Profiles1

Click on the Drop Down Menu – Create and select Gust OS Profile

Create Gust OS Profile

In General, Enter the OS Name and Compatibility details.

New Gust OS Profile - 1

In Gust OS Profile, Choose the OS Details first from the drop down menu.

New Gust OS Profile - OS Selection

No need to change identity information.

On Admin Password, We need to make use of the Run As Account we created for Local Administrator.

Gust OS Profiles - Local Admin

If the environment don’t have a KMS, You can manually enter the Product Key.

Set the Time Zone according to your requirement.

Gust OS Profiles - Time Zone

If you need to have any Roles or Features in Common on these VM, You can select the required roles and features.

In Domain/WorkGroup, Enter the domain name and the Run As account for performing AD Join task.

Gust OS Profile - AD Join

If you are using a legacy OS, You may need to make use of an Answer File.

GUIRunOnce command can be used to perform onetime activity along with the deployment.


The next step is to create the hardware profile. Hardware profiles are used to provision VMs with a pre-defined, standard hardware configuration. Its like defining different offering plans. I usually create Gold-Silver-Bronze Plans.

Navigate to SCVMM -> Library -> Profiles -> Hardware Profiles

From the “Create” drop down menu, Select Hardware Profile.

Hardware Profile  - Generation

Define the Processor, Memory, Other hardware components as per your requirement. Define if the VM using this hardware profile needs to be highly available.

Hardware Profile  - Details


One important setting here is the configuration in Network Adapter. We need to ensure that the profile is connected to the correct VM Network which is available on the destination HyperV Cluster / Server.

If we have multiple VLANs configured as trunk, We will be selecting the specific VLAN we required while configuring the network. I dont see such option to select the specific VLAN while we deploy from a template. The work around I got from various forums/blogs is to use an IP Pool in SCVMM for the desired VLANs.

We defined a Logical Network for VM Network in the Part-1 of this series. In LN-VM-Network, We defined only one subnet as I made it as a demo. However, In the real world scenario – We will have have multiple VLANs which will be configured as TRUNK and we may need to tag the right VLAN for each VM. This part is important as we expect the VM to be joined into our domain along with the deployment. For ADJOIN to happen, the network needs to be working fine. And once we trigger a VM creation from template, We dont have an option to edit the configuration before the deployment is complete.

Here is a quick look of the different VLANs currently linked with Logical Network – LN-VM-Network.

VM Network - VLANs

While deploying from the template, SCVMM will chose one of those VLAN from this group. In order force the template to use one of the VLAN among this, the workaround is to create an IP Pool for the VLANs and then select this IP Pool to be used while creating VM from the template.

So lets do that.

Navigate to SCVMM -> Fabric -> Networking -> Logical Network

Right Click on LN-VM-Network and select Create IP POOL

Create IP Pool

Enter the name for the IP POOL and the Logical Network which should be linked.

I am planning to create an IP POOL for which is already defined the the Logical Network – LN-VM-Network.


Specify the IP Range to be used. We will just give a few IPs available for this purpose.

Create IP POOL - IP Range

Define the Gateway address for the IP Subnet.

Create IP Pool - Gateway

Enter the DNS Servers

Create IP Pool - DNS

If you have WINS still in your infrastructure, you can define the WINS Servers.

Review the Summary and click on finish.

Create IP Pool - Summary

So we are done with Staeg 2. Good to start the template creation.

Creating VM Template

Navigate to SCVMM -> VMs and Services -> All Hosts

Identify the Golden Image VM which we created and performed SYSPREP.

Right Click on the VM and select Properties.

Ensure that the Operating System and Integration Service is properly updated in SCVMM.

If Operating System is displayed as unknown, Select the right Operating system and Click on OK.

Golden Image - OS IC Check

Right Click on the VM and Select Create -> Create VM Template

Create Template

Oh.. WARNING – Creating a template will destroy the source virtual machine VM Name.

Always read warning and understand correctly before proceeding with YES or NO.. 😀

Create Template - Warning - Source VM Destroy

Enter the name for this Template

Create Template - Template Name

No need to change anything on the Hardware.. Just click NEXT.

Configure Operating System – Select the GUST OS Profile which we created for Windows Server 2012 R2 Std.

Create Template - OS Profile

Select the VMM Library Server

Select the path where you need to store this on Library. I will usually put under the Templates folders inside. You can even create a foldersturcture as you wish.

Review the summary and click on Finish.

The whole process will take 5 t0 10 minutes usually – depending on the mode of file transfer (Network or Fast Transfer if ODX is enabled), Size of the VHDX file etc.

We are good to deploy a VM from a template.


Select “Use existing Virtual Machine, VM Template or Virtual Hardisk” which is the default option and click on Browse.

Create VM

Navigate the to Type : VM Template and select the Template which got created now.

Create VM - Selecting Template

On the Identity – Key in the Virtual Machine Name and Description.

Create VM - VM Name


On Configure Hardware – Select the Hardware Profile which we created.

Create VM - Hardware Profile

As I mentioned earlier, If the environment is having TRUNK on the HyperV Data Traffic, You need to select Static IP (From a static IP POOL) in the Network Adapter properties.

Create VM - Static IP from IP POOL

On Configuring Operating System, Select the GUST OS Profile which we created.


Select the Destination to deploy the Virtual Machine.

Create VM - Destination

Create VM - VM Computer Name

create vm - set computer name

On the Networking, Click on the Network Adapter. On the Address Pool, the IP Address Pool which we created is selected.

Create VM - Network Adapter Setting

In the Machine Resources,  Enter the Destination PATH – the location where to save the VHDX, VHDX File Name etc.

Create VM - Network Adapter Setting1

Make sure that a Folder exists in the destination path if you are pointing a folder in the destination path.

On Add Properties, Select the Automatic Action and action to take when HyperV Servers stops.

Review the summary and proceed.


RSS is limited to 4 queues

After I fixed the Processor overlapping issue using Set-NetAdapterRss, I noticed a new event.

HP FlexFabric 10Gb 2-port 554FLB Adapter #5 : RSS is limited to 4 queues. Enable Advanced Mode in the PXE BIOS to use up to 16 queues. This may require a firmware update.


Event 49

Event 49

To Fix this, We need to enabled Advanced Mode in PXE BIOS as mentioned in the event.

So we need to reboot the server. On the POST Screen, You will get an option eo enable PXE Bios. On this HP Blade, its CTRL + P.


Ctrl + P will open up PXE Select Utility. Advanced mode support will be disabled by default. You need to enable it.


The Personality should be selected as NIC.

Personality Selection

Save the setting first and then select continue.

From the next screen, You can just exist. And after the reboot, no more events are generated.