{"id":14817,"date":"2013-06-05T23:03:31","date_gmt":"2013-06-05T22:03:31","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=14817"},"modified":"2013-06-05T23:03:31","modified_gmt":"2013-06-05T22:03:31","slug":"application-availability-strategies-for-the-private-cloud","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=14817","title":{"rendered":"TechEdNA 2013 &#8211; Application Availability Strategies for the Private Cloud"},"content":{"rendered":"<p>Speakers: Jose Barreto, Steven Ekren<\/p>\n<p>Pre-session question \u2026 How far can a cluster stretch?&#160; You can have your heartbeat up to 1 minute timeout.&#160; They recommend no more than 10-20 seconds.&#160; However there is a license mobility limit \u2013 it is pretty long distance, but it does exist.<\/p>\n<p><strong><u>Moving Physical to the Private Cloud (Virtual)<\/u><\/strong><\/p>\n<p>Many ways to P2V from rebuilt, disk2vhd, backup\/restore, VMM, and on and on and on.<\/p>\n<p>VMs can be HA on Hyper-V.&#160; Cost reductions and mobility by virtualization.&#160; Easier backup.&#160; Easier deployment.&#160; Easier monitoring.&#160; Flexibility.&#160; Self-service.&#160; Measurability.&#160; Per-VM\/VHD VM replication is built in with Hyper-V Replica.&#160; And on and on and on.<\/p>\n<p><strong><u>VM Monitoring added in WS2012 Failover Clustering<\/u><\/strong><\/p>\n<p>2 levels of escalated action in response to a failure trigger:<\/p>\n<ol>\n<li>Guest level HA recovery<\/li>\n<li>Host level HA recovery<\/li>\n<\/ol>\n<p align=\"center\"><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0079.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSCN0079\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"DSCN0079\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0079_thumb.jpg\" width=\"504\" height=\"379\" \/><\/a><\/p>\n<p>Off by default and requires configuration.&#160; Watch for an alert, say from a service.&#160; If service fails, cluster gets the alert and restarts the service.&#160; If within an hour, the cluster gets the same alert again, it\u2019ll fail it over (shut down) to another host.<\/p>\n<p>Requires that the VM is WS2008 R2 or later and in the same domain as the hosting Hyper-V cluster.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0080.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSCN0080\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"DSCN0080\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0080_thumb.jpg\" width=\"504\" height=\"379\" \/><\/a><\/p>\n<p>In the private cloud:<\/p>\n<ul>\n<li>Guest OS admin configures the failure triggers<\/li>\n<li>Recovery from host is configured by the cloud admin<\/li>\n<\/ul>\n<p>The process works through the Hyper-V heartbeat integration component in the guest OS.&#160; An \u201capplication critical flag\u201d goes back to the parent partition via VMMS, and escalated in the host via the VM resource in the cluster, to the Cluster Service.<\/p>\n<p>You can enable VM Monitoring in WS2012 in the VM properties (cluster) in Settings.&#160; The cluster will still get a signal, if configured in the guest OS, but it is ignored.&#160; Basically cloud admin can disable the feature, and it ignores what the tenant does in their VM.<\/p>\n<p>Event ID 1250 will be registered in System log with FailoverClustering source when the application critical flag is sent.<\/p>\n<p>We can set up a trigger for a service failure or an event.<\/p>\n<p>Add-ClusterVMMonitoredItem \u2026 Get-, Remove-, Reset- are run by a guest OS admin in the VM.<\/p>\n<p>You can also hit Configure Monitoring action on a VM in Failover Cluster Manager on the cloud.&#160; Assumes you have admin rights in the VM.<\/p>\n<p><strong><u>Guest Clustering<\/u><\/strong><\/p>\n<p>We can create guest OS clusters.&#160; Protects against faults in the guest layer, e.g. BSOD, registry issue, etc.&#160; Also allows preventative maintenance with high SLAs.<\/p>\n<p>Can use: iSCSI, virtual fiber channel, or SMB 3.0 shared storage.<\/p>\n<p><strong><u>Guest Clustering and VM Monitoring<\/u><\/strong><\/p>\n<p>You can use both together.<\/p>\n<p>Set cluster service restart action to none for 2nd and 3rd failure <strong>in the guest cluster node OS<\/strong>.&#160; First failure is left at Restart the Service.<\/p>\n<p>Then from the host site, enable VM monitoring for the guests\u2019 Cluster Service.<\/p>\n<p><strong><u>Demo of virtual SOFS<\/u><\/strong><\/p>\n<p>Steven kills the cluster service on a SOFS node using Process Explorer.&#160; The service restarts.&#160; Video being streamed from the SOFS via that node pauses and resumes maybe 2-3 seconds later.&#160; He kills the service a second time.&#160; The host cluster shuts down the VM and fails it over.<\/p>\n<p>Thorough Resource Health Check Interval defaults to 1 minute in the VM properties in Failover Cluster Manager.&#160; You can reduce this if you need to, maybe 20 seconds.&#160; Don\u2019t make it too often, because the check does run a piece of code and that would be very inefficient.&#160; <\/p>\n<p>Jose comes on stage.<\/p>\n<p><strong><u>Shared Virtual Disks<\/u><\/strong><\/p>\n<p>Before WS2012 R2, the only way we could do guest clustering was by surfacing physical\/cloud storage to the tenant layer, or by deploying virtual file servers\/iSCSI.&#160; First is insecure and inflexible, second is messy.&#160; Hosting companies just won\u2019t want to do it \u2013 and most will refuse.<\/p>\n<p>With WS2012 R2, VMs can share a VHDX file as their shared data disk(s).&#160; It is a shared SAS device from the VM\u2019s perspective.&#160; It is for data disks only.<\/p>\n<p>There are 2 scenarios supported:<\/p>\n<ul>\n<li>Using CSV to store the VHDX<\/li>\n<li>Using SMB to store the VHDX<\/li>\n<\/ul>\n<p>The storage location of the CSV must be available to all hosts that guest cluster nodes will be running on.<\/p>\n<p>This solution isolates the guests\/tenants from your hosts\/cloud fabric.&#160; <\/p>\n<p><strong><u>Deploying Shared VHDX<\/u><\/strong><\/p>\n<p>Use:<\/p>\n<ul>\n<li>Hyper-V Manager<\/li>\n<li>PowerSHell<\/li>\n<li>VMM 2012 R2<\/li>\n<\/ul>\n<p>Think about:<\/p>\n<ul>\n<li>Anti-affinity, availability sets in VMM service templates.&#160; Keep the guests on different hosts so you don\u2019t have a single point of failure.<\/li>\n<li>Watch out for heartbeats being too low.<\/li>\n<\/ul>\n<p>Deploy the data disk on the SCSI controller of the VMs.&#160; Enable sharing in the Advanced features of the VHDX in the VM settings.<\/p>\n<p>In the VM, you just see a shared SAS disk.&#160; You can use an older version of Windows \u2026 2012 and 2012 R2 will be supported.&#160; This is limited by time to test older versions.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0081.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSCN0081\" style=\"float: none; margin-left: auto; display: block; margin-right: auto\" alt=\"DSCN0081\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0081_thumb.jpg\" width=\"500\" height=\"375\" \/><\/a><\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0082.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSCN0082\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"DSCN0082\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0082_thumb.jpg\" width=\"504\" height=\"379\" \/><\/a><\/p>\n<p>PowerShell:<\/p>\n<ul>\n<li>New-VHD<\/li>\n<li>Add-VMHardDiskDrive \u2026. \u2013ShareVirtualDisk &lt; repeat this on all the guest cluster VMs<\/li>\n<li>Get-VMHardDiskDrive \u2026 | ft VMName, Path, ControllerType, <u>SupportPersistentReservations<\/u> &lt; the latter setting indicates that it is shared if set to True.<\/li>\n<\/ul>\n<p>In VMM service template tier properties, you can check Share The Disk Across The Service Tier in the VHDX properties.<\/p>\n<p>Inside the VM, it just looks like a typical disk in Disk Management, just like in physical cluster.<\/p>\n<p>Tip: use different VHDX files for your different data volumes in the guest OS cluster.&#160; It gives you more control and flexibility.&#160; Stop being lazy and do this!<\/p>\n<p>The hosts must be 2012.&#160; The guests are 2012 and 2012 R2, with the latest integration components.&#160; <\/p>\n<p>This is only VHDX \u2013 it uses the metadata feature of the disk to store persistent reservation information.&#160; Can use fixed or dynamic, but not differencing.<\/p>\n<p><strong><u>Backup<\/u><\/strong><\/p>\n<p>Guest-based backup only.&#160; Host based-backups and snapshots of the shared VHDX are not supported.&#160; Same restrictions as with guest clusters using physical storage.<\/p>\n<p><strong><u>Storage Migration of Shared VHDX<\/u><\/strong><\/p>\n<p>This is not supported \u2013 it is being referenced by multiple VMs.&#160; You can Live Storage Migrate the other VM files, but just not the shared data VHDX of the guest cluster.<\/p>\n<p>You can Live Migrate the VMs. <\/p>\n<p><strong><u>Comparing Guest Cluster Options<\/u><\/strong><\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0083.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSCN0083\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"DSCN0083\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0083_thumb.jpg\" width=\"504\" height=\"379\" \/><\/a><\/p>\n<p><strong><u>Troubleshooting<\/u><\/strong><\/p>\n<ul>\n<li>Performance counters: Added new counters to PerfMon<\/li>\n<li>Event Viewer: Hyper-V-Shared-VHDX<\/li>\n<li>Filter Manager (FLTMC.EXE): The Shared VHDX filter can be looked at &#8211; svhdxflt<\/li>\n<li>Actual binaries of the filer: svhdxflt.sys and pvhdparsersys<\/li>\n<\/ul>\n<p><strong><u>Online Resize<\/u><\/strong><\/p>\n<p>You can hot resize a non-shared VHDX in WS2012 R2.&#160; You cannot hot resize a shared VHDX.<\/p>\n<p>You can hot-add a shared VHDX.<\/p>\n<p><strong><u>Unsupported bonus scenario<\/u><\/strong><\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0085.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"DSCN0085\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto\" border=\"0\" alt=\"DSCN0085\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/06\/DSCN0085_thumb.jpg\" width=\"504\" height=\"379\" \/><\/a><\/p>\n<p><div id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6f254140-1485-4508-a1a7-20c18de30ccb\" class=\"wlWriterEditableSmartContent\" style=\"float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px\">Technorati Tags: <a href=\"http:\/\/technorati.com\/tags\/Event+Notes\" rel=\"tag\">Event Notes<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Windows+Server+2012+R2\" rel=\"tag\">Windows Server 2012 R2<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Hyper-V\" rel=\"tag\">Hyper-V<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Storage\" rel=\"tag\">Storage<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Networking\" rel=\"tag\">Networking<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Failover+Clustering\" rel=\"tag\">Failover Clustering<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Speakers: Jose Barreto, Steven Ekren Pre-session question \u2026 How far can a cluster stretch?&#160; You can have your heartbeat up to 1 minute timeout.&#160; They recommend no more than 10-20 seconds.&#160; However there is a license mobility limit \u2013 it is pretty long distance, but it does exist. Moving Physical to the Private Cloud (Virtual) &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=14817\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;TechEdNA 2013 &#8211; Application Availability Strategies for the Private Cloud&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","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":[14],"tags":[176,63,181,80,99,120],"class_list":["post-14817","post","type-post","status-publish","format-standard","hentry","category-eventnotes","tag-eventnotes","tag-failover-clustering","tag-hyper-v","tag-networking","tag-storage","tag-windows-server-2012-r2"],"aioseo_notices":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/14817","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=14817"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/14817\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}