{"id":10311,"date":"2010-01-29T19:07:19","date_gmt":"2010-01-29T19:07:19","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=10311"},"modified":"2010-01-29T19:07:19","modified_gmt":"2010-01-29T19:07:19","slug":"rough-guide-to-setting-up-a-hyper-v-cluster","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=10311","title":{"rendered":"Rough Guide To Setting Up A Hyper-V Cluster"},"content":{"rendered":"<p><em>EDIT: 18 months after I wrote it, this post continues to be one of my most popular. \u00a0Here is some extra reading for you if this topic is of interest:<\/em><\/p>\n<ul>\n<li><em><a href=\"https:\/\/aidanfinn.com\/?download=CSVandBackup.pdf\" target=\"_blank\">Planning CSV and Backup<\/a> &#8211; goes through the process of designing cluster shared volumes, and hammers home why backup policy must be considered as a part of this<\/em><\/li>\n<li><em><span style=\"text-decoration: underline;\"><a href=\"https:\/\/aidanfinn.com\/?download=Hyper-V%20Cluster%20with%20iSCSI%20Target\">How to Build a Hyper-V Cluster Using the Microsoft iSCSI Software Target v3.3<\/a><\/span> &#8211; goes through the steps of setting up an iSCSI Hyper-V cluster<\/em><\/li>\n<\/ul>\n<p>A lot of people who will be doing this have never set up a cluster before.\u00a0 They know of clusters from stories dating back from the NT4 Wolfpack, Windows Server 2000 and Windows Server 2003 days when consultants made a fortune from making things like Exchange and SQL on 5 days per cluster projects.<\/p>\n<p>Hyper-V is getting more and more widespread.\u00a0 And that means setting up highly available virtual machines (HAVM) on a Hyper-V cluster will become more and more common.\u00a0 This is like Active Directory.\u00a0 Yes, it can be a simple process.\u00a0 But you have to get it right from the very start or you have to rebuild from scratch.<\/p>\n<p>So what I want to do here is walk through what you need to do in a basic deployment for a Windows Server 2008 R2 Hyper-V cluster running a single Cluster Shared Volume (CSV) and Live Migration.\u00a0 There won\u2019t be screenshots \u2013 I have a single laptop I can run Hyper-V on and I don\u2019t think work would be too happy with me rebuilding a production cluster for the sake of blog post screenshots \ud83d\ude42\u00a0 This will be rough and ready but it should help.<\/p>\n<p>Microsoft&#8217;s official step by step guide is <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc732181(WS.10).aspx\" target=\"_blank\">here<\/a>.\u00a0 It covers a lot more detail but it misses out on some things, like &#8220;how many NIC&#8217;s do I need for\u00a0a Hyper-V cluster?&#8221;, &#8220;how do I set up networking in a Hyper-V cluster?&#8221;, etc.\u00a0 Have a read of it as well to make sure you have covered everything.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">P2V Project Planning<\/span><\/strong><\/p>\n<p>Are you planning to <a href=\"https:\/\/aidanfinn.com\/?p=10187\" target=\"_blank\">convert physical machines to virtual machines<\/a> using Virtual Machine Manager 2008 R2?\u00a0 If so and you are using VMM 2008 R2 and Operations Manager 2007 (R2), deploy them now (yes, before the Hyper-V cluster!) and start collecting information about your server network.\u00a0 There are reports in there to help you identify what can be converted and what your host requirements will be.\u00a0\u00a0 You can also use the free <a href=\"http:\/\/technet.microsoft.com\/en-us\/solutionaccelerators\/dd537570.aspx\" target=\"_blank\">MAP toolkit for Hyper-V<\/a> to do this.\u00a0 If your physical machine uses 50% of a quad core Xeon then the same VM will use 50% of the same quad core Xeon in a Hyper-V host (actually, probably a tiny bit more to be safe).<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Buy The Hardware<\/span><\/strong><\/p>\n<p>This is the most critical part.\u00a0 The requirements for Hyper-V are simple:<\/p>\n<ul>\n<li>Size your RAM.\u00a0 Remember that a VM has a RAM overhead of up to 32MB for the first GB of RAM and up to 8MB for each additional GB of RAM in that VM.<\/li>\n<li>Size the host machine\u2019s \u201cinternal\u201d disk for the parent partition or host operating system.\u00a0 See the Windows Server 2008 R2 requirements for that.<\/li>\n<li>The CPU(s) should be x64 and feature assisted virtualisation.\u00a0 All of the CPU\u2019s in the cluster should be from the same manufacturer.\u00a0 Ideally they should all be the same spec but things happen over time as new hardware becomes available and you\u2019re expanding a cluster.\u00a0 There\u2019s a tick box for disabling advanced features in a virtual machine\u2019s CPU to take care of that during a VM migration.<\/li>\n<li>It should be possible to enable Data Execution Prevention (DEP) in the BIOS and it should work.\u00a0 Make that one a condition of sale for the hardware.\u00a0 DEP is required to prevent break out attacks in the hypervisor.\u00a0 Microsoft took security <em>very, very<\/em> seriously when it came to Hyper-V.<\/li>\n<li>The servers should be certified for Windows Server 2008 R2.<\/li>\n<li>You should have shared storage that you will connect to the servers using iSCSI or Fibre Channel.\u00a0 Make sure the vendor certifies it for Windows Server 2008 R2.\u00a0 It is on this shared storage (a SAN of some kind) that you will store your virtual machines.\u00a0 Size it according to your VM\u2019s storage requirements.\u00a0 If a VM has 2GB of RAM and 100GB of disk then size the SAN to be 102GB plus some space for ISO images (up to 5GB) and some free space for a healthy volume.<\/li>\n<li>The servers will be clustered.\u00a0 That means you should have a private network for the cluster heartbeat.\u00a0 A second NIC is required in the servers for that.<\/li>\n<li>The servers will need to connect to the shared storage.\u00a0 That means either a fibre channel HBA or a NIC suitable for iSCSI.\u00a0 The faster the better.\u00a0 You may go with 2 instead of 1 to allow MPIO in the parent partition.\u00a0 That allows storage path failover for each physical server.<\/li>\n<li>Microsoft <a href=\"https:\/\/aidanfinn.com\/?p=10088\" target=\"_blank\">recommends a 4th NIC<\/a> to create another private physical network between the hosts.\u00a0 It would be used for Live Migration.\u00a0 See my next page link for more information.\u00a0 I personally don\u2019t have this in our cluster and have not had any problems.\u00a0 This is supported AFAIK.<\/li>\n<li>Your servers will have virtual machines that require network access.\u00a0 That requires at least a third NIC in the physical servers.\u00a0 A virtual switch will be created in Hyper-V and that connects the virtual machines to the physical network.\u00a0 You may add a 4th NIC for NIC teaming.\u00a0 You may add many NIC\u2019s here to deal with network traffic.\u00a0 I\u2019ve talked a good bit about this, including <a href=\"https:\/\/aidanfinn.com\/?p=10164\" target=\"_blank\">this post<\/a>.\u00a0 Just search my blog for more.<\/li>\n<li>Try get the servers to be identical.\u00a0 And make sure everything has Windows Server 2008 R2 support and support for failover clustering.<\/li>\n<li>You can have up to 16 servers in your cluster.\u00a0 Allow for either N+1 or N+2.\u00a0 The latter is ideal, i.e. there will be capacity for two hosts to be offline and everything is still running.\u00a0 Why 2?\u00a0 (a) stuff happens in large clusters and Murphy is never far away.\u00a0 (b) if a Windows 8 migration is similar to a Windows Server 2008 R2 migration then you\u2019ll thank me later \u2013 it involved taking a host from the old cluster and rebuilding it to be a host in a new cluster with the new OS.\u00a0 N+1 clusters lost their capacity for failover during the migration unless new hardware was purchased.<\/li>\n<li>Remember that a Hyper-V host can scale out to 64 logical processors (cores in the host) and 1TB RAM.<\/li>\n<\/ul>\n<p><strong><span style=\"text-decoration: underline;\">The Operating System<\/span><\/strong><\/p>\n<p>This one will be quick.\u00a0 Remember that the Web and Standard editions don\u2019t support failover clustering.<\/p>\n<ul>\n<li>Hyper-V Server 2008 R2 is free, is based on the Core installation type and adds Failover Clustering for the first time in the free edition.\u00a0 It also has support for CSV and Live Migration.\u00a0 It does not give you any free licensing for VM\u2019s.\u00a0 I\u2019d only use it for VDI, Linux VM\u2019s or for very small deployments.<\/li>\n<li>Windows Server 2008 R2 Enterprise Edition supports 8 CPU sockets and 2TB RAM.\u00a0 What\u2019s really cool is that you get 4 free Windows Server licenses to run on VM\u2019s on the licensed host.\u00a0 A host with 1 Enterprise license effectively gets 4 free VM\u2019s.\u00a0 You can over license a host too: 2 Enterprise licenses = 8 free VM\u2019s.\u00a0 These licenses are not transferable to other hosts, i.e. license 1 host and run the VM\u2019s on another host.<\/li>\n<li>Windows Server 2008 R2 DataCenter Edition allows you to reach the maximum scalability of Hyper-V, i.e. 64 logical processors (cores in the host) and 1TB RAM.\u00a0 DataCenter edition as a normal OS has greater capacities than this; don\u2019t be fooled into thinking Hyper-V can reach those.\u00a0 It cannot do that despite what some people are claiming is supported.<\/li>\n<\/ul>\n<p>All hosts in the cluster should be running the same operating system and the same installation type.\u00a0 That means all hosts will be either Server Core or full installations.\u00a0 I\u2019ve talked about Core before.\u00a0 Microsoft recommends it because of the smaller footprint and less patching.\u00a0 I recommend a full installation because the savings are a few MB of RAM and a few GB of disk.\u00a0 You may have fewer patches with Core but they are probably still every month.\u00a0 You\u2019ll also find it\u2019s harder to repair a Core installation and 3rd party hardware management doesn\u2019t have support for it.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Install The Hardware<\/span><\/strong><\/p>\n<p>First thing\u2019s first, get the hardware installed.\u00a0 If you\u2019re unsure of anything then get the vendor to install it.\u00a0 You should be buying from a vetted vendor with cluster experience.\u00a0 Ideally they\u2019ll also be a reputed seller of enterprise hardware, not just honest Bob who has a shop over the butchers.\u00a0 Hardware for this stuff can be fiddly.\u00a0 Firmwares across the entire hardware set all have to be matching <em>and<\/em> compatible.\u00a0 Having someone who knows this stuff rather than searches the Net for it makes a big difference.\u00a0 You\u2019d be amazed by the odd things that can happen if this isn\u2019t right.<\/p>\n<p>As the network stuff is being done, get the network admins to check switch ports for trouble.\u00a0 Ideally you\u2019ll use cable testers to test any network cables being used.\u00a0 Yes, I am being fussy but little things cause big problems.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Install The Operating Systems<\/span><\/strong><\/p>\n<p>Make sure they are all identical.\u00a0 An installation that is done using using an answer file helps there.\u00a0 Now you should identify which physical NIC maps to which Local Area Connection in Windows.\u00a0 Take care of any vendor specific NIC teaming \u2013 find out <em>exactly<\/em> what your vendor prescribes for Hyper-V.\u00a0 Microsoft has no guidance on this because teaming is a function of the hardware vendor.\u00a0 Rename each Local Area Connection to it\u2019s role, e.g.<\/p>\n<ul>\n<li>Parent<\/li>\n<li>Cluster<\/li>\n<li>Virtual 1<\/li>\n<\/ul>\n<p>What you\u2019ll have will depend on how many NIC\u2019s you have and what roles you assigned to them.\u00a0 Disable everything except for the first NIC.\u00a0 That\u2019s the one you\u2019ll use for the parent partition.\u00a0 Don\u2019t disable the iSCSI ones.<\/p>\n<p>Patch the hosts for security fixes.\u00a0 Configure the TCP\/IP\u00a0 for the parent partition NIC.\u00a0 Join the machines to the domain.\u00a0 I strongly recommend setting up the <a href=\"https:\/\/aidanfinn.com\/?p=9993\" target=\"_blank\">constrained delegation for ISO file sharing<\/a> over the network.<\/p>\n<p>Do whatever antivirus you need to.\u00a0 Remember you\u2019ll need to disable scanning of any files related to Hyper-V.\u00a0 I personally advise against putting AV on a Hyper-V host because of the risks associated with this.\u00a0 Search my blog for more.\u00a0 Be very sure that the AV vendor supports scanning files on a CSV.\u00a0 And even if they do, there\u2019s no need to be scanning that CSV.\u00a0 Disable it.<\/p>\n<p>Enable the Cluster NIC for the private heartbeat network.\u00a0 This will either be a cross over cable between 2 hosts in a 2 host cluster or a private VLAN on the switch dedicated just to these servers and this task.\u00a0 Configure TCP\/IP on this NIC on all servers with an IP range that is not routed on your production network.\u00a0 For example, if your network is 172.168.1.0\/16 then use 192.168.1.0\/24 for the heartbeat network.\u00a0 Ping test everything to make sure every server can see every other server.<\/p>\n<p>If you have a\u00a0Live Migratoin\u00a0NIC\u00a0(labelled badly as CSV in my examples diagrams) then set it up similarly to the Cluster NIC.\u00a0 It will have it\u2019s own VLAN and it\u2019s own IP range, e.g. 192.168.2.0\/24.<\/p>\n<p>Enable the Virtual NIC.\u00a0 Unbind every protocol you can from it, e.g. if using NIC teaming you won\u2019t unbind that.\u00a0 This NIC will not have a TCP configuration so IPv4 and IPv6 must be unbound.\u00a0 You\u2019re also doing this for security and simplicity reasons.<\/p>\n<p>Here\u2019s what we have now:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; border: 0px;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image_thumb3.png\" border=\"0\" alt=\"image\" width=\"404\" height=\"231\" \/><\/a><\/p>\n<p>Once you have reached here with all the hosts we\u2019re ready for the next step.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Install Failover Clustering<\/span><\/strong><\/p>\n<p>You\u2019ll need to figure out how your cluster will gain a quorum, i.e. be able to make decisions about failover and whether it is operational or not.\u00a0 This is to do with host failure and how the remaining hosts vote.\u00a0 It\u2019s done in 2 basic ways.\u00a0 There are actually 4 ways but it breaks down to 2 ways for most companies and installations:<\/p>\n<ol>\n<li>Node majority: This is used when there are an odd number of hosts in the cluster, e.g. 5 hosts, not 4.\u00a0 The hosts can vote and there will always be a majority winner, e.g. 3 to 2.<\/li>\n<li>Node majority + Disk: This is used when there are an even number of hosts, e.g. 16.\u00a0 It\u2019s possible there would be an 8 to 8 vote with no majority winner.\u00a0 The disk acts as a tie breaker.<\/li>\n<\/ol>\n<p>Depending on who you talk to or what GUI in Windows you see, this disk is referred to either as a Witness Disk or a Quorum Disk.\u00a0 I recommend creating it in a cluster no matter what.\u00a0 Your cluster may grow or shrink to an uneven number of hosts and may need it.\u00a0 You can quickly change the quorum configuration based on the advice in the Failover Clustering administration MMC console.<\/p>\n<p>The disk only needs to be <a href=\"http:\/\/technet.microsoft.com\/en-us\/magazine\/2008.07.failover.aspx?pr=blog\" target=\"_blank\">500MB<\/a> size.\u00a0 Create it on the SAN and connect the disk to all of your hosts.\u00a0 Log into a host and format the disk with NTFS.\u00a0 Label it with a good name like Witness Disk.<\/p>\n<p>I\u2019m ignoring the other 2 methods because they\u2019ll only be relevant in stretch clusters than span a WAN link and I am not talking about that here.<\/p>\n<p>Use Server Manager to install the role on all hosts.\u00a0 Now you can set up the cluster.\u00a0 The wizard is easy enough.\u00a0 You\u2019ll need a computer name\/DNS name for your cluster and an IP address for it.\u00a0 This is on the same VLAN as the Parent NIC in the hosts.\u00a0 You\u2019ll add in all of the hosts.\u00a0 Part of this process does a check on your hardware, operating system and configuration.\u00a0 If this passes then you have a supported cluster.\u00a0 Save the results as a web archive file (.MHT).\u00a0 The cluster creation will include the quorum configuration.\u00a0 If you have an even number of hosts then go with the + Disk option and select the witness disk you just created.\u00a0 Once it\u2019s done your cluster is built.\u00a0 It is not hard and only takes about 5 to 10 minutes.\u00a0 Use the Failover Clustering MMC to check the health of everything.\u00a0 Pay attention to the networks.\u00a0 Stray networks may appear if you didn\u2019t unbind IPv4 or IPv6 from the virtual network NIC in the hosts.<\/p>\n<p>If you went with Node Majority then here\u2019s my tip.\u00a0 Go ahead and launch the Failover Clustering MMC.\u00a0 Add in the storage for the witness disk.\u00a0 Label it with the same name you used for the NTFS volume.\u00a0 Now leave it there should you ever need to change the quorum configuration.\u00a0 A change is no more than 2 or 3 mouse clicks away.<\/p>\n<p>Now you have:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image_thumb4.png\" border=\"0\" alt=\"image\" width=\"404\" height=\"231\" \/><\/a><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Install Hyper-V<\/span><\/strong><\/p>\n<p>Enable the Hyper-V role on each of your hosts, one at a time.\u00a0 Make sure the logs are clean after the reboot.\u00a0 Don\u2019t go experimenting yet; Please!<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Cluster Shared Volume<\/span><\/strong><\/p>\n<p>CSV is seriously cool.\u00a0 Most installations will have most, if not all, VM\u2019s stored on a CSV.\u00a0 CSV is only supported for Hyper-V and not for anything else as you will be warned by Microsoft.<\/p>\n<p>Set up your LUN on the physical storage for storing your VM\u2019s.\u00a0 This will be your CSV.\u00a0 Connect the LUN to your hosts.\u00a0 Format the LUN with NTFS.\u00a0 Set it to use GPT so it can grow beyond 2TB.\u00a0 Label it with a good name, e.g. CSV1.\u00a0 You can have more than 1 CSV in a cluster.\u00a0 In fact, a VM can have its VHD files on more than one CSV.\u00a0 Some are doing this to attempt to maximise performance.\u00a0 I\u2019m not sold that will improve performance but you can test it for yourself and do what you want here.<\/p>\n<p>DO NOT BE TEMPTED TO DEPLOY A VM ON THIS DISK YET.\u00a0 You\u2019ll lose it after the next step.<\/p>\n<p>Use the Failover Clustering MMC to add the disk in.\u00a0 Label it in Failover Clustering using the same name you used when you formatted the NTFS volume.\u00a0 Now configure the the CSV.\u00a0 When you\u2019re done you\u2019ll find the disk has no drive letter.\u00a0 In fact, it\u2019ll be \u201cgone\u201d from the Windows hosts.\u00a0 It\u2019ll actually be mounted as a folder on the C: drive of all of your hosts in the cluster, e.g. C:ClusterStorageVolume1.\u00a0 This can be confusing at first.\u00a0 It\u2019s enough to know that all hosts will have access to this volume and that your VM\u2019s are not really in your C: drive.\u00a0 They are really on the SAN.\u00a0 C:ClusterStorageVolume1 is just a mount point to a letterless drive.<\/p>\n<p>Now we have this:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image_thumb5.png\" border=\"0\" alt=\"image\" width=\"404\" height=\"231\" \/><\/a><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Virtual Networking<\/span><\/strong><\/p>\n<p>Hopefully you have read the previously linked <a href=\"https:\/\/aidanfinn.com\/?p=10164\" target=\"_blank\">blog post<\/a> about networking in Hyper-V.\u00a0 You should be fully educated about what\u2019s going on here.<\/p>\n<p>Here\u2019s the critical things to know:<\/p>\n<ul>\n<li>You really shouldn\u2019t put private or internal virtual networks on a Hyper-V cluster when using more than one VM on those virtual networks.\u00a0 Why?\u00a0 A private or internal virtual network on host A cannot talk with a private or internal network on host B.\u00a0 If you set up VM1 and VM2 on such a virtual network on host A what happens when one of those VM\u2019s is moved to another host?\u00a0 It will not be able to talk to the other VM.<\/li>\n<li>If you create a virtual network on one host then you need to create it on all hosts.\u00a0 You also must use identical names across all hosts.\u00a0 So, if I create External Network 1 on host 1 then I must create it on host 2.<\/li>\n<\/ul>\n<p>Create your virtual network(s) and bind them to your NIC\u2019s.\u00a0 In my case, I\u2019m binding External Network 1 to the NIC we called Virtual 1.\u00a0 That gives me this:<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2010\/01\/image_thumb6.png\" border=\"0\" alt=\"image\" width=\"404\" height=\"231\" \/><\/a><\/p>\n<p>All of my VM\u2019s will connect to External Network 1.\u00a0 An identically named external virtual network exists on all hosts.\u00a0 The physical Cluster 1 NIC is switched identically on all servers on the physical network.\u00a0 That means if VM1 moves from host 1 to host 2 it will be able to reconnect to the virtual network (because of the identical name) and be able to reach the same places on the physical network.\u00a0 What I said for virtual network names also applies to tags and VLAN ID\u2019s if you use them.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Get Busy!<\/span><\/strong><\/p>\n<p>Believe it or not, you have just built a Hyper-V cluster.\u00a0 Go ahead and build your VM\u2019s.\u00a0 Use the Failover Clustering MMC as much as possible.\u00a0 You\u2019ll see it has Hyper-V features in there.\u00a0 Test live migration of the VM between hosts.\u00a0 Do continuous pings to\/from the VM during a migration.\u00a0 Do file copies during a migration (pre-Vista OS on the VM is perfect for this test).\u00a0 Make sure the VM\u2019s have the integration components\/integration services\/enlightenments (or additions for you VMware people) installed.\u00a0 You should notice no downtime at all.<\/p>\n<p>Remember that for <a href=\"https:\/\/aidanfinn.com\/?p=10288\" target=\"_blank\">Linux VM\u2019s you need to set the MAC in the VM properties to be static<\/a> or they\u2019ll lose the binding between their IP configuration and the virtual machine NIC after a migration between hosts.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Administartion of VM\u2019s<\/span><\/strong><\/p>\n<p>I don\u2019t know why some people can\u2019t see or understand this.\u00a0 You can enable remote desktop in your VM\u2019s operating system to do administration on them.\u00a0 You do not to use the Connect feature in Hyper-V Manager to open the Virtual Machine Connection.\u00a0 Think of that tool as your virtual KVM.\u00a0 Do you always use KVM to manage your physical servers?\u00a0 You do?\u00a0 Oh, poor, poor you!\u00a0 You know there\u2019s about 5 of you out there.<\/p>\n<p>Linux admins always seem to understand that they can use SSH or VNC.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Virtual Machine Manager 2008 R2<\/span><\/strong><\/p>\n<p>VMM 2008 R2 will allow you to manage a Hyper-V cluster(s) as well as VMware and Virtual Server 2005 R2 SP1.\u00a0 There\u2019s a workgroup edition for smaller clusters.\u00a0 It\u2019s pretty damned powerful and simplifies many tasks we have to do in Hyper-V.\u00a0 Learn to love the library because that\u2019s a time saver for creating templates, sharing ISO\u2019s (see constrained delegation above during the OS installation), administration delegation, self service portal, etc.<\/p>\n<p>You can install VMM 2008 R2 as a VM on the cluster but I don\u2019t recommend it.\u00a0 If you do, then use the Failover Clustering and Hyper-V consoles to manage the VMM virtual machine.\u00a0 I prefer that VMM be a physical box.\u00a0 I hate the idea of chicken and egg scenarios.\u00a0 Can I think of one now?\u00a0 No, but I\u2019m careful.<\/p>\n<p>To deploy the VMM agent you just need to add the Hyper-V cluster.\u00a0 All the hosts will be imported and the agent will be deployed.\u00a0 Now you can do all of your Hyper-V management via PowerShell, the VMM console and the Self Service console.<\/p>\n<p>You also can use VMM to do a <a href=\"https:\/\/aidanfinn.com\/?p=10187\" target=\"_blank\">P2V conversion<\/a> as mentioned earlier.\u00a0 VSS capable physical machines that don\u2019t run transactional databases can be converted using a live or online conversion.\u00a0 Those other physical machines can be converted using an offline migration that uses Windows PE (pre-installation environment).\u00a0 Additional network drivers may need to be added to WinPE.<\/p>\n<p>You can enable PRO in your host group(s) to allow VMM to live migrate VM\u2019s around the cluster based on performance requirements and bottlenecks.\u00a0 I have set it to fully automatic on our cluster.\u00a0 Windows 2008 quick migration clusters were different: automatic moves meant a VM could be offline for a small amount of time.\u00a0 Live Migration in Windows Server 2008 R2 solves that one.<\/p>\n<p>Figure out your administration model and set up your delegation model using roles.\u00a0 Delegated administrators can use the VMM console to manage VM\u2019s on hosts.\u00a0 Self service users can use the portal.<\/p>\n<p>Populate your library with hardware templates, VHD\u2019s and machine templates.\u00a0 Add in ISO images for software and operating systems.\u00a0 An ISO create and mounting tool will prove very useful.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Operations Manager 2008 R2<\/span><\/strong><\/p>\n<p>My advice is \u201cYES, use it if you can!\u201d.\u00a0 It\u2019s by using System Center that makes Hyper-V so much better.\u00a0 OpsMgr will give you all sorts of useful information on performance and health.\u00a0 Import your management packs for Windows Server, clustering, your hardware (HP and Dell do a very nice job on this.\u00a0 IBM don\u2019t do so well at all \u2013 big surprise!), etc.\u00a0 Use the VMM integration to let OpsMgr and VMM to work together.\u00a0 VMM will use performance information from OpsMgr for intelligent placement of VM\u2019s and for PRO.<\/p>\n<p>I leave the OpsMgr agent installation as a last step on the Hyper-V cluster.\u00a0 I want to know that all my tweaking is done \u2026 or hopefully done.\u00a0 Otherwise there\u2019s lots of needless alerts during the engineering phase.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Backup<\/span><\/strong><\/p>\n<p>Deploy your backup solution.\u00a0 I\u2019ve talked about this before so check out <a href=\"https:\/\/aidanfinn.com\/?p=10249\" target=\"_blank\">that blog post<\/a>.\u00a0 You will also want to <a href=\"https:\/\/aidanfinn.com\/?p=10250\" target=\"_blank\">backup VMM<\/a>.\u00a0 Remember that DPM 2007 cannot backup VM\u2019s on a CSV.\u00a0 You will need DPM 2010 for that.\u00a0 Check with your vendor if you are using backup tools from another company.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Pilot<\/span><\/strong><\/p>\n<p>Don\u2019t go running into production.\u00a0 Test the heck out of the cluster.\u00a0 Deploy lots of VM\u2019s using your templates.\u00a0 Spike the CPU in some of them (maybe a floating point calculator or a free performance tool) to test OpsMgr and VMM PRO.\u00a0 Run live migrations.\u00a0 Test P2V.\u00a0 Test the CSV coordinator failover.\u00a0 Test CSV path failover by disconnecting a running host from the SAN \u2013 the storage path should switch to using the Ethernet and route via another host.\u00a0 Get people involved and have some fun with this stage.\u00a0 You can go nuts while you\u2019re not yet in production.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Go Into Production<\/span><\/strong><\/p>\n<p>Kick up your feet, relax, and soak in the plaudits for a job well done.<\/p>\n<p>EDIT #1:<\/p>\n<p>I found this <a href=\"http:\/\/blogs.msdn.com\/clustering\/archive\/2009\/02\/19\/9433146.aspx\">post<\/a> by a Microsoft Failover Clustering program manager that goes through some of this if you want some more advice.<\/p>\n<p>My diagrams do show 4 NIC&#8217;s, including the badly named CSV (Live Migration dedicated).\u00a0 But as I said in the OS installation section, you only need 3 for a reliable system: (1) parent, (2) heartbeat\/live migration, and (3) virtual switch.<\/p>\n<p>EDIT #2<\/p>\n<p>There are some useful troubleshooting tips on this <a href=\"http:\/\/blogs.technet.com\/askcore\/archive\/2009\/12\/10\/windows-server-2008-r2-live-migration-the-devil-may-be-in-the-networking-details.aspx\" target=\"_blank\">page<\/a>.\u00a0 Two things should be noted.\u00a0\u00a0Many security experts advise that you disable NTLM in group policy across the domain.\u00a0 You require NTLM for this solution.\u00a0 There are quotes out there about Windows Server 2008 failover clusters not needing a heartbeat network. But <em>&#8220;If CSV is configured, all cluster nodes must reside on the same <span style=\"text-decoration: underline;\">non-routable<\/span> network. CSV (specifically for re-directed I\/O) is not supported if cluster nodes reside on separate, routed networks&#8221;.<\/em><\/p>\n<div id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:62add790-b517-4e1e-992f-f0a7dc310f06\" class=\"wlWriterEditableSmartContent\" style=\"margin: 0px; display: inline; float: none; padding: 0px;\">Technorati Tags: <a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Hyper-V\">Hyper-V<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Hyper-V+Server\">Hyper-V Server<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Windows+Server+2008+R2\">Windows Server 2008 R2<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/VMM\">VMM<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/DPM\">DPM<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Operations+Manager\">Operations Manager<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Backup\">Backup<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Virtualisation\">Virtualisation<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/System+Center\">System Center<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>EDIT: 18 months after I wrote it, this post continues to be one of my most popular. \u00a0Here is some extra reading for you if this topic is of interest: Planning CSV and Backup &#8211; goes through the process of designing cluster shared volumes, and hammers home why backup policy must be considered as a &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=10311\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Rough Guide To Setting Up A Hyper-V Cluster&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[20],"tags":[55,175,181,67,83,193,195,196,117],"class_list":["post-10311","post","type-post","status-publish","format-standard","hentry","category-hyper-v","tag-backup","tag-dpm","tag-hyper-v","tag-hyper-v-server","tag-operations-manager","tag-system-center","tag-virtualisation","tag-vmm","tag-windows-server-2008-r2"],"aioseo_notices":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/10311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10311"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/10311\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}