Windows Server Technical Preview – Cluster Cloud Witness

Imagine a multi-site or stretch cluster that spans sites A and B. Hosts are running in Site A and Site B and are nodes in that cluster. A critical function of a cluster is to calculate quorum in the event of a site outage or a link failure – one site must have more than half of the available votes to have quorum and continue operating as a cluster (and failover the VMs from the other site).

The recommended solution for this in the past was to create a file share witness … operating in a third site. So first you needed a third site. That’s not going to be cheap! And then you needed, ideally, a file server cluster running in that third site to ensure that the file share witness was highly available.

image

Windows Server vNext offers a new advanced quorum option of using a Cloud Witness. This is where we use Azure as a witness. Folks – this is going to be one seriously affordable option!

You create a blob storage account in Azure. This will store just an incremental sequence number; it’s just a vote so the cluster will remain operational if Azure has issues. This will cost just a few cents per month to operate.

You then configure the cluster with the storage account name and storage account key for secure access. The cluster will then use Azure as a witness. This is a lot easier and cheaper than configuring a file share witness on a cluster in a third site.

Introducing The Features of Hyper-V In Windows Server 2016 (WS2016)

As I have done with Windows Server 2012 and Windows Server 2012 R2, I am going to do my best to list out and document (level 100 to begin with) the features of Windows Server 2016 (WS2016) Hyper-V.

There will be two levels of “documentation”:

  • The glossary: Where I list out each feature, summarize it, and link to more detailed descriptions.
  • Feature specific posts: Where I will talk a bit more about the feature in question.

The glossary will grow over time and I will add links as feature specific posts are published. I have a bunch of those feature specific posts scheduled daily from today into 2015 covering content on Hyper-V and related technologies in Windows Server. The feature specific posts will take more time – things are subject to change so I am waiting for stabilization first.

Note that I am aggregating publicly discussed/document information from TechNet, Microsoft blog posts, TechEd Europe 2014, Ignite 2015 and interviews by Microsoft staff. There is no content beyond that scope.

Windows Server Technical Preview – Binary VM Configuration Files

Microsoft is changing the format of virtual machine configuration files by going back to the drawing board. There are two files in question:

  • .VMCX which is the virtual machine configuration file.
  • .VMRS which is for runtime state data

Both files are binary files; yes Microsoft is moving away from XML. And editing these files directly is strictly not supported – it never has been! You should use the admin tools, PowerShell, and WMI to edit a VM configuration.

There are two benefits to switching to binary files:

  • Performance: Reading from and writing to the files will become more efficient
  • Stability: There is a lower risk of corruption due to storage failure

This resiliency is being enabled by resilient logging of changes _ a change is written to the log, the log is replayed to the configuration file, and they clear away the log. And believe it or not, Microsoft has seen some customers where the XML format has caused performance bottlenecks!

Azure Backup & SCDPM Public Feedback Opportunity

Microsoft is giving you the chance to provide feedback and vote on existing ideas for Azure Online Backup and System Center Data Protection Manager. This is a great idea. Personally speaking, it’s validating a number of things that I have fed back to Microsoft already, and a number of things that customers have fed back to me.

I’ve been working with Azure IaaS since January of this year. Before that, Azure was meaningless to me; it was a direct sell by Microsoft to developers – yes, even with IaaS there. But then I found out that Azure was coming to Open licensing so partners could resell it, and I started learning. And we at MicroWarehouse started to promote Azure to our customers (the Microsoft partners that resell licensing and implement solutions for their customers) and that’s when I started to get a better feel for what worked in the real world.

Azure Online Backup was the thing that grabbed people’s attention. Who can argue with €0.15/GB/month? That’s less than half of the cheapest discount rate that we found for online backup that is typically sold in Ireland by resellers. However, there were issues.

The biggest one is that there is no centralized portal. Partners use this to manage backups and get reports. That all has to be done on-premises with Azure Online Backup and that increases the cost of operations significantly.

The other hot issue for me is the lack of a backup mechanism for VMs running in Azure. The only offered solution is to install an agent in the guest OS and then we’re back to the bad old days of backup. VM backup should be “select a VM and backup magically happens”, grabbing the files and state that make up the VM. We don’t have that in any way in Azure.

So that’s why I went onto the site to provide feedback and to vote this morning. You should do the same if you have any interest in Azure. Here’s the top vote getters as they are right now:

image

Microsoft News – 9 December 2014

I do not give a flying fiddlers about some wizard Accenture is selling to deploy System Center. Moving on to relevant things …

Hyper-V

System Center

Azure

Intune

Licensing

Miscellaneous

Microsoft News – 20 November 2014

There are a lot of upset people because of (1) the Azure outage and (2) how Microsoft communicated during the outage. We had a couple of affected customers. The only advice I can give to Microsoft is:

  1. Don’t deploy your updates to everything at the same time.
  2. Now you know how customers feel when bad updates are issued. Bring back complete testing.
  3. Communicate clearly during an issue – that includes sending emails to affected customers. You’ve got monitoring systems & automation – use them. Heck, you even blogged about how (Azure) Automation could be used by customers to trigger actions.

Hyper-V

Azure

Miscellaneous

November 2014 Update Rollup For Windows–And It Has Issues

Microsoft released November 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 yesterday. This rollup includes lots of fixes, including improved performance of a SOFS cluster during parallelized restores. As usual, I recommend waiting 4 weeks to let others be Microsoft’s testing canaries.

Correction: There are no known problems with the above update.

However, an update rollup released at the same time for Windows Server 2012 DOES in fact have a problem. Microsoft Hyper-V PM, Taylor Brown, tweeted that applying KB2996928 fixes the issue.

Microsoft News – 19 November 2014

Pay attention to the security update for Windows that was released out of band last night. It’s an important one that prevents people from crafting custom Kerberos tickets.

Hyper-V

Windows Server

Azure

Security

Office 365

Microsoft News – 17 November 2014

I’ve had a crazy few weeks with TechEd Europe 2014, followed by the MVP Summit, followed by a week of events and catchup at work. Today, I’ve finally gotten to go through my news feeds. There is a LOT of Azure stuff from TEE14.

Hyper-V

Windows Server

System Center

Windows Client

  • Windows 10 – Making Deployment Easier: Using an in-place upgrade instead of the traditional wipe-and-load approach that organizations have historically used to deploy new Windows versions. This upgrade process is designed to preserve the apps, data, and configuration from the existing Windows installation, taking care to put things back the way they need to be after Windows 10 has been installed on the system. And support for traditional deployment tools.
  • Windows 10 – Manageability Choices: Ensuring that Windows works better when using Active Directory and Azure Active Directory together. When connecting the two, users can automatically be signed-in to cloud-based services like Office 365, Microsoft Intune, and the Windows Store, even when logging in to their machine using Active Directory accounts. For users, this will mean no longer needing to remember additional user IDs or passwords.

Azure

clip_image001

ASR SAN replication topology

Office 365

Intune

Operational Insights

Licensing

TEE14 Scripted Demo 6 – Extended Port ACLs

My sixth  TechEd Europe 2014 demo was a fun one: Extended Port ACLs, which is the ability to apply network security rules in the virtual switch port, which cannot be overruled by the guest OS admin.

There is a demo VM that is running IIS with a default site. The Windows Firewall is turned off in the guest OS. The script will:

  1. Clean up the demo lab
  2. Open a window with a continuous ping to the VM, showing the open network status
  3. Starts IE and browses to the VM’s site
  4. Kills IE and applies an extended port ACL to block everything.
  5. IE is re-opened (with flushed cache) and fails to load the site. Ping packets are dropping in the continuous ping.
  6. Kills IE and creates another extended port ACL to allow inbound TCP 80
  7. Reopens IE to show the site is accessible. Meanwhile, pings continue to fail.

There’s plenty of process management, and controlling IE in this script.

cls
#Clean up the demo to start up with
Get-VMNetworkAdapterExtendedAcl -VMName PortACLs | Remove-VMNetworkAdapterExtendedAcl

$DemoVM = "PortACLS"

Write-Host "Extended Port ACLs Demo"

#Clear IE Cache
RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 8

#Ping the VM
Start-Process Ping -ArgumentList "-t","PortACLS"

#Start IE
$ie = new-object -comobject InternetExplorer.Application
$ie.visible = $true
$ie.top = 200; $ie.width = 900; $ie.height = 600 ; $ie.Left = 100
$ie.navigate("http://portacls.demo.internal")

#Block all traffic script block
Read-Host "Block all traffic to the VM"
#Kill IE
Get-Process -Name IEXPLORE | Stop-Process
RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 8
Write-Host "`nAdd-VMNetworkAdapterExtendedAcl –VMName PortACLs –Action `“Deny`” –Direction `“Inbound`” –Weight 1"
Sleep 3
Write-Host "`nAll inbound traffic to the virtual machine is blocked" -foregroundcolor red -backgroundcolor yellow
Add-VMNetworkAdapterExtendedAcl –VMName PortACLs –Action “Deny” –Direction “Inbound” –Weight 1
#Start IE to show the site is offline
$ie = new-object -comobject InternetExplorer.Application
$ie.visible = $true
$ie.top = 200; $ie.width = 900; $ie.height = 600 ; $ie.Left = 100
$ie.navigate("http://portacls.demo.internal")

#Put in web traffic exception script block
Read-Host "`n`n`nAllow HTTP traffic to the VM"
#Kill IE
Get-Process -Name IEXPLORE | Stop-Process
RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 8
Write-Host "Add-VMNetworkAdapterExtendedAcl –VMName PortACLs –Action `“Allow`” –Direction `“Inbound`” –LocalPort 80 –Protocol `“TCP`” –Weight 10"
Sleep 3
Write-Host "`nAll inbound traffic to the virtual machine is blocked EXCEPT for HTTP" -foregroundcolor red -backgroundcolor yellow
Add-VMNetworkAdapterExtendedAcl –VMName PortACLs –Action “Allow” –Direction “Inbound” –LocalPort 80 –Protocol “TCP” –Weight 10
#Start IE to show that the website is now back online, despite all other traffic being blocked
$ie = new-object -comobject InternetExplorer.Application
$ie.visible = $true
$ie.top = 200; $ie.width = 900; $ie.height = 600 ; $ie.Left = 100
$ie.navigate("http://portacls.demo.internal")

Read-Host "`n`n`nEnd the demo"

#Clean up after the demo
Get-Process -Name Ping | Stop-Process
Get-Process -Name IEXPLORE | Stop-Process
Get-VMNetworkAdapterExtendedAcl -VMName PortACLs | Remove-VMNetworkAdapterExtendedAcl