<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Aeval Shah&amp;#39;s Blog</title><subtitle type="html">High Availability &amp;amp; Virtualisation</subtitle><id>http://blogs.technet.com/b/aevalshah/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/aevalshah/" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/b/aevalshah/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2012-05-15T15:20:00Z</updated><entry><title>Windows Server 2012 Failover Clustering Dynamic Quorum - Revisited</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/aevalshah/archive/2013/06/05/windows-server-2012-failover-clustering-dynamic-quorum-revisited.aspx" /><id>http://blogs.technet.com/b/aevalshah/archive/2013/06/05/windows-server-2012-failover-clustering-dynamic-quorum-revisited.aspx</id><published>2013-06-05T09:10:52Z</published><updated>2013-06-05T09:10:52Z</updated><content type="html">&lt;p&gt;This is a follow on post to my original dynamic quorum post which can be found &lt;a href="http://blogs.technet.com/b/aevalshah/archive/2012/08/21/windows-server-2012-failover-clustering-dynamic-quorum.aspx" target="_blank"&gt;here&lt;/a&gt;. I have had a lot of scenario based questions around dynamic quorum and it’s behaviour and I have done some extensive testing to try and explain some scenarios with detail.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scenario 1: Explaining dynamic quorum using a five node cluster and gracefully shutting down nodes in a sequential manner.&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;In this example I will turn off the cluster service on the cluster nodes one at a time. The quorum model has been set to node majority.&lt;/p&gt;  &lt;p&gt;All nodes in the cluster are up and running.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5428.image_5F00_55DA69C2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1643.image_5F00_thumb_5F00_295139DC.png" width="533" height="205" /&gt;&amp;#160;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notice the ID's of the nodes. These ID's correspond to the joining order of the node in the cluster. This is the same as the&amp;#160; HKLM\Cluster\Nodes registry key.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3817.clip_5F00_image001_5F00_7A1F4E44.png"&gt;&lt;img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0636.clip_5F00_image001_5F00_thumb_5F00_474F47D0.png" width="536" height="102" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I stop nodes 2, 3 &amp;amp; 4 sequentially (using failover cluster manager to stop the cluster service). You can see below the nodes are down but more importantly my cluster is up and running. To maintain quorum a single vote is required which is coming from node 5. Through testing I have found the node with the highest ID will be the one casting the dynamic vote.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3201.clip_5F00_image002_5F00_383868F6.png"&gt;&lt;img title="clip_image002" style="display: inline; background-image: none;" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5282.clip_5F00_image002_5F00_thumb_5F00_6957A396.png" width="544" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4336.clip_5F00_image003_5F00_7D048D2A.png"&gt;&lt;img title="clip_image003" style="display: inline; background-image: none;" border="0" alt="clip_image003" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0385.clip_5F00_image003_5F00_thumb_5F00_750CEAC8.png" width="550" height="225" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To prove the above I started node 2 and 3 and also stopped node 5 and 1. If my theory is correct the dynamic vote will be cast by node 2 as it has the highest ID. This can be seen in the next screen shot.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7271.clip_5F00_image004_5F00_214971AD.png"&gt;&lt;img title="clip_image004" style="display: inline; background-image: none;" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4666.clip_5F00_image004_5F00_thumb_5F00_2B2E6318.png" width="558" height="108" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now for the last man standing if I stop node 2 the dynamic weight should be transferred to node 3. You can see from the screen shot below that this is true. My cluster remains up and running as dynamic quorum has been able to calculate quorum throughout my testing i.e. quorum was maintained as the cluster service was turned off on some nodes and turned on other nodes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0361.clip_5F00_image005_5F00_77F229AE.png"&gt;&lt;img title="clip_image005" style="display: inline; background-image: none;" border="0" alt="clip_image005" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4428.clip_5F00_image005_5F00_thumb_5F00_7E39003C.png" width="564" height="104" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is all well and good and shows how dynamic quorum works but in the real world we do not always have the luxury of gracefully stopping the cluster service. In the next set of tests I will simulate failures as opposed to graceful shutdowns.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Scenario 2: Explaining dynamic quorum using a five node cluster and simulating failures.&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;In this example I will turn off the cluster node at the Hyper-V level. I will turn off (not shutdown) each node one at a time and show you what happens. The quorum model has been set to node majority.&lt;/p&gt;  &lt;p&gt;All nodes up, running and voting to achieve quorum.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5444.clip_5F00_image006_5F00_4F0714A5.png"&gt;&lt;img title="clip_image006" style="display: inline; background-image: none;" border="0" alt="clip_image006" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1680.clip_5F00_image006_5F00_thumb_5F00_2E13A1FE.png" width="570" height="226" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/6560.clip_5F00_image007_5F00_539D1F5F.png"&gt;&lt;img title="clip_image007" style="display: inline; background-image: none;" border="0" alt="clip_image007" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0243.clip_5F00_image007_5F00_thumb_5F00_72DFC632.png" width="573" height="106" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Turning off nodes 2 and 3 one by one.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5126.clip_5F00_image008_5F00_58332A19.png"&gt;&lt;img title="clip_image008" style="display: inline; background-image: none;" border="0" alt="clip_image008" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3678.clip_5F00_image008_5F00_thumb_5F00_2FB44805.png" width="361" height="370" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Critical events have been logged by the cluster and you can see the results below from the remaining nodes&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0550.clip_5F00_image009_5F00_1573DEE1.png"&gt;&lt;img title="clip_image009" style="display: inline; background-image: none;" border="0" alt="clip_image009" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7762.clip_5F00_image009_5F00_thumb_5F00_6641F349.png" width="581" height="179" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Dynamic quorum voting looks like this&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5633.clip_5F00_image010_5F00_0BCB70AB.png"&gt;&lt;img title="clip_image010" style="display: inline; background-image: none;" border="0" alt="clip_image010" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/6646.clip_5F00_image010_5F00_thumb_5F00_2B0E177E.png" width="592" height="112" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now depending on the node I turn off the node with the highest ID that is still up will have the dynamic vote to maintain the cluster. &lt;/p&gt;  &lt;p&gt;Turn off node 1. Of the nodes remaining the node with the highest ID is node 4 therefore that should be the one casting the vote to maintain the quorum.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0211.clip_5F00_image011_5F00_70B2A19C.png"&gt;&lt;img title="clip_image011" style="display: inline; background-image: none;" border="0" alt="clip_image011" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4466.clip_5F00_image011_5F00_thumb_5F00_4FBF2EF5.png" width="598" height="247" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see the above is correct. Node 4 is the one casting the vote.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7522.clip_5F00_image012_5F00_475B599E.png"&gt;&lt;img title="clip_image012" style="display: inline; background-image: none;" border="0" alt="clip_image012" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7065.clip_5F00_image012_5F00_thumb_5F00_669E0071.png" width="610" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now for the last man standing scenario. I need to turn off node 4 and the dynamic weight needs to shift to node 5. This will then be the only node in the cluster up and running. However this is not the case when a cluster node goes down unexpectedly.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;After a lot of testing I have come to the following conclusions;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Dynamic quorum will work for an x node cluster all the way down to a single node if cluster nodes are shutdown gracefully in a sequential manner allowing the cluster to maintain quorum and then calculate dynamic quorum.&lt;/li&gt;    &lt;li&gt;If the nodes in the cluster are turned off i.e. power unplugged the cluster will try to maintain quorum. If it can it will then calculate the new dynamic quorum value. This will work all the way down to the last two nodes of the cluster.&lt;/li&gt;    &lt;li&gt;Once you are down to the last two nodes and you turn off the node with the dynamic weight the cluster will then go down. See the screenshot below. This is happening as the cluster does not have a chance to sync up with the node turned off as there is no more communication therefore it cannot transfer the vote across.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1526.clip_5F00_image013_5F00_1E704495.png"&gt;&lt;img title="clip_image013" style="display: inline; background-image: none;" border="0" alt="clip_image013" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/8883.clip_5F00_image013_5F00_thumb_5F00_049C0E66.png" width="606" height="74" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Once you are down to the last two nodes and you turn off the node which is not voting the cluster will remain up. See the screen shot below shows this.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5873.clip_5F00_image014_5F00_515FD4FC.png"&gt;&lt;img title="clip_image014" style="display: inline; background-image: none;" border="0" alt="clip_image014" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/2502.clip_5F00_image014_5F00_thumb_5F00_5BB0F95C.png" width="616" height="116" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;So in the real world the last man standing scenario will work if the last node online is the node which has the dynamic vote. Transfer of the vote is not possible if the node voting is turned off. It is only possible if there is a graceful shutdown.&lt;/p&gt;  &lt;p&gt;If you find yourselves in a scenario where you are on the last two nodes of the cluster it may be worthwhile failing over services to the node with the dynamic vote as that will be the node that remains up if the other node goes down.&lt;/p&gt;  &lt;p&gt;I hope that helps some of the scenario based questions for dynamic quorum.&lt;/p&gt;  &lt;p&gt;Aeval&lt;/p&gt;  &lt;p&gt;Premier Field Engineer - Failover Clustering &amp;amp; Virtualisation&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3576822" width="1" height="1"&gt;</content><author><name>Aeval Shah</name><uri>http://blogs.technet.com/aevstarr_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="cluster" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/cluster/" /><category term="DynamicWeight" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/DynamicWeight/" /><category term="Dynamic" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Dynamic/" /><category term="Quorum" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Quorum/" /><category term="Weight" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Weight/" /><category term="Man" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Man/" /><category term="Last" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Last/" /><category term="Standing" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Standing/" /><category term="Windows 2012" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Windows+2012/" /><category term="Failover Cluster" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Failover+Cluster/" /></entry><entry><title>Configuring Virtual Machines to run in separate Resource Hosting Subsystem (RHS) Processes</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/aevalshah/archive/2013/02/05/configuring-virtual-machines-to-run-in-separate-resource-hosting-subsystem-rhs-processes.aspx" /><id>http://blogs.technet.com/b/aevalshah/archive/2013/02/05/configuring-virtual-machines-to-run-in-separate-resource-hosting-subsystem-rhs-processes.aspx</id><published>2013-02-05T15:48:51Z</published><updated>2013-02-05T15:48:51Z</updated><content type="html">&lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;I was recently working with a customer who was facing deadlock issues with their Windows Server 2008 R2 Hyper-V cluster. The RHS process would be terminated and a new process would spawn which meant virtual machines would be recycled. As a result of this my customer decided to isolate each virtual machine in it's own RHS process. &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;My task was to work out how to do this without causing downtime to the virtual machines and hosts. They wanted a simple way to set this up and also a way to find out which virtual machines were associated to which RHS process. &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;In this post I will discuss the steps I took to show and confirm the isolation of virtual machines in their own RHS process and how this could be achieved without any down time.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;To understand what the RHS process is and how it is used I suggest you take a look at this &lt;/font&gt;&lt;a href="http://blogs.technet.com/b/askcore/archive/2009/11/23/resource-hosting-subsystem-rhs-in-windows-server-2008-failover-clusters.aspx" target="_blank"&gt;&lt;font size="2"&gt;article&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;. It gives a nice explanation of the RHS process and how it fits into Failover Clustering. &lt;/font&gt;&lt;font size="2"&gt;This &lt;/font&gt;&lt;a href="http://blogs.msdn.com/b/clustering/archive/2009/06/27/9806160.aspx" target="_blank"&gt;&lt;font size="2"&gt;article&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; shows how you can quickly understand the cause of the RHS instability.&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;In order to proceed I configured my test lab as a three node cluster running a few virtual machines.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;Step1. – Check VM is running in default RHS process. &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;The first step was to determine how to find out what process the VM was running in. For&lt;/font&gt;&lt;font color="#2a2a2a" size="2"&gt; this example I was looking at a single VM (W2K8R2-Node1). &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Below are extracts from Task Manager screen shots from all three cluster nodes to show how may RHS processes are running.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;W2K8-CN1 – Cluster Node&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;font size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image0014180.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1212.clip_5F00_image0014_5F00_thumb178_5F00_78E3245D.png"&gt;&lt;img title="clip_image0014_thumb178" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0014_thumb178" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1222.clip_5F00_image0014_5F00_thumb178_5F00_thumb_5F00_1825CB31.png" width="349" height="29" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;W2K8-CN2 – Cluster Node&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;font color="#2a2a2a" size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00245.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5504.clip_5F00_image0024_5F00_thumb3_5F00_779E8B7E.png"&gt;&lt;img title="clip_image0024_thumb3" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0024_thumb3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7563.clip_5F00_image0024_5F00_thumb3_5F00_thumb_5F00_6C08CE3F.png" width="359" height="34" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;W2K8-CN3 – Cluster Node&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00344.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1307.clip_5F00_image0034_5F00_thumb2_5F00_1D943BD5.png"&gt;&lt;img title="clip_image0034_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0034_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/8712.clip_5F00_image0034_5F00_thumb2_5F00_thumb_5F00_1608CC68.png" width="349" height="35" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;The screenshot below confirms the VM and VM configuration have the default settings for the resource monitor process. The checkbox to run the resource in a separate Resource Monitor has not been checked.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00416.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/2364.clip_5F00_image0041_5F00_thumb4_5F00_236EDF6E.png"&gt;&lt;img title="clip_image0041_thumb4" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0041_thumb4" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1781.clip_5F00_image0041_5F00_thumb4_5F00_thumb_5F00_61F42D14.png" width="580" height="412" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;This is as expected as by default there are only two RHS processes running. One RHS process is used to run cluster resources and the other is used for the storage.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Running the following PowerShell command will give me the list of processes the VM and VM configuration are running in.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="593" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="591"&gt;         &lt;p align="justify"&gt;&lt;font color="#ffffff" size="2"&gt;#Get a list of VMs and correlate to RHS.exe process on a per VM basis&lt;/font&gt;&lt;/p&gt;         &lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource |?{$_.OwnerGroup -like &amp;quot;W2K8R2-Node1&amp;quot;} | ft Cluster, OwnerNode, OwnerGroup, SeparateMonitor, ResourceType, @{Label='RHS Process ID';Expression={$_.MonitorProcessID}} -AutoSize&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;This is the output of the above command. From this I can see that both the VM and VM configuration are running on the RHS process with ID 2092 on host W2K8-CN2&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00517.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7723.clip_5F00_image0051_5F00_thumb_5F00_52711B45.png"&gt;&lt;img title="clip_image0051_thumb" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0051_thumb" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0876.clip_5F00_image0051_5F00_thumb_5F00_thumb_5F00_5198B55B.png" width="592" height="50" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/strong&gt; The VM and VM configuration are both listed. This means if we want to separate the VM entirely we also want to reconfigure the VM configuration to run in it’s own RHS process.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;Step 2 – Change VM and VM configuration to run in their own process.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;By running the following command I was able to change the VM and VM configuration to run in their own RHS process. I chose to do this via PowerShell as this would need to be done for a lot of virtual machines and the GUI would not be practical.&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;         &lt;p align="justify"&gt;&lt;font color="#ffffff" size="2"&gt;# Set VM to run in its own RHS process.&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource | ?{$_.OwnerGroup -like &amp;quot;W2K8R2-Node1&amp;quot;} | %{$_.SeparateMonitor='True'}&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Checking in the GUI I can see the relevant tick box has now been set&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00614.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3513.clip_5F00_image0061_5F00_thumb2_5F00_37584C37.png"&gt;&lt;img title="clip_image0061_thumb2" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0061_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3581.clip_5F00_image0061_5F00_thumb2_5F00_thumb_5F00_3CC6BCDB.png" width="580" height="354" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Running the following PowerShell command will give me the list of processes the VM and VM configuration are running in&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160; &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;#Get a list of VMs and correlate to RHS.exe process on a per VM basis&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource |?{$_.OwnerGroup -like &amp;quot;W2K8R2-Node1&amp;quot;} | ft Cluster, OwnerNode, OwnerGroup, SeparateMonitor, ResourceType, @{Label='RHS Process ID';Expression={$_.MonitorProcessID}} -AutoSize&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;This is the output of the above command. From this I can see that both the VM and VM configuration are running on the RHS process with ID 2092 on host W2K8-CN2. Therefore setting the VM and VM configuration to run their own RHS process has no impact on the VM or VM configuration &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00524.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1778.clip_5F00_image0052_5F00_thumb2_5F00_749900FE.png"&gt;&lt;img title="clip_image0052_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0052_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/2330.clip_5F00_image0052_5F00_thumb2_5F00_thumb_5F00_0192E110.png" width="580" height="49" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;strong&gt;Step 3 – Live migrate VM to spawn a new RHS process&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;In order to start the resource in a new RHS process the resource group needs to be moved to another node. Fortunately for a VM we can perform a Live Migration therefore the VM can start in a new RHS process &lt;strong&gt;without&lt;/strong&gt; downtime.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/strong&gt; Both the VM and VM configuration should start in their own new process.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Running the following PowerShell command (once the VM has been live migrated) will give me the list of processes the VM and VM configuration are running in&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160; &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;#Get a list of VMs and correlate to RHS.exe process on a per VM basis&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource |?{$_.OwnerGroup -like &amp;quot;W2K8R2-Node1&amp;quot;} | ft Cluster, OwnerNode, OwnerGroup, SeparateMonitor, ResourceType, @{Label='RHS Process ID';Expression={$_.MonitorProcessID}} -AutoSize&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="left"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#2a2a2a" size="2"&gt;This is the output of the above command. I can see that both the VM and VM configuration are now running in their own processes.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00714.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/6131.clip_5F00_image0071_5F00_thumb2_5F00_799B3EAD.png"&gt;&lt;img title="clip_image0071_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0071_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/7711.clip_5F00_image0071_5F00_thumb2_5F00_thumb_5F00_316D82D1.png" width="580" height="47" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;I can also see four RHS processes on W2K8-CN1&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00815.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0755.clip_5F00_image0081_5F00_thumb3_5F00_02A7CA2F.png"&gt;&lt;img title="clip_image0081_thumb3" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0081_thumb3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5141.clip_5F00_image0081_5F00_thumb3_5F00_thumb_5F00_62208A7C.png" width="349" height="62" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;strong&gt;Step 4: What happens to the RHS process after Live Migration?&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;We need to determine what happens to the RHS processes once the virtual machine has been live migrated to another node in the cluster. &lt;/font&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;The VM was live migrated to another host and this is what I saw on the new host. The processes are different as to what they were on the previous node.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image00913.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/6237.clip_5F00_image0091_5F00_thumb2_5F00_568ACD3D.png"&gt;&lt;img title="clip_image0091_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0091_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/8371.clip_5F00_image0091_5F00_thumb2_5F00_thumb_5F00_63F0E043.png" width="580" height="47" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;The below shows there are four RHS processes on W2K8-CN3 which is as you would expect as the VM had been live migrated to that node. The previous host W2K8-CN1 still has four RHS processes. This implies that the live migration spawned new processes on the destination host but nothing removed the RHS processes from the original host.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS processes on new server (W2K8-CN3)&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01014.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0250.clip_5F00_image0101_5F00_thumb2_5F00_06D1A1F4.png"&gt;&lt;img title="clip_image0101_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0101_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5148.clip_5F00_image0101_5F00_thumb2_5F00_thumb_5F00_7B3BE4B4.png" width="349" height="65" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS processes on new server (W2K8-CN1)&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01114.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1348.clip_5F00_image0111_5F00_thumb2_5F00_337A5BCD.png"&gt;&lt;img title="clip_image0111_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0111_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3173.clip_5F00_image0111_5F00_thumb2_5F00_thumb_5F00_6BB8D2E5.png" width="349" height="63" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;I needed to determine what was running in those RHS process and the following command shows me just that.&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;         &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;#Get a list of VMs and correlate to RHS.exe process on a per cluster basis&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource | ft Cluster, OwnerNode, OwnerGroup, SeparateMonitor, ResourceType, @{Label='RHS Process ID';Expression={$_.MonitorProcessID}} -AutoSize&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="left"&gt;&lt;font color="#2a2a2a" size="2"&gt;This is the output. Although the two processes for VM and VM configuration on W2K8-CN1 are still up they are not running any resources (3160 &amp;amp; 3424).&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01214.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1462.clip_5F00_image0121_5F00_thumb2_5F00_24492D4D.png"&gt;&lt;img title="clip_image0121_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0121_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3000.clip_5F00_image0121_5F00_thumb2_5F00_thumb_5F00_61F61509.png" width="580" height="169" /&gt;&lt;/a&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;strong&gt;Step 5: Live migrate the VM back to the previous host&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Live migrate the virtual machine back to W2K8-CN1 which is where the first processes were spawned to isolate the VM and VM configuration &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;The clippings below show that both hosts still have four RHS processes running.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS processes on W2K8-CN1&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01314.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3755.clip_5F00_image0131_5F00_thumb2_5F00_26C2393E.png"&gt;&lt;img title="clip_image0131_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0131_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3162.clip_5F00_image0131_5F00_thumb2_5F00_thumb_5F00_25E9D354.png" width="349" height="62" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS processes on W2K8-CN3&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01415.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0844.clip_5F00_image0141_5F00_thumb3_5F00_12C8A6A8.png"&gt;&lt;img title="clip_image0141_thumb3" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0141_thumb3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/2273.clip_5F00_image0141_5F00_thumb3_5F00_thumb_5F00_5D4FE482.png" width="349" height="61" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;I ran the following command to check the RHS process for the VM and VM configuration .&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;         &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;#Get a list of VMs and correlate to RHS.exe process on a per VM basis&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource |?{$_.OwnerGroup -like &amp;quot;W2K8R2-Node1&amp;quot;} | ft Cluster, OwnerNode, OwnerGroup, SeparateMonitor, ResourceType, @{Label='RHS Process ID';Expression={$_.MonitorProcessID}} -AutoSize&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;I can see that the process which were originally used are re-used for the VM and VM configuration .&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01514.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0523.clip_5F00_image0151_5F00_thumb2_5F00_09F89E5C.png"&gt;&lt;img title="clip_image0151_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0151_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5381.clip_5F00_image0151_5F00_thumb2_5F00_thumb_5F00_48EA1EF7.png" width="580" height="45" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;Step 6: Remove the Isolation and see what happens.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;The following command should remove the isolation but it does not work&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;         &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;# Set VM to run in in default RHS process. i.e. remove isolation&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource | ?{$_.OwnerGroup -like &amp;quot;W2K8R2-Node1&amp;quot;} | %{$_.SeparateMonitor='False'}&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Instead I had to use the cluster.exe command line to remove the isolation checkbox. This has to be done for both the VM and VM configuration &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Remove resource isolation for VM&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="100%" bgcolor="black" bordercolorlight="white" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;&lt;font color="#ffffff" size="2"&gt;C:\&amp;gt; cluster res &amp;quot;Virtual Machine W2K8R2-Node1&amp;quot; /prop SeparateMonitor=0&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Remove resource isolation for VM configuration&lt;/font&gt;&lt;/p&gt;  &lt;table bordercolor="black" bordercolordark="white" width="100%" bgcolor="black" bordercolorlight="white" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td&gt;&lt;font color="#ffffff" size="2"&gt;C:\&amp;gt; cluster res &amp;quot;Virtual Machine Configuration W2K8R2-Node1&amp;quot; /prop SeparateMonitor=0&lt;/font&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;We can now see the check box has been removed from the settings.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01615.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/2664.clip_5F00_image0161_5F00_thumb3_5F00_32B403A5.png"&gt;&lt;img title="clip_image0161_thumb3" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0161_thumb3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5488.clip_5F00_image0161_5F00_thumb3_5F00_thumb_5F00_45F4BA44.png" width="580" height="355" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;strong&gt;Step 7: Live migrate to see if processes are removed&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;Live migrate to another node and notice what happens to the RHS processes on the source server.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS Processes on original host after VM has been live migrated still remains at four.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS Process on W2K8-CN1&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01714.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/2158.clip_5F00_image0171_5F00_thumb2_5F00_3D90E4ED.png"&gt;&lt;img title="clip_image0171_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0171_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/0488.clip_5F00_image0171_5F00_thumb2_5F00_thumb_5F00_6AA5D1BB.png" width="349" height="61" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS Process on W2K8-CN3 - where the VM was live migrated to has changed to two.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01814.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4380.clip_5F00_image0181_5F00_thumb2_5F00_352D0F96.png"&gt;&lt;img title="clip_image0181_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0181_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4300.clip_5F00_image0181_5F00_thumb2_5F00_thumb_5F00_4293229C.png" width="349" height="31" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;Step 8: Live migrate back to original node&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Live migrate the VM back to the original node. This should then only be using the default RHS process and the number of RHS processes running should drop from four to two.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS processes on W2K8-CN1&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01915.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4606.clip_5F00_image0191_5F00_thumb3_5F00_220BE2EA.png"&gt;&lt;img title="clip_image0191_thumb3" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0191_thumb3" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3716.clip_5F00_image0191_5F00_thumb3_5F00_thumb_5F00_6C9320C4.png" width="349" height="32" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;&lt;em&gt;Note:&lt;/em&gt;&lt;/strong&gt; We now have only two RHS processes&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;RHS processes on all hosts&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;W2K8-CN1&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image01924.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5751.clip_5F00_image0192_5F00_thumb2_5F00_4C0BE112.png"&gt;&lt;img title="clip_image0192_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0192_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3223.clip_5F00_image0192_5F00_thumb2_5F00_thumb_5F00_2B84A160.png" width="349" height="32" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;W2K8-CN2&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image02014.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/8562.clip_5F00_image0201_5F00_thumb2_5F00_0AFD61AE.png"&gt;&lt;img title="clip_image0201_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0201_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/4278.clip_5F00_image0201_5F00_thumb2_5F00_thumb_5F00_6A7621FB.png" width="349" height="32" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;W2K8-CN3&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image02114.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/5355.clip_5F00_image0211_5F00_thumb2_5F00_49EEE249.png"&gt;&lt;img title="clip_image0211_thumb2" style="margin: 0px; border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0211_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/8463.clip_5F00_image0211_5F00_thumb2_5F00_thumb_5F00_05424808.png" width="349" height="31" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;The following command checks what is running in each RHS process&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt; &lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;  &lt;table bordercolor="black" bordercolordark="white" width="585" bgcolor="#000040" bordercolorlight="white" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="583"&gt;         &lt;p align="justify"&gt;&lt;font color="#ffffff" size="2"&gt;#Get a list of VMs and correlate to RHS.exe process on a per cluster basis&lt;/font&gt;&lt;/p&gt;          &lt;p align="justify"&gt;&lt;font color="#ffffff" size="2"&gt;&lt;/font&gt;&lt;/p&gt;          &lt;p align="left"&gt;&lt;font color="#ffffff" size="2"&gt;PS C:\&amp;gt; Get-ClusterResource | ft Cluster, OwnerNode, OwnerGroup, SeparateMonitor, ResourceType, @{Label='RHS Process ID';Expression={$_.MonitorProcessID}} -AutoSize&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;This is the output. All VMs and VM configuration are running in the default RHS processes.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="file:///C:/Users/aevals/AppData/Local/Temp/WindowsLiveWriter1286139640/supfiles391C498/clip_image02213.png"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/1122.clip_5F00_image0221_5F00_thumb2_5F00_4F5D52ED.png"&gt;&lt;img title="clip_image0221_thumb2" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image0221_thumb2" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95-metablogapi/3276.clip_5F00_image0221_5F00_thumb2_5F00_thumb_5F00_4DAC8719.png" width="580" height="162" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;From the above testing I determined that the virtual machines can be isolated to their own RHS processes without causing any downtime. The VM can be live migrated from node to node and it will remain isolated from the default RHS process. The VM configuration also needs to be isolated.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;There is still more testing to be done in terms of the RHS processes still running but not running any VM or VM configuration. I suspect this is by design of the cluster and an RHS process will only terminate if the thorough health check (IsAlive previously) fails. &lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;This in itself posses some questions as there is nothing running inside the process therefore the health check will not run and therefore the process will not be terminated.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Scaling this up to a hundred virtual machines means in the cluster there will be 200 RHS processes running split over the cluster nodes. There could potentially be more as once a VM has been live migrated and spawns a new RHS process this is not terminated if the VM is live migrated again.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;As you can see further testing needs to be done but this at least proves there is a way to achieve isolation without downtime. If running a lot of RHS processes does not impact performance then it may be feasible. Do these additional RHS processes cause an impact on the cluster itself especially with the health checks and the logging of information?&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;Depending on how my customer decides to proceed I will post an update with any further testing scenarios and results.&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Aeval&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Premier Field Engineer - Failover Clustering &amp;amp; Virtualisation&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#2a2a2a" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3550473" width="1" height="1"&gt;</content><author><name>Aeval Shah</name><uri>http://blogs.technet.com/aevstarr_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="deadlock" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/deadlock/" /><category term="subsystem" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/subsystem/" /><category term="isolation" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/isolation/" /><category term="resource" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/resource/" /><category term="VM configuration" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/VM+configuration/" /><category term="process" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/process/" /><category term="RHS" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/RHS/" /><category term="host" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/host/" /></entry><entry><title>Windows Server 2012 Failover Clustering Dynamic Quorum</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/aevalshah/archive/2012/08/21/windows-server-2012-failover-clustering-dynamic-quorum.aspx" /><id>http://blogs.technet.com/b/aevalshah/archive/2012/08/21/windows-server-2012-failover-clustering-dynamic-quorum.aspx</id><published>2012-08-21T14:58:00Z</published><updated>2012-08-21T14:58:00Z</updated><content type="html">&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4130.clip_5F00_image009.jpg"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&lt;strong&gt;Introduction to Quorum&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Quorum in Windows 2008 R2 referred to a consensus , that is, a majority of votes is required in order to reach quorum and maintain stability of the cluster. A new option created in Windows Server 2012 which was also back ported to Windows Server 2008 R2 SP1 was the ability to stop a node being able to participate in the voting process. This meant that you could configure a node not to have a vote. This is a property of the node called NodeWeight and is configurable via PowerShell.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;This is a very useful feature as you have the ability to remove the cluster nodes in a secondary site from voting and thus have the controlling votes in the primary site. This makes managing the quorum simpler and also prevents the cluster database from being updated by the nodes in the secondary site if the nodes in the primary site are down.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Another new feature introduced in Windows Server 2012 is the concept of dynamic quorum.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&lt;strong&gt;What is Dynamic Quorum&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Dynamic quorum is the ability of the cluster to recalculate quorum on the fly and still maintain a working cluster. This is a huge improvement as we are now able to continue to run a cluster even if the number of nodes remaining in the cluster is less than 50%. This was not possible before but the dynamic quorum concept now allows us to do this. In fact we can reduce the cluster down to the last node (known as last man standing) and still maintain quorum.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Dynamic quorum is enabled by default and recalculates quorum when a node(s) in the cluster is down. Dynamic quorum will only work when these two conditions are met.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol type="1" style="text-align: justify; font-family: Calibri; font-size: 10pt; font-style: normal; font-weight: normal; margin-top: 0in; margin-bottom: 0in; margin-left: 0.375in; unicode-bidi: embed; direction: ltr;"&gt;
&lt;li style="color: #366092; margin-top: 0px; margin-bottom: 0px; vertical-align: middle;" value="1"&gt;&lt;span style="font-family: Calibri; font-size: 10pt; font-style: normal; font-weight: normal;"&gt;The&amp;nbsp;cluster has already achieved quorum.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: #366092; margin-top: 0px; margin-bottom: 0px; vertical-align: middle;"&gt;&lt;span style="font-family: Calibri; font-size: 10pt;"&gt;Sequential failures of nodes have occurred.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;If multiple nodes in a cluster go down at the same time dynamic quorum will not recalculate the number of votes required to maintain the cluster. Instead a re-group will occur and once the cluster has determined quorum can be maintained dynamic quorum will kick in when a subsequent node failure occurs. As long as the two conditions above have been met.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&lt;strong&gt;How Dynamic Quorum Works&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Below is an explanation of the behaviour of the dynamic quorum as tested in the lab. Below is a three node cluster with no failures. The quorum is set to node majority and dynamic quorum is enabled. This is the default.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/1586.clip_5F00_image001.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/1586.clip_5F00_image001.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;As you can see all nodes are up and running in the cluster.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/0804.clip_5F00_image003.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/0804.clip_5F00_image003.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Using PowerShell we see the following properties for the node weights and dynamic quorum.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/1452.clip_5F00_image004.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/1452.clip_5F00_image004.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;To demonstrate dynamic quorum and the last man standing scenario we turn off the cluster service on Contoso-N3&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/1033.clip_5F00_image006.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/1033.clip_5F00_image006.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;This is what the node weight and dynamic weight looks like. Notice that the DynamicWeight property of Contoso-N2 is set to 0. This is the dynamic quorum kicking in.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;From this we can see that the dynamic quorum realised that there were two nodes left and removed the vote from one of them. From testing we have determined that the node with the lowest ID from the surviving two nodes has it's vote removed. The node with the highest ID has a vote and is used to maintain quorum.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;When you have two nodes remaining in a cluster you cannot have a majority as the majority of two is two. In order to avoid the cluster from shutting down one of the votes is removed therefore we only require one vote to maintain the cluster.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/6403.clip_5F00_image007.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/6403.clip_5F00_image007.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Contoso-N1 is the node with the vote. Contoso-N2 had its DynamicWeight property changed to 0. We now stop the cluster service on Contoso-N1.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4130.clip_5F00_image009.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4130.clip_5F00_image009.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;This is what the dynamic weights now look like. The vote was transferred from Contoso-N1 to Contoso-N2 and this the cluster remains up and running and is Contoso-N2 is truly the last man standing.&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/6355.clip_5F00_image010.jpg"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/6355.clip_5F00_image010.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Dynamic quorum will only work if the cluster has a failure of a node or several nodes in a sequential order. Each time dynamic quorum is calculated the cluster must already have quorum in order for the new dynamic value to be implemented. These are the two rules mentioned above.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Aeval&lt;/p&gt;
&lt;p style="margin: 0in; color: #366092; font-family: Calibri; font-size: 10pt;"&gt;Premier Field Engineer - Failover Clustering &amp;amp; Virtualisation&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3515441" width="1" height="1"&gt;</content><author><name>Aeval Shah</name><uri>http://blogs.technet.com/aevstarr_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="cluster" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/cluster/" /><category term="DynamicWeight" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/DynamicWeight/" /><category term="Dynamic" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Dynamic/" /><category term="Quorum" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Quorum/" /><category term="Weight" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Weight/" /><category term="Man" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Man/" /><category term="Last" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Last/" /><category term="Standing" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Standing/" /><category term="Windows 2012" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Windows+2012/" /><category term="Failover Cluster" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/Failover+Cluster/" /></entry><entry><title>Windows Server 2008 R2 Failover Clustering - Best Practice Guide</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/aevalshah/archive/2012/05/15/windows-server-2008-r2-failover-clustering-best-practice-guide.aspx" /><id>http://blogs.technet.com/b/aevalshah/archive/2012/05/15/windows-server-2008-r2-failover-clustering-best-practice-guide.aspx</id><published>2012-05-15T14:46:00Z</published><updated>2012-05-15T14:46:00Z</updated><content type="html">&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Hi everyone, this article is aimed at providing a best practice guide for building a Windows Server 2008 R2 Failover Cluster. The article provides details on hardware and software pre-requisites and configuration best practices. This guide also provides best practices for different areas of Failover Clustering configuration i.e. storage and network.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Pre-requisites for Failover Clustering&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Hardware Requirements&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is recommended to use servers with the same or similar hardware components. You should only use hardware that is compatible with Windows Server 2008 R2. Depending on the cluster you are building you will need multiple network cards and or HBAs. Be sure to finalise the architecture prior to purchasing hardware to ensure you have everything you need before you start building the cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Network Adapters&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The hardware component must be compatible with Windows Server 2008 R2. If you use iSCSI the network adapters must be dedicated to either network communications or iSCSI.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Ensure the network infrastructure that connects your cluster to the network has redundancies built in. This could mean multiple network cards (teamed), multiple switches and multiple routers. The purpose of this is to ensure there is no single point on failure in the network infrastructure.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Storage Adapters&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is recommended to use identical host bus adapters (HBA) to communicate with the storage. The drivers and firmware should also be identical. If you want to use different HBA&amp;rsquo;s verify this with your hardware vendor. Multi-Path I/O software also needs to be identical on the cluster nodes. Windows Server 2008 R2 only supports SCSI Primary Commands-3 (SPC-3) therefore the backend storage must also be compatible with this. Parallel SCSI is no longer supported therefore check your storage specifications prior to building your cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;You must ensure that the HBA or network card used is dedicated to the storage. The network used for iSCSI cannot be used for network communications. You cannot use teamed network adapters because they are not supported with iSCSI.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;You must use storage that is compatible with Windows Server 2008 R2. Failover clustering natively supports basic disks. To you use dynamic disks you will need to speak to your hardware vendor and use any software provided by them for dynamic disks.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The partition style must be either master boot record (MBR) or GUID partition table (GPT). The file system is recommended to be NTFS. The witness disk must be formatted with NTFS.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Storage Area Network (SAN) Storage&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Ensure the SAN is compatible with Windows Server 2008 R2. Ensure the storage drivers, firmware and software is compatible with Failover Clustering. The storage must support SCSI Primary Commands-3 (SPC-3). In particular, the storage must support Persistent Reservations as specified in the SPC-3 standard. The miniport driver used for the storage must work with the Microsoft Storport storage driver.&lt;br /&gt;Storage should be isolated to a cluster in that a LUN provided to a cluster must not be accessible from another cluster through zoning and masking. If you can have a SAN dedicated for a cluster that would be even better.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Consider using multi path I/O which provides the highest level of redundancy and availability.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Software Requirements&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The servers participating In Failover Clustering must be running the same version of Windows Server 2008 R2 that supports the feature. Service packs, patches and hot fixes must be at the same level on all nodes. Mixing of full server installations and Core server installations is not supported.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Network Settings&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Network adapters should ideally be identical for each network and it is recommended the configuration of the adapters be the same i.e. speed &amp;amp; duplex settings. This will ensure the network does not behave differently on different cluster nodes. Each private network not routed to the main network infrastructure should be assigned a unique subnet.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;DNS&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;DNS must be running on the network and the cluster nodes must be using DNS for name resolution. When &lt;br /&gt;objects are created in Active directory and DHCP is in use on the cluster nodes the relevant A records will also be created in DNS.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Domain Role&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Each cluster node should be in the same Active Directory domain and they should all be running using the same role. It is recommended than each node in the clusters is a member server of the same domain.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Administrative Account&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The account used to build and create the cluster must have full administrative access on the cluster nodes. A domain user account can be used but it must have Create Computer Objects and Read All Properties rights on the domain.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The account used to build the cluster will also be used to create the Computer Name Object and therefore needs the permissions mentioned above.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Server Setup &amp;amp; Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The following sections talks about the general server configuration in terms of hardware and software. It is recommended to understand the pre-requisites before reading the following sections.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;General Guidance&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;All nodes participating in a cluster should be identical. That is they should have the same configuration at the software level and at the hardware level. Although having identical hardware is not a pre-requisite it is recommended as it makes life easier for the server administrator when updating drivers as the same one can be used on all the nodes. It also provides consistency to the cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Changes made to a node must be replicated to all other nodes of the same cluster. Any changes made should be tested in a test environment first before changes are made to production nodes.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Hardware Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Specific hardware is no longer required however the cluster must pass validation i.e. no errors detected to be officially supported. In a geographically dispersed cluster as there is no shared storage you will see errors in the validation report but this is expected and the cluster will still be supported.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is highly recommended to remove all single points of failure in terms or hardware and infrastructure.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;P&lt;strong&gt;ower Supply&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is recommended that all cluster nodes have 2 or more power supplies to provide redundancy.&lt;br /&gt;If a node has multiple power supplies each power supply should be connected to a different power source to help prevent any power issues from taking out the node. Each node in the cluster should use a different power source to ensure that a single power strip does not take out the whole cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Data centre infrastructure should also allow for total power loss and should have measures in place to provide power from UPS and/or on site generators.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Network Switches&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Having two switches for a network allows the cluster nodes to connect to the LAN and provides redundancy from a network point of view.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;For each network available (especially the public &amp;ndash; client facing network) two network switches should be used for the cluster nodes to ensure a switch failure does not disrupt network communications.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;If you are using iSCSI for storage the cluster should be connected to this network using multiple redundant switches to ensure the backed storage is always accessible.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Host Bus Adapters (HBAs)&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is recommended to use multiple single HBAs to connect to the backend storage. Dual HBAs can be a single point of failure as although they provide a multi-path to the storage a failure of the HBA can disconnect the node from the storage. Each HBA should be using a separate network infrastructure to connect to the SAN(s).&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Boot from SAN&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Operating System Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Setting up the operating system correctly can increase performance and reliability. Additionally in the event of an operating system error the system can record activities and performance information to help troubleshoot and aid in root cause analysis. In order to capture this information performance monitoring and kernel debugging must be set accordingly.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Page File Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is good practice to place the page file on another partition other than the boot partition; however, in previous versions of Windows this configuration would not allow you to capture a memory dump. In Windows Server 2008 R2 the page file can be located on another partition which is not the same as the boot partition and will still capture memory dumps.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The Min and Max sizes of the page file should be set to the same value in order to improve performance. Having the Min and Max sizes different can result in slow system performance if the page file has to grow. The page file can become fragmented due to not having contiguous disk space to use and would have to place the data elsewhere on the disk.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The page file can be located on another LUN in cases where the boot partition is small or where the node is booting from SAN.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Kernel Memory Dumps&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is recommended to configure each cluster node to capture a kernel memory dump. A kernel memory dump captures the memory being used by the kernel at the time when the system stops unexpectedly. This information can be useful for troubleshooting and determining the root cause.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;By default memory dumps are overwritten i.e. if a stop error occurs again the previous dump file will no longer exist. It is advisable to either copy the dump file to another machine for analysis or configure the server to not overwrite existing dump files.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Service Packs, Hotfixes &amp;amp; Critical Updates&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Service packs need to be installed on each node of the cluster so that each node is on the same service pack level. This ensures device drivers, services and executable files are the same version. Hotfixes &amp;amp; Critical updates should also be installed on each cluster node to ensure any device drivers, services and executable files are the same version. Ensure any update installed is tested in a test environment first before deploying it to production.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Device Drivers&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;There are many device drivers on a system and it is highly recommended to ensure that these driver versions are consistent across all nodes of a cluster. Differences in driver versions can cause instability on a cluster and can impact the availability.&lt;br /&gt;Software installed on a cluster node may also install a driver and this also needs to be mirrored across all nodes. If tools are used for troubleshooting which install drivers these should be removed once the troubleshooting has completed to ensure consistency between the cluster nodes.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Roles, Role Services &amp;amp; Features&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Each role, role service and feature required in a cluster should be installed on each node in the cluster. If a role, role service or feature is removed from a cluster node it should also be removed from all other cluster nodes.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Installed Services&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;All services should be identical on each node of the cluster. Any services required for the cluster must be installed on all nodes of the cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Performance Baselines&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Once the cluster is in production it is good to run performance monitoring for a period of time to understand the server load. This can be used as a base line and you can compare future performance data to this base line and see where the performance has changed.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Black Box Monitoring&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;It is recommended to have monitoring running on all your cluster nodes. This monitoring should be setup so all the relevant counters are logging information to a binary file. Circular logging should also be used to overwrite previous data. This also ensures the captured data file does not grow too large and therefore does not eat up disk space. This black box monitoring is useful when a performance issue occurs as rather than wait for performance data to be gathered once an issue has been raised the performance data is already to hand.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The captured data can also be compared to a server baseline to see what the impact on the server is over time i.e. adding more highly available services or adding more users which consume the services.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Anti-Virus Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Anti-virus products can interfere with the performance of a server and can cause issues with the cluster. The anti-virus should be configured to exclude the cluster specific resources on each cluster node. The following should be excluded on each cluster node;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;(1) A witness disk if used&lt;br /&gt;(2) A file share witness if used&lt;br /&gt;(3) The cluster folder %systemroot%\cluster on all cluster nodes&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Network Setup &amp;amp; Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;There should be adequate networks configured for the cluster to ensure there is no bottle neck for users, &lt;br /&gt;cluster nodes and storage. Depending on the purpose of the cluster you may need an additional network for Hyper-V Live Migration.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Follow the pre-requisites to ensure you are following the best practices for network configuration. The binding orders of the network should be set accordingly. Typically you have the bindings in the following order Public, Private, Storage and Live Migration.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Public&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The public network is the network which clients will connect to gain access to the highly available resources on the cluster. This network will be connected to the main network infrastructure in your organization. This is automatically selected when the cluster is built by determining which network has a default gateway.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Private&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;All networks in a cluster are used for intra cluster communication. You can fine tune this to ensure intra cluster communication uses a specific network and can fall back to another network if required. The private network should also be used for management tasks ensuring no additional overhead is being added to the public, storage and Live Migration networks.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;If you are using an iSCSI network this network must be dedicated for storage. You should also consider using NIC teaming for additional redundancy.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Heartbeat&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The heartbeat for the cluster nodes is set by default to send a heartbeat every second. The heartbeat configuration also by default will allow five missed heartbeats before a cluster node is deemed as unavailable. This can be configured to increase the interval and increase/decrease the threshold. This is of particular interest when using a high latency network (WAN) when implementing a geographically dispersed cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Live Migration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;When using Hyper-V in a Failover Cluster you may want to use the Live Migration feature. This requires a dedicated 1GB network to copy the system state and memory pages from one cluster node to another when Live Migration is initiated. Live migration is used for planned maintenance and cannot be used for unplanned outages.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The Hyper-V guests themselves should be location on a Cluster Shared Volume to assist with Live Migration and to ensure the VM is not taken offline to move a cluster disk to another node.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Storage Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Ensure all HBAs on all nodes are at same hardware devices and ensure the firmware/driver for the HBA is the same version. Speak to your storage vendor with regards to drivers versions. Also read any documentation regarding the driver as it will probably highlight which version of the storport.sys driver is required.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Speak to your hardware vendor/engineer to implement LUN masking or Zoning to ensure that LUNS are isolated from each other. Ideally each cluster should be backed up by a dedicated SAN and it is recommended to have multiple independent paths to the storage.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;If you are implementing an iSCSI solution for the storage it is recommended to use dedicated network interface cards so the storage traffic is independent of the public facing and intra cluster communication networks.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Cluster Setup &amp;amp; Configuration&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Cluster Validation Wizard&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The cluster validation wizard should be run before the initial cluster build takes place and it should also be run once you have completed building and configuring your cluster. It is also recommended to run the wizard every time to make a change to the cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The storage tests will fail once the cluster is in production as the tests will not offline any disks that are in use unless explicitly told to do so. It is recommended to have a small LUN present on the cluster which is not is use so the storage tests can take place. This will ensure there are no issues with the storage and arbitration.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Quorum Models&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The quorum model is automatically selected when you initially build the cluster. You can make changes to the quorum model on the fly without impacting the cluster. Always check the current quorum model so you are aware of what it is and check the chosen model against the recommended model.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Witness Resource&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Depending on the architecture of the cluster you may want to implement a witness resource in the form of a witness disk or a file share witness. The witness disk should be 512MB in size (can be larger for large and print file clusters).&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;A file share witness is recommended for geographically dispersed clusters where there is no shared storage. The witness disk will contain a backup of the cluster database and this will be loaded as a 0.cluster hive on the node which currently owns the witness disk.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The file share witness does not keep a copy of the cluster database. Instead it maintains a log of the Paxos tag to provide versioning.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;A single file share witness can be used by multiple clusters. It is recommended to make the file share witness highly available in its own cluster to provide the additional vote for multiple clusters. Within the file share witness folder a new folder will be created for each cluster so the data is isolated.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Core Cluster Group&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The cluster group should only contain the Network Name, IP and witness disk resources (if required). No other resource should be in this group. If you are using software provided by the storage vendor you may have an additional resource within this group which is acceptable.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The dependencies for these resources should not be altered unless your storage vendor advises you to due to the software used to manage/provide LUNs to the cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Other Groups&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Most of the advanced settings should be left at their defaults unless specifically recommended by Microsoft or third party vendors.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Affect the group should only be cleared if the resource is non-critical i.e. secondary network is used for backups and this network allows client access for backup purposes only. As a result of this network failing, if you do not want the whole group to failover uncheck affect the group.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;All resources should have all nodes listed in the Possible Owners list. You can set anti affinity rules to ensure groups are kept on separate cluster nodes to ensure the services remain highly available and that the cluster nodes split the load evenly.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Run this resource in a separate Resource Monitor should not be selected unless recommended by Microsoft for troubleshooting or by a 3rd party vendor for a specific reason. Anti-Affinity can be used to ensure the services are dispersed among the cluster nodes.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Chkdsk on Cluster Disks&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;When cluster disks states are changed to online pending (i.e. when a failover is initiated or when a group is moved) the system will check the dirty bit on the disk and see if it is set. If the dirty bit has been set the disk will remain in an online pending state whilst chkdsk is run on the entire volume.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;This can lead to a significant amount of downtime and therefore should be avoided. You should plan on a monthly or quarterly basis to have a maintenance window during which you can manually check the dirty bit ad run chkdsk on the relevant volume(s). Below is a list of the options you can set using PowerShell or Cluster.exe.&lt;/p&gt;
&lt;table style="width: 778px; height: 167px;" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Value&lt;/td&gt;
&lt;td&gt;Description&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;0 (Default)&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;ShallowCheck open files in root of volume. Check dirty bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;1&lt;/td&gt;
&lt;td&gt;FullCheck recursively on all files. Check dirty bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;2&lt;/td&gt;
&lt;td&gt;Run chkdsk every time the volume is mounted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;3&lt;/td&gt;
&lt;td&gt;ShallowCheck. If corrupt run chkdsk. If not corrupt run chkdsk in read-only mode. Online will proceed when chkdsk is running in read-only mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;4&lt;/td&gt;
&lt;td&gt;Never run chkdsk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;5&lt;/td&gt;
&lt;td&gt;FullCheck. If corrupt do not bring online. User intervention required.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Anti-Affinity&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;To ensure groups do not end up on the same node set the AntiAffinityClassName of the group. You can set this to the same string value for all groups you do not want to appear on the same node.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Network Priority&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The network priority should be set for each network participating in the cluster. The metric value on the network represents a cost which determines which network to use for what communication.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;By default the network that has been assigned a default gateway will have a metric value of 10,000. Other networks without a gateway defined will be assigned a value of between 1000 and 10,000. The first network without a gateway will be given a metric value of 1000 and subsequent networks will be given values in increments of 100 i.e. 1100, 1200, 1300.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Intra cluster communication occurs on networks that have the lower metric value i.e. cost. You need to set the iSCSI and Live Migration networks metric value higher than the private network. If the private network is down the next available network with the lowest will be used.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Set the network priorities according to the network design in your environment.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Failover/Failback Policies&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;All nodes must be able to run load that might be on them so if you have printers installed ensure the drivers are on all cluster nodes to ensure the printer can operate after a failover to any node. There should also be enough capacity in terms of resources available on a node to take on additional capacity from other nodes.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Failback causes another outage, however small and therefore it is recommended to set this to occur outside of normal working hours. In a 24x7 operation this may not be acceptable and therefore you should disable failback altogether.&lt;br /&gt;Always test failover and failback prior to production to ensure each node can host the services without issue.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Security Considerations&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;A dedicated account to run the cluster service is no longer required. Instead a cluster name object (CNO) is created in Active Directory when the cluster is built. All further security checks are performed using the context of the CNO.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;A domain admin account is required to build the cluster as it is this account that creates the CNO. Once the CNO has been created all further virtual computer objects (VCO) are created using the CNO. As with any Active Directory user there is a limit of 10 imposed on the number objects an account can create. This will need to be changed if you need the CNO to create more than 10 VCO&amp;rsquo;s.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;The CNO object can be pre-staged prior to building the cluster. The pre-staged CNO needs to be set to disabled in order for the newly built cluster to use it.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;You can now also set permissions on the cluster to allow users to view the cluster configuration in with read-only privileges.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Patch Management&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Installing patches on a cluster can be challenging as there will be a period of time when the cluster nodes are out of sync. It is recommended to install the patches on a test cluster before deploying the updates to the production cluster. This ensures that any adverse effects are seen before impacting production.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Hotfixes are designed to address specific issues and should only be installed if you are facing the symptoms described in the relevant hotfix knowledge base article.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Security Updates should be installed as they are released by Microsoft. Once Microsoft has released the security updates these should be tested in a test environment and deployed to production once deemed ok.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Always ensure you have full backups which have been tested and verified prior to installing updates to a cluster.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Aeval Shah&lt;br /&gt;Premier Field Engineer - Failover Clustering &amp;amp; Hyper-V&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3498112" width="1" height="1"&gt;</content><author><name>Aeval Shah</name><uri>http://blogs.technet.com/aevstarr_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="online" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/online/" /><category term="clustering" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/clustering/" /><category term="disks" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/disks/" /><category term="cluster" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/cluster/" /><category term="failover" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/failover/" /><category term="dirty" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/dirty/" /><category term="chkdsk" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/chkdsk/" /><category term="practices" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/practices/" /><category term="best" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/best/" /></entry><entry><title>Windows Server 2008 R2 Failover Clustering - Avoiding Chkdsk on Failover</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/aevalshah/archive/2012/05/15/windows-server-2008-r2-failover-clustering-avoiding-chkdsk-on-failover.aspx" /><id>http://blogs.technet.com/b/aevalshah/archive/2012/05/15/windows-server-2008-r2-failover-clustering-avoiding-chkdsk-on-failover.aspx</id><published>2012-05-15T14:20:00Z</published><updated>2012-05-15T14:20:00Z</updated><content type="html">&lt;p style="text-align: justify;"&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;In Windows Server 2003 if corruption on a physical disk was encountered the chkdsk process was run to attempt to repair the corruption. The repair attempt would occur when a disk resource was moved or failed over to another cluster node. The disk was taken offline, moved and then would be brought online. During the online stage the disk was checked to see if the dirty bit had been set and if so a chkdsk would be run.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Cluster admins would see the cluster disk in an online pending state. Once the chkdsk was completed the cluster disk would be brought online. Users would not be able to access the shares on the disk and would result in calls to the help desk. If this was a SQL Server installation using the disk SQL Server would not be brought online as it has a dependency on the disk. If this was the quorum disk the whole cluster would be offline until the chkdsk completed.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;&lt;strong&gt;New Parameter in Windows Server 2008 R2&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;In Windows 2008 R2 Failover Clustering is now a new parameter (DiskRunChkDsk) that can be set, using cluster.exe or PowerShell, that determines what action to take if the dirty flag has been set on a cluster disk. The options for the setting are described below.&lt;/p&gt;
&lt;table style="width: 657px; height: 178px;" border="0" cellspacing="2" cellpadding="2"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;0 (default)&lt;/td&gt;
&lt;td&gt;ShallowCheck open files in root of volume. Check dirty bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;1&lt;/td&gt;
&lt;td&gt;FullCheck recursively on all files. Check dirty bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;2&lt;/td&gt;
&lt;td&gt;Run chkdsk every time the volume is mounted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;3&lt;/td&gt;
&lt;td&gt;ShallowCheck. If corrupt run chkdsk. If not corrupt run chkdsk in read-only mode. Online will proceed when chkdsk is running in read-only mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;4&lt;/td&gt;
&lt;td&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Never run chkdsk&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;5&lt;/td&gt;
&lt;td&gt;FullCheck. If corrupt do not bring online. User intervention required.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Check Dirty Flag On Disks&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;There are several ways to check if the disk is marked as dirty on Windows Server 2008 R2. You can do this using a scripting language to interrogate WMI, cluster.exe, PowerShell or FSUtil. I prefer the PowerShell way as you can check all disks which are available on the node from where you run the command.&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Checks all logical disks on a node for the dirty bit using PowerShell&lt;/p&gt;
&lt;p style="text-align: justify;"&gt;Get-WMIObject Win32_LogicalDisk | ft DeviceID, VolumeDirty&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/0005.PS-Check-disk-dirty-bit.png"&gt;&lt;img width="547" height="53" alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/0005.PS-Check-disk-dirty-bit.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;These commands will allow you to check the dirty bit on a specified disk&lt;br /&gt;Chkntfs X:&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4520.chkntfs-Check-disk-dirty-bit.png"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4520.chkntfs-Check-disk-dirty-bit.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fsutil dirty query x:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/7041.fsutil-Check-disk-dirty-bit.png"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/7041.fsutil-Check-disk-dirty-bit.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For testing you can also manually set the dirty bit of a disk &lt;br /&gt;Fsutil dirty set x:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Check &amp;amp; Change the Default Setting&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;By default the parameter has a setting that will run a shallow check on the disk if it is marked as dirty when the disk is brought online. To totally avoid running chkdsk you change the parameter to 4. This will ensure chkdsk is not run even if he dirty bit has been set. You must ensure there are procedures in place to allow you manually check the disks and plan maintenance to run chkdsk on the disks manually if the flag is set.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Below are the PowerShell commands to check the parameter and set it's value.&lt;/p&gt;
&lt;p style="margin: 0in; text-align: justify; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;# Check the parameter on a disk&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-ClusterResource "&amp;lt;Cluster Disk Name&amp;gt;" | Get-Parameter | fl DiskRunChkDsk&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;# Example&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-ClusterResource "Witness Disk" | Get-Parameter | fl DiskRunChkDsk&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;From the screen shot below we can see the current value of the property DiskRunChkDsk&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/6558.PS-DiskRunChkDsk-1.png"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/6558.PS-DiskRunChkDsk-1.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;# Set the parameter on a disk ( is the x is the number we want to set)&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-ClusterResource "&amp;lt;Cluster Disk Name&amp;gt;" | Set-Parameter DiskRunChkDsk = x&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;# Example&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-ClusterResource "Witness Disk" | Set-Parameter DiskRunChkDsk = 4&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;From the screen shot below we can see the current value of the property DiskRunChkDsk has changed to 4&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4201.PS-DiskRunChkDsk-2.png"&gt;&lt;img alt="" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-95/4201.PS-DiskRunChkDsk-2.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;You can check if the dirty bit has been set on all CSV volumes using the command&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-WMIObject Win32_Volume | ft Caption, DirtyBitSet -autosize&lt;/p&gt;
&lt;p style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="color: #1f497d; font-family: 'Segoe UI','sans-serif'; font-size: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ligatures: standard; mso-fareast-language: EN-US;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;For CSVs you can run the following commands to check and set the value of the parameter DiskRunChkDsk&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;# Check the values of the parameters&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-ClusterSharedVolume | Get-ClusterParameter&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;# Set the value of the DiskRunChkDsk parameter&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Get-ClusterSharedVolume | Set-ClusterParameter DiskRunChkDsk 4&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin: 0in; font-family: 'Segoe UI'; font-size: 9.5pt;"&gt;Aeval Shah&lt;/p&gt;
&lt;p style="margin: 0in; font-size: 9.5pt;"&gt;&lt;span style="font-family: 'Segoe UI';"&gt;Premier Field Engineer - &lt;/span&gt;&lt;span style="font-family: Segoe;"&gt;Failover Clustering &amp;amp; Hyper-V&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3492654" width="1" height="1"&gt;</content><author><name>Aeval Shah</name><uri>http://blogs.technet.com/aevstarr_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="online" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/online/" /><category term="clustering" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/clustering/" /><category term="disks" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/disks/" /><category term="cluster" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/cluster/" /><category term="failover" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/failover/" /><category term="bit" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/bit/" /><category term="dirty" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/dirty/" /><category term="chkdsk" scheme="http://blogs.technet.com/b/aevalshah/archive/tags/chkdsk/" /></entry></feed>