My journey through IT Datacenter, Client Deployment and Cloud Solutions

Category Archives: Virtualization

Windows Power Management is a feature that works with CPUs that can dynamically adjust processor voltage and core frequency to decrease heat and power usage.
As you can see in Task Manager, while the Maximum Speed is 2.30 GHz, the actual speed is typically much lower ~1.0 GHz.

However, installing Hyper-V feature, it seems that the Processor Power Management doesn’t appear to work anymore

Processor power management is still running but when the hypervisor is enabled, it
is in charge of managing processors, including processor power
management. Therefore, you won’t see Processor Power Management activity
when looking at Task Manager or the root’s (parent) performance counters. You
have to look at the hypervisor logical processor counter sets to see C-states,
P-states.

Today Microsoft announced the General Availability of Windows Azure Hyper-V Recovery Manager.

Hyper-V Recovery Manager helps our customers by coordinating the replication of System Center managed clouds to a secondary location, monitoring availability and orchestrating recovery as needed.

Furthermore, because Hyper-V Recovery Manager is an Azure service, customers don’t have to go through a difficult installation/Configuration process. Launch a web browser, log into Azure and manage Replica. Furthermore, because it requires only a web browser it works on your desktop, laptop, tablet and phone.

Hyper-V Recovery Manager is between sites, not to Azure. Hyper-V Recovery Manager is
the orchestration engine, but no replication occurs to Azure. Azure simply manages the replication between sites as well as provides recovery plans.

Due the fact that several customers don’t know very well these kind of products, I would like to underline the limitations of this type of Technologies:

If a product doesn’t work on a given operating system (for example Windows 7) create a virtualized application doesn’t help. The minimum requirement for a product to be virtualized is that it’s installable and that it works on the target operating system.

You may have vendor support issues If you experience problems with a virtualized application and these problems are not repeatable on the same operating system but with the application installed insted than virtualized.

Several applications are not virtualizeble due to technology limitations (for example App-V cannot virtualize drivers or web applications) or vendor legal boundaries. (for example you can create an Internet Explorer 6 virtualized application and run it on Windows 8 but Microsoft doesn’t permit to virtualize Internet Explorer so you risk to face a lawsuit)

So how can I know how many of my applications are virtualizable?

The answer is that you need to know your applications (the application install drivers? Is it a web application? it works on the target operating system if I install it? Uses databases? Requests data or interact with other applications? The vendor permits to virtualize the application?) and also you must know in deep the limitations of the Application Virtualization technology.

IMHO the applicability of this kind of technology if very small and it makes sense in the following scenarios:

Same application but different versions coexistence (example: two different SAP Gui on the same PC)

VDI pooled environment

Let me explain the “VDI pooled environment” case:

A VDI pool is a number of virtual machines that are created from a Golden image. Normally, when a user perform a logon, a new virtual machine is cloned/created by the Golden image. At the user logoff, the virtual machine is cleaned so every programs that the user installed are not kept.

If you have two type of users that need different applications (for example Group 1 that need App 1 and Group 2 that need App 2), you have the choice to install both App1 and 2 into the Golden image (but you must prevent Group 2 to run App1 and vice-versa) or you must provide at runtime the correct app for the correct user every time they perform a logon.

In this context, a virtualized application can be helpful because doesn’t need a real installation but the app will be ready as soon as the virtualized app will be copied into the VDI machine.

So the user performs a login, receives a generic VDI machine, asks for the app that he needs to use and just waits the time that the process needs to copy the application virtualization package inside the VDI.

VMware is a great virtualization solution but since the first version the High Availability feature had a weakness that I never liked.

A vSphere 4.x cluster for example use a primary/secondary node architecture: the first 5 hosts that join the VMware HA cluster are automatically selected as primary nodes. All the others are automatically selected as secondary nodes.

That means that no matter how many nodes your cluster has, if all the 5 primary nodes are down, your entire virtualization environment is unusable.

Microsoft Hyper-V doesn’t have this limitation because uses a classic Windows Clustering feature that uses node and disk majority.

Now with vSphere 5.x the HA feature has changed to avoid this behaviour.

The concept of master and slave still exist but it’s dynamically assigned so if the master fall down, a new master role will be assigned to a slave.

This great article can explain in depth the changes made to the vShpere 5.x architecture.

Hyper-V Server is lacking a graphic interface so everything needs to be done using powershell (it’s possible to use System Center Virtual Machine Manager to manage Hyper-V Server from a more friendly graphic console).

Hyper-V Server it’s free but for every VM that you run using the Hypervisor, you must pay the Guest OS license.

Hyper-V Server it’s built on top of the classic Windows Kernel but it’s limited to Hypervisor functionalities. That’s means that you are not running a complete Windows Server so you have a limited number of roles and features that you can enable. From a virtualization perspective, the free version of Hyper-V provides every capability than the for-pay versions.

Hyper-V Server it’s more secure due to the fact that it’s a minimal version of Windows. So the attack surface is limited as the number of updates that you need to apply.

You must pay attention about the supportability of every products that you want to install on the Hypervisor. For example the antivirus product needs to support the fact that it’s running in a no-graphical environment. Several antivirus, antispyware and other utilities don’t support a Windows Core version (They don’t be able to install due to the lack of graphic API). Before install this version of Hyper-V, list every products that you need (UPS software, RAID utility, Health checker…) and ask vendors about supportability.

You must also ask your hardware vendor about the supportability of this kind of OS because it’s derived from Windows Server but it’s not Windows Server.

Windows Server Core Standard Hyper-V

Hyper-V is a role that you can enable in a Windows Server Core Standard installation.

When you install a Windows Server you can choose the version (Standard or Datacenter) and if you want to run the full graphic environment (full installation) or the minimal no-graphic environment (core installation).

The pro and cons are:

Windows Server Core is lacking a graphic interface so everything needs to be done using powershell (it’s possible to use System Center Virtual Machine Manager to manage Hyper-V Server from a more friendly graphic console).

Windows Server Standard it’s not for free but if you use it as an Hypervisor, you have 4 Windows Guest OS licences included (if you are running 10 Microsoft VMs, you must pay only 6 licenses) .

Windows Server Standard (full or core) it’s a complete version of Windows so you can add every role and feature that you need.

Windows Server without graphic interface it’s more secure due to the fact that it’s a minimal version of Windows. So the attack surface is limited as the number of updates that you need to apply.

You must pay attention about the supportability of every products that you want to install on the Hypervisor. For example the antivirus product needs to support the fact that it’s running in a no-graphical environment. Several antivirus, antispyware and other utilities don’t support a Windows Core version (maybe they don’t be able to install due to the lack of graphic API). Before install this version, list every products that you need (UPS software, RAID utility, Health checker…) and ask vendors about supportability.

It’s for granted IMHO but I suggest to be sure that your hardware can support Windows Server without graphical environment.

Windows Server Full Standard Hyper-V

Hyper-V is a role that you can enable in a Windows Server Full Standard installation.

When you install a Windows Server you can choose the version (Standard or Datacenter) and if you want to run the full graphic environment (full installation) or the minimal no-graphic environment (core installation).

The pro and cons are:

Windows Server Full you have the possibility to use a friendly graphic interface to set up your enviornment or you can also use powershell Scripting.

Windows Server Standard it’s not for free but if you use it as an Hypervisor, you have 4 Windows Guest OS licences included (if you are running 10 Microsoft VMs, you must pay only 6 licenses) .

Windows Server Standard (full or core) it’s a complete version of Windows so you can add every role and feature that you need.

You don’t need to care about the supportability of applications that you need to install on the Windows Server just because it’s running the standard graphic environment.

You don’t need to care about the supportability of hardware.

Windows Server Core Datacenter Hyper-V

Hyper-V is a role that you can enable in a Windows Server Core Datacenter installation.

When you install a Windows Server you can choose the version (Standard or Datacenter) and if you want to run the full graphic environment (full installation) or the minimal no-graphic environment (core installation).

The pro and cons are:

Windows Server Core is lacking a graphic interface so everything needs to be done using powershell (it’s possible to use System Center Virtual Machine Manager to manage Hyper-V Server from a more friendly graphic console).

Windows Server Datacenter it’s not for free but if you use it as an Hypervisor, you can fun all Guest OS without pay additional licenses (if you are running 100 Microsoft VMs, you don’t must pay 100 licenses) .

Windows Server Datacenter (full or core) it’s a complete version of Windows so you can add every role and feature that you need.

Windows Server without graphic interface it’s more secure due to the fact that it’s a minimal version of Windows. So the attack surface is limited as the number of updates that you need to apply.

You must pay attention about the supportability of every products that you want to install on the Hypervisor. For example the antivirus product needs to support the fact that it’s running in a no-graphical environment. Several antivirus, antispyware and other utilities don’t support a Windows Core version (maybe they don’t be able to install due to the lack of graphic API). Before install this version, list every products that you need (UPS software, RAID utility, Health checker…) and ask vendors about supportability.

It’s for granted IMHO but I suggest to be sure that your hardware can support Windows Server without graphical environment.

Windows Server Full Datacenter Hyper-V

Hyper-V is a role that you can enable in a Windows Server Full Datacenter installation.

When you install a Windows Server you can choose the version (Standard or Datacenter) and if you want to run the full graphic environment (full installation) or the minimal no-graphic environment (core installation).

The pro and cons are:

Windows Server Full you have the possibility to use a friendly graphic interface to set up your enviornment or you can also use powershell Scripting.

Windows Server Datacenter it’s not for free but if you use it as an Hypervisor, you can fun all Guest OS without pay additional licenses (if you are running 100 Microsoft VMs, you don’t must pay 100 licenses) .

Windows Server Datacenter (full or core) it’s a complete version of Windows so you can add every role and feature that you need.

You don’t need to care about the supportability of applications that you need to install on the Windows Server just because it’s running the standard graphic environment.

You don’t need to care about the supportability of hardware.

Considerations

From my experience I can say that I prefer the Windows Server full installation for the following reasons:

No many third part vendors are commited to supporting the core version of Hyper-V (both free and paid versions) so you can have several problems to install drivers and utilities for the no graphic version of Hyper-V. For example, recently a customer that I follow discovered that his version of Trend Micro Antiviurs is not supported on Core version of Windows (it can be installed, it works, but it’s not directly supported).

If you were consolidating a group of your existing Windows servers with their existing licenses onto the Hyper-V platform it would be in your best interest to use Hyper-V Server. If you are creating VMs from scrach you must consider that Windows Server provides Guest OS licenses (4 for the Standard, unlimited for the Datacenter).

It’s possible to set up the Hypervisor with powershell commands but in the day by day management it’s more quick and easy to have the graphic interface.

Even the Core version of Windows Server or Hyper-V Server need to be updated and rebooted. The difference is that the number of updates that you need to apply is less than using a full Windows Server with graphic interface.

A colleague tells me that with Windows 2012 and 2012 R2 it’s no more necessary set a fixed size for the paging file.

“For Hyper-V servers that run Windows Server 2012 or Windows Server 2012 R2, the page file should be left at the default of setting of System Managed. This is per the Hyper-V Product Group”.

This feature is called “Intelligent Automatic Pagefile Setting”.

So the article that I wrote is applicable only for Hyper-V 2008 and 2008 R2.

Original Article:

By default Windows manages the page file. If for some reason the page file is too small, Windows will need to increase the file size. Increasing the file size will cause a lot of disk IO which could affect performance during high workload periods.
To avoid page file size changes Microsoft recommends setting the size of the page file manually with the same minimum and maximum value.

But what I need to set up as min and max values? A common best practice suggest to set a fixed size page file 1.5 times the size of installed RAM.

So that means, if I have an Hyper-V server with 384 GB of ram, I need to set up a 576 GB page file?

No no don’t worry!
Keep in mind that Hyper-V does not use the page file for memory used by VMs, but for the application running on the parent partition might need some virtual memory.

If you run a 384 GB Hyper-V server, you must consider that the majority of RAM memory will be used by VMs and you don’t have to take it in account for the page file calc.

Consider that you must leave at least 8 GB of RAM for the Hypervisor “survival” so a page file of 12/16 GB is fairly enough.

NOTE: No virtual machines should be stored on the same volume as the page file.