I got renewed as MVP for Cluster another ring on my Award . Awesome! #MVPBuzz #Winserv #news #love


DSCN0539 back2

Dear Robert Smit,
Congratulations! We are pleased to present you with the 2014 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Cluster technical communities during the past year.



I just got the confirmation that I got renewed as MVP for Cluster. Awesome!
I’m now for six years an MVP and I could not done this without you a big thanks. Did you know I’m the only Cluster MVP in the Netherlands and a failover will be to Edwin van Mierlo in Ireland


Big thanks to the community , thanks for following me, my blog post, facebook, twitter Winking smile       mvpbox




And this year will be a amazing year/Week!. A lot of rumors about Azure and windows what will be next ?  Keep following my blog.  And this week http://www.buildwindows.com/ !

If you are going to the Techdays you can visit me at the ATE booth ( ask the expert )

The 2014 MVP Global Summit is already on my agenda. Just like TechED ;-)



Congrats to all new and renewed MVP’s ! #MVPBuzz #MVPAward @MVPAward

Separate VM in Hyper-V virtual machines using anti-affinity #winserv #hyperv #DRS

For some Virtual machines you don’t want to run them on the same hyper-v server in a cluster. sys you have a two node cluster and running two DC’s you don’t want to run the VM’s on the same hyper-v box.

With anti-affinity you can prevent this that both VM’s are running on the same box. But this is not the same as preferred owner.

With the preferred owner you prevent that the VM will failover to a other Hyper-v host. If the hyper-v host is failing so are all the VM’s on this host there will be no failover to an other Hyper-v host.


With the anti-affinity you create a “rule” that says he these two VM’s or cluster roles may never be seen on the same hyper-v host. unless there is no other way.

Anti-Affinity – For a given VM (technically any cluster Group) there is a cluster group property called AntiAffinityClassNames that allows you to configure the preference to attempt to keep that VM off the same node as other similar VMs. Let’s say for example you have two domain controllers running in VMs. It would probably be best to keep those running on different nodes if possible. When determining failover, the cluster service will deprioritize any node which is hosting a similar VM. If there is no other option (in the goal of making VMs available) it will place them on the same host. More information:


but there is no GUI option for this. PowerShell only and this need settings on all your hyper-v nodes in the cluster.

So get some listing of the classes

Get-ClusterGroup | get-member -name AntiAffinityClassNames

these are the objects “System.Object AntiAffinityClassNames {get;set;}”

If you need more info check this link : http://msdn.microsoft.com/en-us/library/system.collections.specialized.stringcollection.aspx



With a quick check we can see the current affinity settings

Get-ClusterGroup | Select AntiAffinityClassNames


Currently there are no rules in place.

Because I need to run this on all servers I create a nice step by step and easy to change Powershell script

I create several groups names  SQL,VM,DC,APP now I know what machines I can place in the groups.

So I create a small amount of variables


$SQLAntiAffinity = New-Object System.Collections.Specialized.StringCollection

$SQLAntiAffinity.Add("SQL Server Instance")

$DCAntiAffinity = New-Object System.Collections.Specialized.StringCollection

$DCAntiAffinity.Add("Domain Controllers")

$WEBAntiAffinity = New-Object System.Collections.Specialized.StringCollection

$WEBAntiAffinity.Add("WEB Servers")

$APPAntiAffinity = New-Object System.Collections.Specialized.StringCollection

$APPAntiAffinity.Add("Application Servers")



The last part is assign the VM to the group.

(Get-ClusterGroup –Name VMSQL01).AntiAffinityClassNames = $SQLAntiAffinity

(Get-ClusterGroup –Name VMSQL02).AntiAffinityClassNames = $SQLAntiAffinity

(Get-ClusterGroup –Name VMDC01).AntiAffinityClassNames = $DCAntiAffinity

(Get-ClusterGroup –Name VMDC02).AntiAffinityClassNames = $DCAntiAffinity

(Get-ClusterGroup –Name VMWEB01).AntiAffinityClassNames = $WEBAntiAffinity

(Get-ClusterGroup –Name VMWEB02).AntiAffinityClassNames = $WEBAntiAffinity

(Get-ClusterGroup –Name VMAPP01).AntiAffinityClassNames = $APPAntiAffinity

(Get-ClusterGroup –Name VMAPP02).AntiAffinityClassNames = $APPAntiAffinity


and You did know you can use the + = to add a VM to the group or Clear the group

(Get-ClusterGroup –Name NEWVM01).AntiAffinityClassNames += $SQLAntiAffinity

or clear the VM from all Groups

(Get-ClusterGroup –Name NEWVM01).AntiAffinityClassNames = “”


the rules are in place lets see if we can find them back

Get-ClusterGroup |Select-Object -Property name,AntiAffinityClassNames


(Get-ClusterGroup demo01).AntiAffinityClassNames

Now that the roles are in place We can see how It works. I paused a hyper-v node and As soon as I resume the node the anti-affinity rule kicks the VM Winking smile


Save The Date for TechEd Europe #TEE14 October 27-31 2014 in Barcelona Spain @teched_europe


TechEd Europe #TEE14

Save The Date for TechEd Europe!

TechEd Europe will be held October 27-31, 2014 in Barcelona, Spain.

TechEd Europe is one of Microsoft’s largest annual events for IT Professionals and Enterprise Developers. It provides the technical education, product evaluation, and community resources to plan, architect, deploy, manage and secure a connected enterprise. It will be an exciting week to engage with the top minds in your field and get the latest technology insights. Watch for registration to open in the spring of 2014.

Why Attend?

Discover the Latest Product Innovations

Build Deep Technical Expertise

Thought Leadership

Build Deep Technical Expertise

Access to Experts

Community Connection

We look forward to seeing you in October 2014!