Posts Tagged ‘Hyper-V’

Windows Server 2016 Scalability

August 26, 2016

For those of you who haven’t been able to keep up with all of the new scenarios and features Windows 2016 is introducing, no worries! here are just a few of the top scenarios and features I have been asked about in Windows Server 2016


Scale Out File Server with Storage Spaces Direct (RDMA) for Hyper-converged infrastructure

this will be a tradition broker! Windows Server 2016 Datacenter introduces Storage Spaces Direct, which enables building highly available (HA) storage systems with local storage. This is a significant step forward in Microsoft Windows Server software-defined storage (SDS), as it simplifies the deployment and management of SDS systems and also unlocks the use of new classes of disk devices, such as SATA and NVMe disk devices, that were previously not possible with clustered Storage Spaces with shared disks. Windows Server 2016 provides a hyper-converged solution by allowing the same set of servers to provide SDS through Storage Spaces Direct (S2D), and also by serving as the hosts for virtual machines using Hyper-V.

For more information on this area, please reference Storage Spaces Direct in Windows Server 2016 Technical Preview.

Shielded virtual machines

Virtualization security is a major investment area in Windows Server 2016 Hyper-V. In addition to protecting hosts or other virtual machines from a virtual machine running malicious software, we also need to protect virtual machines from a compromised host. Since a virtual machine is just a file, we need to protect it from attacks via the storage system, the network, or while it is backed up. This is a fundamental need for every virtualization platform today, whether it’s Hyper-V, VMware, or any other. Quite simply, if a virtual machine gets out of an organization (either maliciously or accidentally) that virtual machine can be run on any other system. Protecting high value assets in your organization such as domain controllers, sensitive file servers, and HR systems is a top priority, which is why we’ve made this scenario a top priority in Windows Server 2016. Quite simply, nothing like it exists in the market.


Windows Containers provide operating system-level virtualization that allows multiple isolated applications to be run on a single system. Two different types of container runtime are included with the feature, each with a different degree of application isolation. Windows Server Containers achieve isolation through namespace and process isolation while Hyper-V Containers encapsulate each container in a lightweight virtual machine. Curious to learn more? Be sure to reference this documentation piece on Windows Containers

stay tuned and happy testing… more to come soon on that end Winking smile

How to configure Windows NLB in (HA) Virtual Machines based on Hyper-V?

March 31, 2011

Here is some useful content when deploying Windows Network Load Balancing “NLB” within your Virtual Machines, especially when they are clustered and highly available.

To be able to use Windows NLB (Network Load Balancing) within Virtual Machines – based on Hyper-V – you must enable “Enable spoofing of MAC addresses”. For getting more details around the reason for this and the configuration please check out the following cluster team blog post:

Deploying Network Load Balancing (NLB) and Virtual Machines on Windows Server 2008 R2

Due to the fact that I see very often the issue, that NLB nodes (VM) does loose their “Enable spoofing of MAC addresses” setting after they are migrated to an different node in a failover cluster environment, I want to remember again, that you always should/must use Failover Cluster console when you changing any VM settings. otherwise the cluster service is not aware of your changes and those will not be migrated to the next node during next move.

Refresh the Configuration of a Virtual Machine

PS Example:

Import-Module FailoverClusters

Update-ClusterVirtualMachineConfiguration –name “VMNAME”

NOTE: within your VMs, If you face issues with NLB like a.e. does not converge as expected or BSOD with an “STOP: 0x000000E1 (parameter1, parameter2, parameter3, parameter4)”, please checkout KB953828

Windows Server 2008 Hyper-V virtual machines generate a Stop error when NLB is configured or when the NLB cluster does not converge as expected

Stay tuned…. Winking smile



Microsoft TechDay Online–Webcast und Expertenchat

February 2, 2011

Microsoft veranstaltet zwischen dem 21.02.- und 23.02.2011 die Techdays Online welche Themengebiete wie z.b. Hochverfügbarkeit, Virtualisierung, Cloud Management beinhalten wird. Dabei werden wirkliche sehr interessante Webcast zur Verfügung stehen.

“Der Microsoft TechDay bietet seit annähernd 3 Jahren geballtes Wissen rund um die neuesten Microsoft-Technologien. Egal ob Sie IT-Führungskraft, technischer Entscheider oder Administrator sind – bei uns erhalten Sie Informationen aus erster Hand!
Wir freuen uns, Ihnen neben den ursprünglichen Offline-Events seit neuestem auch den Microsoft TechDay Online anbieten zu können. Bei diesem Online-Event können Sie die Vorträge live oder auch on Demand anschauen und in unserem Expertenchat offen gebliebene Fragen klären. Unsere Offline-Events ganz in Ihrer Nähe behalten wir natürlich weiterhin bei.“

Dabei habe ich ebenfalls die Möglichkeit erhalten, meine bisherigen Erfahrungen in Bezug auf die täglichen Herausforderungen für den Datacenter Administrator, in einem Webcast zu komprimieren. Mein Track zu diesem Thema wird heissen “Virtualisierung für den Administrator: Die täglichen Aufgaben für Optimierung und Verfügbarkeit”

Weitere Informationen zu TechDay Online ist zu finden unter:

Agenda für Virtualisierung


Stay tuned… Winking smile


Microsoft Windows Failover Cluster–VM Failover Policies

January 20, 2011

I’m very often asked or have seen confusion around the configuration option’s and possibilities for an “load balancing control mechanism” for highly available virtual machines within a failover cluster environment.

a.e. which VMs should run “preferred” (-> preferred owner) on dedicated node(s) or at the other side you want to control which VMs should never run together at 1 node (-> AntiAffinityClassNames).

a.e. from node/host capacity planning perspective you’re also able to configure on which node(s) your VM(s) can be failed over (-> Possible Owners)

In combination all of these parameters (AntiAffinityClassNames, Possible Owner, Preferred Owner….) you can configure a very well “balanced” environment to get the best performance for your VMs/Applications and a well utilized server hardware.

Interested? here we go::

Failover Cluster – WMI MSCluster_ResourceGroup Class

How to configure Windows clustering groups for hot spare support

Failover behavior on clusters of three or more nodes

Windows Server 2008 R2 Failover Cluster PowerShell Command Reference

Controlling Server Workload in MSCS Clusters (2003),v=WS.10).aspx

In addition Elden Christensen (Senior PM for Cluster, Microsoft) has written an great blog around failover policies for Virtual Machines in Failover Cluster environments:

Understanding Hyper-V Virtual Machine (VM) Failover Policies

Any further questions? let me know….

Stay tuned for further blogs around failover policiesWinking smile

Best Regards


Hyper-V and AZMAN Permission

December 17, 2010

Hi there,

a very interesting scenario where I personally think Microsoft does have here some room for improvements, the permission management from Hyper-V perspective is currently still laborious.

BUT there are already (free) published scripts available which makes the life much more easier, when you need set up more granular permissions for Hyper-V Management (VM and or task like start/stop level).

Here you should use setscope.vbs and getscope.vbs to manage AZMAN store for setting the Hyper-V permissions. finally you "only" need to assign the user to the specified scope and it just works – also great for automatization scenarios 😉

Also check out the following blog which gives you some examples on the usage scenarios of set– and getscope.vbs:

The scripts can be found here (only here!):

and of course John Howard post from part1 till 5:

that should give you an complete picture of the usage and the functionality of AZMAN scope for Hyper-V Winking smile

Stay tuned for an detailed step-by-step configuration with screenshots.


Ramazan Can

Recommended Hotfixes – Failover Cluster, SCVMM, Hyper-V

November 21, 2010

Here is a list of technet/KB articles where you can find a summary of the recommended patches around Hyper-V (R2) and SCVMM (R2).

Hyper-V Update List for Windows Server 2008

Hyper-V Update List for Windows Server 2008 R2

Recommended hotfixes for System Center Virtual Machine Manager 2008 R2

Recommended hotfixes for Windows Server 2008-based server clusters

Stay tuned… Winking smile


TechEd 2010 in Berlin and Offline Sessions around Clustering, Hyper-V…

November 21, 2010

personally I was invited from Microsoft to be an MVP Cluster expert at the TechEd 2010 in Berlin and it was a pleasure for me to represent clustering and HA technologies at TechEd 2010. Mainly we had supported the Failover Clustering booth in 3.2 hall at the TLC (Technical Learning Center) and answered all your interesting questions.

I want to thank for all the interesting discussion’s with you guys and here I would like to share some of the great sessions around failover clustering, Hyper-V and generally high availability which you possibly have missed:

Failover Clustering & Hyper-V: Planning your Highly-Available Virtualization Environment

Failover Clustering in 2008 R2: What’s New in the #1 High-Availability Solution

Hyper-V and Dynamic Memory in Depth

Hyper-V Backup Deep Dive: A Look Under the Hood

Advanced Storage Infrastructure Best Practices to Enable Ultimate Hyper-V Scalability

Disaster Recovery by Stretching Hyper-V Clusters across Sites

Networking and Windows Server 2008 R2 Hyper-V: Deployment Considerations

Hyper-V Live Migration over Distance: A Multi-Datacenter Approach

Windows Server 2008 R2 Hyper-V Performance Analysis: How You Can Get the Most out of Hyper-V

Microsoft RemoteFX Deep Dive: Rich Media Desktop and USB Device Support

Failover Clustering Pro Troubleshooting with Windows Server 2008 R2

Windows Server 2008 R2 and Microsoft SQL Server 2008: Failover Clustering Implementations

Failover Clustering Deployment Success

All You Needed to Know about Microsoft SQL Server 2008 Failover Clustering

Innovating High Availability with Cluster Shared Volumes

Multi-Site Clustering with Windows Server 2008 R2

The Case of the Unexplained, 2010: Troubleshooting with Mark Russinovich

Mysteries of Windows Memory Management Revealed with Mark Russinovich, Part 1

Mysteries of Windows Memory Management Revealed with Mark Russinovich, Part 2

Pushing the Limits of Windows with Mark Russinovich

Many many other interesting sessions can be found at TechEd Online –> 

I personally would like to recommended you the sessions from Mark Russinovich and of course all Clustering sessions from Symon Perriman (Program Manager Clustering @ Microsoft).

Stay tuned….Winking smile


Ramazan Can

How to configure NPIV to use SAN Deployment with SCVMM?

October 22, 2010

As SCVMM does support NPIV virtualization (N_Port ID) on Fibre Channel SAN environments here are some useful documents around this technology. NPIV uses Host Bus Adapter (HBA) technology, which creates virtual HBA ports on hosts by abstracting the underlying physical port. This support enables a single physical Fibre Channel HBA port to function as multiple logical ports, each with its own identity. Each virtual machine can then attach to its own virtual HBA port and be independently zoned to a distinct and dedicated World Wide Port Name (WWPN). For more information about NPIV and HBA technology, refer to the documentation of your HBA vendor.

How to Configure NPIV in a Microsoft Hyper-V Environment

“…Designed for Windows System Administrators and Storage Administrators, this document provides guidelines for configuring Microsoft Hyper-V using N_Port ID Virtualization (NPIV) with a Brocade Host Bus Adapter (HBA)….”

Fibre Channel NPIV Storage Networking for Windows Server 2008 R2 Hyper-V and System Center VMM2008 R2 – Usage Scenarios and Best Practices

SVR-T320 NPIV SAN Integration And Microsoft Virtualization

Virtualization Partners | Microsoft Virtualization

Fibre Channel NPIV Deployment on SCVMM 2007 and – NPIV Deployment

Configuring a SAN Environment for VMM

Stay tuned…. 🙂


Ramazan Can [MVP Cluster]

VM MASS DEPLOYMENT with Powershell – Hyper-V

September 12, 2010

As you already know powershell is really useful in several scenarios where you need to automate task operations in windows world. I personally use “Powershell for Hyper-V” often ( especially in mass deployment scenarios where I need to deploy hundreds of virtual machines.

In this blog post I will use the powershell commandlet “NEW-VM” which I had used to create a loop within a script.

The goal here is to deploy, 384 VMs in a automated way 🙂

Therefore I had created an MASTER-VM, which I had installed with all the required application (AV, Apps, Updates.…), tools and finally sysprepped the VM. The exactly command to generalize the VM –> SYSPREP /OOBE /GENERALIZE /SHUTDOWN  .

required preparations:

1. Download and Install Powershell Library from codeplex –>
2. Customize General Parameters in Script like
    – Number of required VMs (a.e. start at 1 and run 384 loops = 384 Vms)
    – Prefix name for your VMs (a.e. W2K8R2-T)
    – customize vRAM and vCPU settings
    – change destination drive where VMs should be created (“V:\”+$vmname)
    – copy your MASTER-VM (sysprepped) and amend location where MASTER-VHD can be found a.e. V:\Master\MASTER_R2.vhd
    – amend disk drive at “ADD-VMDISK” operation a.e. Add-VMDisk $vmname 0 0 (“V:\”+$vmname+”\”+$vmname+”.vhd”)Here we go with our powershell script:

Import-Module hyperv
# Here we import the hyper-v specific hyper-v module which must be downloaded and installed 1st

For ($Counter=1; $Counter -le 384; $Counter++) {
# most important section within this script. Here we define our loop and also how much VMs we want to create here. In my case the loop will start at 1 and run 384 times

# Here we give our VMs an prefix for name which is called in my case “W2K8R2-T” +  counter number = a.e. W2K8R2-T1

# Default VM RAM setting = 1 GB RAM

# Default vCPU setting = 1 vCPU

New-VM -name $vmname -Path (“V:\”+$vmname)
# Now here we call the powershell commandlet “NEW-VM” and point to my drive V:\ where the VMs should be created

Copy V:\Master\MASTER_R2.vhd (“V:\”+$vmname+”\”+$vmname+”.vhd”)
# here we duplicate (copy) the master-VHD to the destination drive (source -> destination)

Set-VM -vm $vmname -bootOrder @(2,1,0,3)
Set-VMMemory -vm $vmname -memory $vmram
Set-VMCPUCount -vm $vmname $vmcpu
Add-VMNIC $vmname
Set-VMNICSwitch -vm $vmname -nic (choose-vmNic $vmname) (choose-VMswitch 0)
Add-VMDrive $vmname 0 0
Add-VMDisk $vmname 0 0 (“V:\”+$vmname+”\”+$vmname+”.vhd”)
# add disk which we had copied earlier to the VMs configuration

Add-VMDrive $vmname 1 0 -DVD
Start-VM $vmname
sleep 30

Now we can go and take us a loonnng break 😉 as the copy time of the MASTER-VHD (depends on size of MASTER.VHD) does take the most of the runtime of the script. My recommendation here would be to use dynamic disks but of course this depends on the performance requirements of disk I/O for these VMs.

PS: Of course there is room for improvements but this blog/script should “only” give you an idea how the powershell library can be used and with your own creativity there is really no borders for creating a customer friendly solution 🙂

If you have any further questions please let me know.



Hyper-V Powershell – Start VMs – Part 2

April 15, 2010

Um diese Reihe weiterzuführen, wende ich mich heute den Möglichkeiten eine Virtuelle Machienen automatisiert via Powershell zu starten.

Das dafür zur Verfügung stehende commandlet “START-VM”, kann in unterschiedlichen Scenarien eingesetzt werden, wie z.b. nach dem automatisierten Backup (Copy/Export) und dann das nachträgliche starten einer VM. Das Thema Backup einer VM werden wir uns dann im nächsten Blog ansehen – stay tuned 🙂Beispiele:Auf dem Hyper-V Server “HOST01” will ich nun VMs starten, die den Status “stopped” haben :Get-VM -server HOST01 -stopped | start-vmAuf dem Hyper-V Server “HOST01” will ich die VM mit dem Namen “VM01” starten :start-vm -server HOST01 -VM VM01 oder Get-VM -server HOST01 -name VM01 | Start-VMEin Script, welches die VM runterfährt, exportiert und dann wieder startet, könnte z.b. dann wie folgt aussehen :get-vm -server HOST01 | Invoke-VMShutdown export-VM -path C:\BACKUP\VM -Server HOST01 -VM VM01 -waitstart-vm -server HOST01 -VM VM01….Viel Spass beim Scripten ;-)Gruß