Upgrading to Windows Server 2016 Failure or Success #Windows2016 #Server #CloudOS

How ever Windows Server 2016 is supporting Rolling Upgrades Upgrading to Windows Server 2016 but this is only for a Cluster.

For other Servers you can upgrade your server or better reinstall. Bet you all choose for the Clean install.

image

Installation is the basic concept of getting the new operating system on your hardware. Specifically, a clean installation requires deleting the previous operating system. For information about installing Windows Server 2016, see System Requirements and Installation Information for Windows Server 2016. For information about installing other versions of Windows Server, see Windows Server Installation and Upgrade.

https://technet.microsoft.com/en-us/windows-server-docs/get-started/supported-upgrade-paths

Well in this case I try a sample Domain controller. This has several roles and is migrated from 2008<>2012<>2012R2 and now to 2016 so is this the best option ? Well this DC has ADFS,CA,had Identity Management for UNIX. So a not so typical DC.

image

So I removed all unneeded components like ADFS and the Identity Management for UNIX was not available on my DC. ( did not make a screenshot )

no mater what I did I need to deinstall the components the following article was a help https://msdn.microsoft.com/en-us/library/cc731178(v=ws.11).aspx

Well not totally the message was still there reboot / showdown nothing. Was there anything stuck on this DC ?

Well this the DC is getting replaced the fastest way Clean install. I build a new DC with Windows Server 2016 installed the AD role on the server. Important is moving the FSMO roles.

After I did a Forest prep and Domain prep I joined the Server to the domain.

Finding the FSMO roles

netdom query fsmo

image

Moving the Roles can done in the old way but also in powershell

Move-ADDirectoryServerOperationMasterRole -Identity “Your-DC” -OperationMasterRole SchemaMaster,RIDMaster,InfrastructureMaster,DomainNamingMaster,PDCEmulator

After I moved the FSMO roles and rebooted and Updated both DC’s I thought lets find why the upgrade won’t work on the original Domain controller.

After I started the upgrade I was shocked that the Upgrade had no Issues anymore. Leasons learned In case of Upgrading the Domain controller and you have some Issues : create a new DC and Join move the FSMO roles reboot the DC’s and try again if you really need this DC. but a Clean OS install is much faster and better but you will need to install some apps again or tools. maybe this is a good time to automate this. 

image

Installing or removing Identity Management for UNIX by using a command line

https://blogs.technet.microsoft.com/activedirectoryua/2016/02/09/identity-management-for-unix-idmu-is-deprecated-in-windows-server/

Quick reference table of supported upgrade paths from older Windows Server retail editions to Windows Server 2016 retail editions:

If you are running these versions and editions: You can upgrade to these versions and editions:
Windows Server 2012 Standard Windows Server 2016 Standard or Datacenter
Windows Server 2012 Datacenter Windows Server 2016 Datacenter
Windows Server 2012 R2 Standard Windows Server 2016 Standard or Datacenter
Windows Server 2012 R2 Datacenter Windows Server 2016 Datacenter
Hyper-V Server 2012 R2 Hyper-V Server 2016 (using Cluster OS Rolling Upgrade feature)
Windows Server 2012 R2 Essentials Windows Server 2016 Essentials
Windows Storage Server 2012 Standard Windows Storage Server 2016 Standard
Windows Storage Server 2012 Workgroup Windows Storage Server 2016 Workgroup
Windows Storage Server 2012 R2 Standard Windows Storage Server 2016 Standard
Windows Storage Server 2012 R2 Workgroup Windows Storage Server 2016 Workgroup

 

License conversion

You can convert Windows Server 2016 Standard (retail) to Windows Server 2016 Datacenter (retail).

You can convert Windows Server 2016 Essentials (retail) to Windows Server 2016 Standard (retail).

You can convert the evaluation version of Windows Server 2016 Standard to either Windows Server 2016 Standard (retail) or Datacenter (retail).

You can convert the evaluation version of Windows Server 2016 Datacenter to Windows Server 2016 Datacenter (retail).

 

Upgrading to Windows Server 2012 R2

For details, including important caveats and limitations on upgrade, license conversion between editions of Windows Server 2012 R2, and conversion of evaluation editions to retail, see Upgrade Options for Windows Server 2012 R2.

Quick reference table of supported upgrade paths from older Windows Server retail editions to Windows Server 2012 R2 retail editions:

If you are running: You can upgrade to these editions:
Windows Server 2008 R2 Datacenter with SP1 Windows Server 2012 R2 Datacenter
Windows Server 2008 R2 Enterprise with SP1 Windows Server 2012 R2 Standard or Windows Server 2012 R2 Datacenter
Windows Server 2008 R2 Standard with SP1 Windows Server 2012 R2 Standard or Windows Server 2012 R2 Datacenter
Windows Web Server 2008 R2 with SP1 Windows Server 2012 R2 Standard
Windows Server 2012 Datacenter Windows Server 2012 R2 Datacenter
Windows Server 2012 Standard Windows Server 2012 R2 Standard or Windows Server 2012 R2 Datacenter
Hyper-V Server 2012 Hyper-V Server 2012 R2

License conversion

You can convert Windows Server 2012 Standard (retail) to Windows Server 2012 Datacenter (retail).

You can convert Windows Server 2012 Essentials (retail) to Windows Server 2012 Standard (retail).

You can convert the evaluation version of Windows Server 2012 Standard to either Windows Server 2012 Standard (retail) or Datacenter (retail).

Use Full Links :

Upgrade and conversion options for Windows Server 2016 https://technet.microsoft.com/en-us/windows-server-docs/get-started/supported-upgrade-paths

Release Notes: Important Issues in Windows Server 2016 https://technet.microsoft.com/en-us/windows-server-docs/get-started/windows-server-2016-ga-release-notes

What’s New in Windows Server 2016 https://technet.microsoft.com/en-us/windows-server-docs/get-started/what-s-new-in-windows-server-2016-technical-preview-5

Server role upgrade and migration matrix for Windows Server 2016 https://technet.microsoft.com/en-us/windows-server-docs/get-started/server-role-upgradeability-table?f=255&MSPPError=-2147217396

Cluster operating system rolling upgrade https://technet.microsoft.com/windows-server-docs/failover-clustering/cluster-operating-system-rolling-upgrade

 

 

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

How To use Windows Server 2016 Hyper-V VMGroups #winserv #Cloud #Hyperv #Windowsserver2016

Suppose you have some Hyper-v Machine’s and running Azure Stack and the VM’s have all follow up codes and there are say 1000 DC and 2000 File servers etc this is a hard time to manage. So there for in Windows Server 2016 you can work with VMGroups. So you don’t have to list all 11151 VM’s on the Hyper-v server to manage a VM you can create groups and manage the Group.  multiple changes in one simple action.

All these options are PowerShell only there is no GUI or indication that there is a configuration active So be careful when you are starting with this.

New-VMGroup

Just a Quick selection how many VM’s are on this host.

New-VMGroup

VMGroups how does this work and how can I use it.

First check what commands we have Add-Get-New-Remove

Get-Command *vmgroup* to get a listing on the Group commands

New-VMGroup

VM groups comes in two types

  • VM collections: which is a logical collection of VMs on which you can take some actions at the level group.
  • Management collection: is a logical collection of VM collection groups and or mixed groups

VM Groups can be used when doing the same task to multiple VM’s say backing up Shared VHDX or setting up Replication or start stop VM’s . Its also provide easy management of multiple VMs when using VM Collection Groups.

First we need to create a new group

In this sample I’m using several groups as I have a lot off VM’s running on this Hyper-V server they are divided in several groups.

as the –Verbose will show you some text on what the command did.

# Create new VM Group
New-VMGroup -Name AstackDC -GroupType VMCollectionType –Verbose

New-VMGroup

Now that the Group is created we can add members to the group. as Currently there are no members in any group

Get-VMGroup |SELECT NAME,VMMEMBERS

New-VMGroup

As I have a lot off VM’s with all follow up numbers if need to combine them and not picking them by hand.

First my first 20 Machines are all tenant Domain controllers I create a VM group to combine all these DC’s

$AstackDCten=1..10 | % { Get-VM -Name azurestvm0$_}

New-VMGroup

#Add VMs to the VM Collection Groups

$AstackDCten=1..10 | % { Get-VM -Name azurestvm0$_}
Add-VMGroupMember -VMGroup (Get-VMGroup AstackDCten) -VM $AstackDCten
Get-VMGroup AstackDCten

New-VMGroup

Suppose you want to do maintenance on the DC’s you could create a A and B group and during patching you reboot A first and then B.  It is all possible.

#View the membership of the groups
Get-VM | ft Name, Groups -AutoSize

image

Get-VMGroup AstackDC

As you can see there are now multiple ways to show the VM’s  Say you have a test lab or during maintenance you want to stop some VM’s

#Perform actions on the group as if it were a VM
Stop-VM -VM (Get-VMGroup AstackDC).VMMembers
Start-VM -VM (Get-VMGroup AstackDC).VMMembers

Or you can setup a VM replication

Enable-VMReplication -VM (Get-VMGroup AstackDC).VMMembers –ReplicaServerName SOFS08 -ReplicaServerPort 50001 -AuthenticationType Kerberos -CompressionEnabled 1 -ReplicationFrequencySec 30 -AutoResynchronizeEnabled 1  –recoveryhistory 4 –vsssnapshotfrequency 4

Or check the memory and upgrade all VM’s in a group Plenty of options there.

 

#Create combined VM Management Group with AstackDC and AstackDCten

New-VMGroup -Name MgmtDCGroup -GroupType ManagementCollectionType

image
Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDC)
Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDCten)

Get-VMGroup -Name MgmtDCGroup

image

#Create VM Management Group with MgmtDCGroup and AVMDCWAPGroup to show nesting

New-VMGroup -Name MgmtDCFullGroup -GroupType ManagementCollectionType

Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCFullGroup ) -VMGroupMember (Get-VMGroup MgmtDCGroup )
Add-VMGroupMember -VMGroup (Get-VMGroup MgmtDCFullGroup ) -VMGroupMember (Get-VMGroup AVMDCWAPGroup )
Get-VMGroup MgmtDCFullGroup | Select-Object -ExpandProperty VMGroupMembers

image

As you can see with a view VM’s this is not that complicated but with a large amount of VM’s this can rapidly grow to a uncontrolled situation. As this must be done from PowerShell use the ISE if you do something wrong you can easily delete the groups and add them again and think about the group names and members before you start

VM Collection Groups are fairly simple. They maintain a membership of virtual machines, those VM groups contain actual VMs.

Management Collection Groups

The Management Collection Groups, on the other hand maintain a membership of VM Collection Groups. Please note that VMs cannot directly belong to the membership of a management collection.

The group name for VM and Management collection groups might be confusing a little bit, in order to differentiate between both groups, we can refer to the collection group using the first name “VM” (membership of individual virtual machines), and “Management” “MGMT” (membership of VM groups).

 

image

VMGROUP Removal

If you want to delete the management collection group, you need to remove first the VM groups from the management collection and then delete the management group.

image

The following PowerShell script will allow you to do so:
# Remove VM Group Members from Management Collection
Remove-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDCten) –Verbose

Remove-VMGroupMember -VMGroup (Get-VMGroup MgmtDCGroup) -VMGroupMember (Get-VMGroup AstackDC) -Verbose

image

remove-VMGroup -Name MgmtDCGroup –Verbose

So always remove the nested Groups first there is no Force option that deletes the whole Tree at once.

image

When there are no nested groups or VM’s in the group you can delete the Group.

image

VM management is getting more complicated as the VM’s are growing and central management is great and now with the VMgroups you can easy manage a large amount of VM single handed.

 

 

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

Configuring cloud witness in Windows Server 2016 Cluster Azure Files #cloud #azure #winserv

Cloud Witness is a new type of Failover Cluster quorum witness being introduced in Windows Server 2016. But you will need an Azure Subscription to use this unless you are using your own private cloud to use a file share witness in a third  DataCenter. As this post is an edited post but still actual

Earlier I create a blog post about creating a file share in Azure.

https://robertsmit.wordpress.com/2014/06/16/microsoft-azure-file-server-system-error64-or-new-azurestorageshare-cannot-bind-parameter-context-azure-cloud-mvpbuzz/

image

But now this file share can also be used for your Private Cluster Or Azure Cluster but remember your cluster needs internet access to connect to Microsoft Azure.

 

image

Edited 5-11-2014 <>>>>>>

So if you want to have a file witness then you will need the fileshare option but the cloud witness is using the BLOB storage and will cost you almost noting with Azure Credits

However the File share is still in preview under Windows Azure Files  http://msdn.microsoft.com/en-us/library/azure/dn167006.aspx

Sign up for a preview http://azure.microsoft.com/en-us/solutions/storage-backup-recovery/

Now that we have created a new storage account We can use this for the cluster.

If you select the storage account you will see something like this.

image

We are using the blob storage and skip the above but you can use this for other things

<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

image

At the bottom you can select the Manage Access Keys. This is the information we needed for the cluster.

image

Keep this save ! You will need this in your cluster.

image

When opening my windows Cluster Failover manager under more actions you can configure the quorum settings.

image

As always we do the Advance configuration.

imageimage

Now we check the Cloud Witness option.

image

We use the Account name and the Key from the Azure portal that we created earlier.

The screen may differ as you could have a different version!

imageimage

And we have a Cloud Witness here configured in my Public Cloud.

image

We don’t need a site to site VPN just connect the Cluster nodes to Internet ( atleast a Azure connection )

image

If we check the Azure Configuration and there you can see the creation of MSFT-Cloud-Witness. With the files in the blob storage.

 

 

You can also configure this in azure.

With the Get-ClusterQuorum we find quickly what witness we have.

image

and Configuring this is also quickly done put your account name and key in the set-clusterquorum and it will create a Cloud Witness.

Set-ClusterQuorum -AccessKey V7CR1/DijezGyA== -AccountName clusterw10 –CloudWitness

image

Happy clustering

Flickr Tags: ,,,,,

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

Deploying Storage Spaces Direct with VMM 2016 or with Powershell #Cloud #hyperconverged #SysCtr #S2D

Windows Server 2016 comes with al lot of new options and Hyper-converged is one of the new options. In this blog post I’ll show you what options you have when using VMM and S2D. The tools are great but so is PowerShell and it always depends on what and how you are building things.

Storage Spaces Direct is a bit like building a Do It Your Self San multiple heads lots of Storage can lose one Head , low costs.

Storage Spaces Direct seamlessly integrates with the Hyper-V / Files Servers you know today. The Windows Server 2016 software defined storage stack, including Clustered Shared Volume File System (CSVFS), Storage Spaces and Failover Clustering.

The hyper-converged deployment scenario has the Hyper-V servers and Storage Spaces Direct components on the same cluster. Virtual machine’s files are stored on local CSVs. This allows for scaling Hyper-V clusters together with the storage it is using. Once Storage Spaces Direct is configured (Enable-ClusterS2D) and the CSV volumes are available, configuring and provisioning Hyper-V is the same process and uses the same tools that you would use with any other Hyper-V deployment on a failover cluster. but now with System Center Virtual Machine Manager 2016 we can also configure this during the deployment.

Hyper-Converged Stack

Above are the layers shown, as you can see the Storage is defined in 3 parts physical disks, spaces and the CSV volumes.

So basically we can configure the cluster with Storage Spaces Direct by hand (PowerShell) or if you are using VMM you can do this by using templates and the GUI. but is this the same and is this handy ? The only change I did in this post is create a Scale out file server to use the Storage Spaces Direct volumes.

Well it is nice that you can do this but when configuring this by hand it gives you much more flexibility and configuration and yes maybe more complex but understanding the method is better than following a wizard.

Let see the options we have in VMM there are a couple of ways to configure this it all depends.

imageimage

Create a Hyper-V cluster and tap the enable Storage Spaces Direct option.

 

image

Or Create a Scale Out file server and check what you want shared Storage or enable Storage Spaces Direct option.

But you can also Create the cluster in VMM and configure later the Storage Spaces Direct. The fact is that VMM 2016 can create and maintain the Storage layer. all from a single interface.

So for this demo I use 4 Servers Sofs02,Sofs04,Sofs06,Sofs08 each server has 8 local Disks

 

image

These 4 servers will be transformed to a Storage Space Direct Cluster

first let me check of all the disks on the server.

Get-PhysicalDisk | ? CanPool -EQ 1 | FT FriendlyName, BusType, MediaType, Size

image

Storage Spaces Direct uses BusType and MediaType to automatically configure caching, storage pool and storage tiering. In Hyper-V virtual machines, the media type is reported as unspecified. So if you are using tools that are expecting certain types of disk you need to fix this.

else when running the cluster validation the cluster creation will fail.

Found a disk with unsupported media type on node ‘Sofs02.mvp.local’. Supported media types are SSD and HDD.

image

Step one is creating a Hyper-v cluster.

 

imageimage

As my servers are in the Storage VMM host group I’ll pick this group. Give the cluster a name and Check the Storage Spaces Direct check box.

So typical when creating this by hand you would do this in PowerShell

install-WindowsFeature "Failover-Clustering","RSAT-Clustering" -IncludeAllSubFeature –ComputerName “sofs02”,”sofs04”,”sofs06”,”sofs08”

Test-Cluster -Node “sofs02”,”sofs04”,”sofs06”,”sofs08”

New-Cluster –Name Democlu201 -Node “sofs02”,”sofs04”,”sofs06”,”sofs08”  -NoStorage -StaticAddress "10.255.255.110"

Enable-ClusterS2D -CacheMode Disabled -AutoConfig:0 –SkipEligibilityChecks  ( as you are running VHDX disks )

The big difference here is you can’t customize this cluster during this step so no Quorum or any other settings.

image

Selecting all the nodes

image

Giving the Cluster a Fix IP or pick one random from the IP pool

image

All the tasks are running an in a few minutes we have a Cluster that holds a Storage Space Direct unless it Fails the cluster validation test.

If you are using the S2D you must run the Cluster validation test and remember only SSD and HDD media type Disks are supported. So if the media type is unspecified or unknown the Validation report will fail and so is this job.

image

In our case the job went successful and the cluster with Storage Space Direct is ready for usage.

image

Now that the cluster is ready you can use the Storage after creating the pool.

And if you already have build a hyper-converged  Cluster Hyper-V servers and Storage Spaces Direct components then you can us this also in VMM.

image

Now that the Cluster is added we can create a Pool.

In case you build the Storage Spaces Direct with Powershell you end up with something like this :

#Create storage pool 
New-StoragePool  -StorageSubSystemName Pool01.mvp.local –FriendlyName Pool01 -WriteCacheSizeDefault 0 -FaultDomainAwarenessDefault StorageScaleUnit -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem  -Name Pool01.mvp.local| Get-PhysicalDisk)

#list Storage pool

Get-StoragePool Pool01

#removal of the Storagepool 
Remove-StoragePool –Name Pool01.mvp.local

But when using the VMM Gui tool you will not get the friendly name as when you do this in Powershell

image

image

But this is easy changable

TO check if the Cluster Storage Spaces Direct is enabled you can run a PowerShell command

(Get-Cluster).S2DEnabled

Or check your Cluster under Storage en Enclosures Every server is listed as his own enclosure.

image

Now that the Enclosures are listed We create the pools and the disks

image

We select the Clustered Pool and do manage to create the Virtual disk

image

image

We create a New Pool and if you not created a Classification you will need to do this to.

Give this a name and Pick the disk that you want I select all the Disk and use them for one big Pool.

image

Now that we have selected all the disk and created the pool we can create a Virtual disk on the Pool

image

Creating the disk can be a little confusing in the VMM GUI as you need to press Cancel and OK.

imageimage

Give the disk a name

imageimage

Pick the right Size as my pool s 168GB and I can only do a Mirror you understand I can’t create a 160Gb disk, I have 4 nodes press ca

 

How can this guide help you? You can use this guide and the Software-Defined Storage Design Calculator spreadsheet to design a storage solution that uses the Storage Spaces and Scale-Out File Server functionality of Windows Server 2012 R2 along with cost-effective servers and shared serial-attached SCSI (SAS) storage enclosures.

#Create virtual disks
New-Volume –StoragePoolFriendlyName Pool01 -FriendlyName CSV02 -PhysicalDiskRedundancy 1 -FileSystem CSVFS_REFS –Size 48GB

As you can see I created a Scale out file server and used the Storage Spaces Direct as storage.

image

#create Cluster
New-StorageFileServer –StorageSubSystemName DemoClu201.mvp.local –FriendlyName Demosofs201 -HostName Demosofs201.mvp.local -Protocols SMB

#Create file shares and Folders 
md C:\ClusterStorage\Volume1\shares\VM01

New-SmbShare –Name VM01 -Path C:\ClusterStorage\Volume1\shares\VM01 -FullAccess "mvp\Domain Admins"

image

Now that the File share and SOFS is in place we can add the share to the hyper-v server or cluster for usage.

image

When creating a VM we can use the Storage Spaces Direct to place a VM but as you can see in this post there are several methods to do things and each option has a different choice the right one well it is all on you and it depends. see this table below with the pros and cons.

Storage Spaces deployment tools

Tool

Advantages

Disadvantages

Failover Cluster Manager & Server Manager

  • Easy to use

  • Slow automatic refreshes in Server Manager when working with storage

  • Some tasks require Windows PowerShell

  • No automation can make provisioning more than a couple virtual disks and file shares tedious

System Center Virtual Machine Manager

  • Easy to use

  • Partial automation of cluster deployment

  • Automated management of file share permissions

  • Can be used to deploy and manage VMs

  • Some tasks require Windows PowerShell (including storage tiers)

  • Requires System Center licenses

  • Might require additional infrastructure if you don’t already have System Center or are deploying at a scale that’s greater than your existing deployment can handle

Microsoft Deployment Toolkit

  • Lots of control over operating system installation options

  • Can be used to deploy other PCs and servers

  • Can be complex

  • Some approaches require System Center Configuration Manager licenses

Windows PowerShell

  • Complete control over all aspects of storage

  • Can automate by writing scripts

  • Requires knowledge of Windows PowerShell

  • Scripts require development and testing

After writing this post I can see If you should do this then I would use PowerShell to build the cluster and Storage Spaces direct and add them to VMM but for deploying the basics VMM could be very handy but it all depends on your infra structure.

The VMM option is really great but for me it takes to long to do stuff and often the job fails because I made a typo or the naming is not the way I want it. And the usage of the Storage Spaces Well the Hyper-Converged option vs the Converged option it has it challenges and it all depends on the hardware you have. but for my testlab or in Azure S2D runs great.

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

System Center 2016 VMM Place template VM in Custom OU #sysctr #Cloud #Deploy #VM

when using VMM and deploying templates you not always want to place them in the default OU computers

image

But instead you want the Template Server 2016 places in OU TP5 and Hyper-V server directly placed in the OU Hyper-v.

Default there is no Gui item in the VMM console to do this. Say on the domain join tab place this VM in the Hyper-V OU

 image

Instead of this you need to fill in the Value in Powershell. and Make a custom OU field.

image

You can Add Custom Properties as you like.

But first we are creating a Custom Guest OS profile this profile is the basis for the new build template and the Custom OU Placement.

image

Now that the Custom OS profile is in place we can check it there is a domain OU field

Get-SCGuestOSProfile

image

this shows us the field that we must fill in to get the right OU placement.

Get-SCGuestOSProfile |select Name

image

Get-SCGuestOSProfile -name "Guest OS 2016TP5"

Setting this in the OS profile

Get-SCGuestOSProfile -name "Guest OS 2016TP5" |Set-SCGuestOSProfile -DomainJoinOrganizationalUnit "OU=SCVMM16,DC=MVP,DC=local"

image

Now when I create a new template with this OS profile the VM is place in the SCVMM16 OU but it is not anywhere visible in the GUI.

and what if I have already build templates how to place them in Custom OU.

Yes you can do this. First I select all the templates to pick the right one

Get-SCVMTemplate |select name

image

 

$template = Get-SCVMTemplate | where {$_.Name -eq "ws2016G2"}
$template |select name

image

As I made the OU a variable :

$ou = "OU=SCVMM16,DC=MVP,DC=local"

Set-SCVMTemplate -VMTemplate $template -DomainJoinOrganizationalUnit $ou

 

image

So now the Template has a custom OU also.

But still there is no GUI property to show this. therefore go to the Template and create a Custom Property

image

go to the Manage custom Properties

image

Select Virtual Machine Template Properties give it a name “ custom OU “ and assign this to the template

image

Now that tis is assigned we can enable this in the GUI

imageimage

But before we get any value in this field we need match this with the PowerShell Value DomainJoinOrganizationalUnit

 

Get-SCVMTemplate | %{ Set-SCCustomPropertyValue -InputObject $_ -CustomProperty $(Get-SCCustomProperty -Name "Custom OU") -Value $_.DomainJoinOrganizationalUnit }

 

image

As you can see there is an error this is because one template has no value.

image image

 

Now With new deployments the VM’s will be places in the Custom OU

image

 

 

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

LMGTFY : http://lmgtfy.com/?q=robert+smit+mvp+blog

Windows Server 2016 with Hyper-v Integrations tools & configuration versions

Hyper-v vm’s are depending on the integration tools. And often the tools are not updated or in line with the Hyper-v Server. Or there are unsupported versions of VM’s So even if you think you are mastering Hyper-v with just tagging the checkbox or running a Powershell command.

Install-WindowsFeature –Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools –Restart

Well let me tell you that is where the Fun starts.

Take a look at the integration Versions you can easily see this in VMM but you can also see this quickly in PowerShell. and I’m not talking about the VMM Agent.

image

So is this windows only ? no as Microsoft is loving Linux there is also a Pack for Linux. With his own guidance 

Hyper-V Linux Integration Services (LIS)

Hyper-V Linux Integration Services, sometimes referred to simply as Hyper-V LIS, provides two types of components: drivers and services. The drivers play an important role in enhancing the performance of Linux virtual machines, and services are designed to perform a specific job.

Linux Integration Services Version 4.0 for Hyper-V

Current version: 4.0.11 Please refer to the Linux Virtual Machines on Hyper-V topics for up to date information on the LIS feature set, all supported Linux distributions, availability and download locations.

Download the ISO

Back to the Windows Versions as the Integration services differ there is also an option on  virtual machine configuration versions that are supported on a host. is this different than the IS yes as you can migrate a VM to and from a Hyper-v 2012R2 to a Hyper-v 2016 and back so the VM needs to know that.

Let us check the Integration Services Version (IS)

Get-VM | ft Name, IntegrationServicesVersion  – On a Hyper-v 2012R2

image

Get-VM | ft Name, IntegrationServicesVersion  – On a Hyper-v 2016

image

image VMM output

As you can see there is clearly a difference between Windows Server 2012R2 and 2016.

PowerShell Hyper-V Supported Version

But what about the Tag in the Hyper-v Console there is also a Version.

image

This is a Windows Server 2016 and as you can see two different versions is this Wrong ? No it isn’t.

Get-VMHostSupportedVersion will list the output below ( works only in Windows Server 2016 )

image

So there are Currently six different versions. With all the options why should I care setting this.

Well there are a couple of reasons why you should set this option. Make the latest Hyper-V features available on your virtual machines by upgrading the configuration version. Don’t do this until:

  • You upgrade your Hyper-V hosts to the latest version of Windows or Windows Server.
  • You upgrade the cluster functional level.
  • You’re sure that you won’t need to move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server.

And you you replicate from a Hyper-v 2016 Server to a Hyper-v 2012 Server for DR then make sure you don’t run in a higher version than 5.0

When you move or import a virtual machine to a computer that runs Hyper-V on Windows Server 2016 or Windows 10, the virtual machine’s configuration isn’t automatically updated. This means that you can move the virtual machine back to a Hyper-V host that runs a previous version of Windows or Windows Server. But, this also means that you can’t use some of the new virtual machine features until you manually update the configuration version. You can’t downgrade the virtual machine configuration version after you’ve upgraded it.

The virtual machine configuration version represents the compatibility of the virtual machine’s configuration, saved state, and snapshot files with the version of Hyper-V. When you update the configuration version, you change the file structure that is used to store the virtual machines configuration and the checkpoint files. You also update the configuration version to the latest version supported by that Hyper-V host. Upgraded virtual machines use a new configuration file format, which is designed to increase the efficiency of reading and writing virtual machine configuration data. The upgrade also reduces the potential for data corruption in the event of a storage failure

image

So Creating a VM in Hyper-v 2016 Server it will always have version 7.1 when you create this in the GUI

But When using Powershell you can set the Version tag only then is the VM compatible with Hyper-v Server 2012

New-VM -Name “DemoVM17” -Version 5.0

When listing the VM Configurations you can see the difference. and easily see the 5.0 Version VM’s  config.XML

Virtual machine configuration information that is stored in binary file format. File name extension: .vmcx

image

But what if I want to upgrade the VM’s ? yes you can but only to the default level and PowerShell Only

Update-VMVersion “VM Name”

image

as you can see the DemoVm06 is already at the max level but when updating the DemoVM01 which has Version 5.0 it will be upgraded to Version 7.1 and the Config file will be transferred this can’t be undone!

Virtual machine configuration information that is stored in binary file format. File name extension: .vmcx

image

More about this https://technet.microsoft.com/en-us/library/mt695898.aspx

HAppY Vm

Follow Me on Twitter @ClusterMVP

Follow My blog https://robertsmit.wordpress.com

Linkedin Profile Http://nl.linkedin.com/in/robertsmit

Google Me : https://www.google.nl

Bing Me : http://tinyurl.com/j6ny39w

#Azure Server Management Tools offers a set of web-GUI #tools to manage #AzureStack Servers #RSMT #ASMT

Azure Server management tools is currently in preview. Any data collected by Server management tools will be stored in the US.!

As this is a preview you can play with this and it is Cool a nice web management. With the Management server you can manage your on premise AzureStack or Deploy a Template with SCVMM. or just turnoff al your domain controllers.  Oh ok I must re-think my security Policy.

As many Azure is External in some cases it is handled just like a server in a DMZ site. So “real dangerous” this is the Cloud directly connected to the WEB.

This DMZ is now turned and be able to manage your internal servers, what is some one has my azure account that has this gateway…. Well I think this is a cool new feature with a lot of new options. In fact I created a cluster in the Azure GUI but it is running on premises.   

Server management tools enables you to remotely manage machines running Windows Server 2016 Technical Preview. Currently, the tools offer the following capabilities:

  • View and change system configuration
  • View performance across various resources and manage processes and services
  • Manage devices attached to the server
  • View event logs
  • View the list of installed roles and features
  • Use a PowerShell console to manage and automate

The Server management tools connection is routed through a Server management tools gateway. When you create a new connection, you will have the opportunity to create a new gateway or select an existing gateway if one already exists in the same resource group. Click on Create to establish a connection to your Windows Server 2016 Technical Preview machine and start exploring the features available today.

Open your Azure management portal and search : Server management tools in the marketplace

image

Select the Server management tools and a new window opens with the network layout on how things are connected.

Image01

So Hit Create

image

The Create option opens a new menu with all kinds of options Name Subscription , Resourcegroup.

image

As this is my first server I create it all Fresh so no connections to other Resource Groups

image

Configuring a new Server management tools Gateway

If you are creating a new gateway, you will see the following status:

image

Click to open the Gateway Configuration page and read carefully and follow the directions to set up your on-premises machine or Azure VM as the gateway.

An Server management tools gateway is required to enable communication between the Microsoft Azure portal and your Windows Server 2016 machine. A gateway is typically deployed and configured on the same local network as the Windows Server machine(s) you wish to manage. The customized gateway deployment package below allows you to install the gateway software on a machine of your choice, and automatically configures the gateway profile to register with your Azure subscription. The deployment package must be run locally on the machine that you want to designate as the Server management tools gateway.

Steps to configure your gateway

image

Save the File on your Windows Server 2016

image

Use the generated link to download the gateway deployment package now, or copy the link URL to download the package later from the machine on which you intend to install the package.

  1. From the machine that you want to designate as the gateway, unzip the package and run GatewayService.MSI.

  2. Once the gateway installation completes, return to the Microsoft Azure portal and reopen your Server management tools connection.

  3. You should now be able to manage your Windows Server 2016 machine if the Microsoft Azure portal can reach it through the gateway.

image

The Extracted File is the installation file with the JSON config file.

A quick setup is needed on the Windows Server 2016.

imageimageimageimage

As you can see there is an extra Services running on the Windows Server 2016

image

When I do a Refresh in the Azure Resource Group.

image

The manage as command is there just go to the Manage As and fill in the server admin account to manage this server

 

image

Fill in the account I us a Local Account as in this scenario I’ll not jumping thru my domain. 

image

You have established a remote connection to your resource and are now able to perform management tasks on it through the Azure Portal.

image

Some errors here with no surprise My local Firewall and Remote management WINRM is not configured as the text below described.

Unable to connect to the server ‘mvpmgt01’: WinRM cannot process the request. The following error with errorcode 0x80090311 occurred while using Kerberos authentication: There are currently no logon servers available to service the logon request. Possible causes are: -The user name or password specified are invalid. -Kerberos is used when no authentication method and no user name are specified. -Kerberos accepts domain user names, but not local user names. -The Service Principal Name (SPN) for the remote computer name and port does not exist. -The client and remote computers are in different domains and there is no trust between the two domains. After checking for the above issues, try the following: -Check the Event Viewer for events related to authentication. -Change the authentication method; add the destination computer to the WinRM TrustedHosts configuration setting or use HTTPS transport. Note that computers in the TrustedHosts list might not be authenticated. -For more information about WinRM configuration, run the following command: winrm help config.

Managing Workgroup machines

In order to manage workgroup machines (e.g. non-domain-joined Nano Servers), run this command as an administrator on the Server management tools gateway machine:

This setting is different than in the guide in Azure

winrm set winrm/config/client’@{TrustedHosts="< NAME OR IP >"}’

When creating a Server management tools connection to the workgroup machine, use the machine’s IP address as the computer name.

Additional connectivity requirements

If you wish to connect using the local Administrator account, you will need to enable this policy on the target machine by running the following command in an administrator session on the target machine:

REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1

If you wish to connect to a workgroup machine which is not on the same subnet as the gateway, run the following command in an administrator session on the target machine:

NETSH advfirewall firewall add rule name="WinRM 5985" protocol=TCP dir=in localport=5985 action=allow

Now it is play time

image

image

As you can see you can manage the local server, there are more options like powershell and event viewer but this is not easy to use in the web-GUI

image

 

Happy Stacking

Robert Smit

Twitter: @clustermvp

Cloud and Datacenter MVP

Windows Server cluster issues moving cluster resources cno object is gone #winserv #cluster #cloud #fail #cno #migrate

Suppose you have a nice cluster and one day your fellow IT guys comes and say he lets move all the Cluster Resources to a specific cluster node.

This seams a normal step but wait there is more there is also a Cluster resource that needs to be moved. “The CNO object”

image

The Cluster Resources up and running

image

Always hard to find where to move the cluster resource components. but it is Labeled “Move Core Cluster Resource”  easy

image

But what if my IT guy can’t find this option ? mmm in a normal roll you can do “ assign to another role” this sounds ok move the CNO to another role. eh ?? why is this in there ? well it is there so let me use this option and see what happened.

So let me move this CNO to node 2.

image

Done het Joe I’m ready all the resources are to node 2.

image

All fine all the resources are over. ok let me failover to the other node. And place this back to the original place. Well this sounds easy but where are all the options.

 

imageimage

Eh.. what ? let me reboot the server and the cluster, checking for updates…. call for help..

The Cloud IT pro comes back and looks at the CCR objects Gone but the cluster is still running and tons of Scom errors Cluster is down CNO etc

 image Ok but where are my Cluster objects ?

Let me do some PowerShell 

Get-ClusterGroup

image

Oh ok all the Resources are there and up. but why can’t I move the resource back in the GUI ? well I guess Microsoft keep you away from the Cluster Core Resources maybe you will break the cluster.

image

Now that we have the Cluster Resource groups and cluster Groups we can move back the CNO object to the right place.

$CLU=get-cluster
Move-ClusterResource -Cluster $clu  -Name "Cluster IP Address" -Group "Cluster Group"

image

The Cluster objects need to be online!! Else you get an error. just bring the resources online and try again.

image

So next time don’t move the CNO object to a Cluster Resource.  And this is why there are Cluster Admins Winking smile

 

 

Greetings,

Robert Smit

Twitter: @clustermvp

Cloud and Datacenter MVP ( Expertise:  High Available )

Using Windows Storage Spaces direct with hyper converged in Microsoft Azure with Windows Server 2016

Sometimes you need some fast machines and a lot of IOPS. SSD is the way to go there but what if your site is in Azure ?

Well build a high performance Storage space is Azure. Remember this setup will cost you some money or burn your MSDN credits is just one run.  

My setup is using several storage account and a setup of a 5 node cluster with a cloud witness and each node has 16 disk.

image

As the setup is based on Storage spaces direct I build a 5 node cluster. Some options are not needed but for my demo I need them in case you thought he why did he install this or that.

So building the Cluster

get-WindowsFeature Failover-Clustering
install-WindowsFeature "Failover-Clustering","RSAT-Clustering","File-Services", "Failover-Clustering","RSAT-Clustering -IncludeAllSubFeature –ComputerName "rsmowanode01.AZUTFS.local"

I add the other nodes later.

#Create cluster validation report
Test-Cluster -Node "rsmowanode01.AZUTFS.local “
New-Cluster -Name Owadays01 -Node "rsmowanode01.AZUTFS.local" -NoStorage -StaticAddress "10.0.0.20"

Now that my cluster is ready I added some disk to the VM’s and place them in several storage accounts. ( you can expand the default just make a Azure helpdesk request )

I have currently   image not all needed but you will never know.

imageAs I prep all my Azure VM’s in PowerShell here is an example on how to add the disk to the azure VM. As I need 16 disk for 5 nodes that are 80 disk with a 500 GB size 40 TB raw disks.

 

 

 

 

The powershell Sample command to create the disks.

Get-AzureVM -Name $vmname -ServiceName $vmname |
    Add-AzureDataDisk -CreateNew -DiskSizeInGB 500 -DiskLabel ‘datadisk0’ -LUN 0 -HostCaching None | 
    Update-AzureVM

 

 

 

 

 

 

 

 

 

Now that the Cluster is ready and the disk are mounted to the Azure VM’s it is time for some magic

With the : Get-Disk | Where FriendlyName -eq ‘Msft Virtual Disk’|Initialize-Disk -PartitionStyle GPT -PassThru

all disk are online I do not need to format them as the disk are getting pooled

image

As every node gets his own storage enclosure

To enable the Storage space direct option you will need this to enable

(Get-Cluster).S2DEnabled

what you just did is making the local disk turn in to usable cluster disk.

image

 

to create a basic Storage pool

New-StoragePool  -StorageSubSystemName Owadays01.AZUTFS.local -FriendlyName OwadaysSP01 -WriteCacheSizeDefault 0 -FaultDomainAwarenessDefault StorageScaleUnit -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem  -friendlyname "Clustered Windows Storage on Owadays01" | Get-PhysicalDisk)

image

|Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "IODisk" -AllocationUnitSize 65536 -Confirm:$false

 

image

#Query the number of disk devices available for the storage pool
(Get-StorageSubSystem  -Name Owadays01.AZUTFS.local | Get-PhysicalDisk).Count

image

 

Mirror storage spaces

Mirroring refers to creating two or more copies of data and storing them in separate places, so that if one copy gets lost the other is still available. Mirror spaces use this concept to become resilient to one or two disk failures, depending on the configuration.

Take, for example, a two-column two-way mirror space. Mirror spaces add a layer of data copies below the stripe, which means that one column, two-way mirror space duplicates each individual column’s data onto two disks.

Assume 512 KB of data are written to the storage space. For the first stripe of data in this example (A1), Storage Spaces writes 256 KB of data to the first column, which is written in duplicate to the first two disks. For the second stripe of data (A2), Storage Spaces writes 256 KB of data to the second column, which is written in duplicate to the next two disks. The column-to-disk correlation of a two-way mirror is 1:2; for a three-way mirror, the correlation is 1:3.

Reads on mirror spaces are very fast, since the mirror not only benefits from the stripe, but also from having 2 copies of data. The requested data can be read from either set of disks. If disks 1 and 3 are busy servicing another request, the needed data can be read from disks 2 and 4.

Mirrors, while being fast on reads and resilient to a single disk failure (in a two-way mirror), have to complete two write operations for every bit of data that is written. One write occurs for the original data and a second to the other side of the mirror (disk 2 and 4 in the above example). In other words, a two-way mirror requires 2 TB of physical storage for 1 TB of usable capacity, since two data copies are stored. In a three-way mirror, two copies of the original data are kept, thus making the storage space resilient to two disk failures, but only yielding one third of the total physical capacity as useable storage capacity. If a disk fails, the storage space remains online but with reduced or eliminated resiliency. If a new physical disk is added or a hot-spare is present, the mirror regenerates its resiliency.

Note: Your storage account is limited to a total request rate of up to 20,000 IOPs. You can add up to 100 storage accounts to your Azure subscription. A storage account design that is very application- or workload-centric is highly recommended. In other words, as a best practice, you probably don’t want to mix a large number of data disks for storage-intensive applications within the same storage account. Note that the performance profile for a single data disk is 500 IOPs. Consider this when designing your overall storage layout.

https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/#storage-limits

image

Now that the storage pools are in place we can do some measurements on the Speed creating disk and iops. based on Refs and NTFS

these disk I’m using for the Scale out file server

New-Volume -StoragePoolFriendlyName OWASP1 -FriendlyName OWADiskREFS14 -PhysicalDiskRedundancy 1 -FileSystem CSVFS_REFS –Size 2000GB

image

New-Volume -StoragePoolFriendlyName OWASP1 -FriendlyName OWADiskNTFS15 -PhysicalDiskRedundancy 1 -FileSystem NTFS –Size 20GB

image

image

With some disk changes and creation you can say the REFS with clustered shared volume is about 100x as fast!

 

Now that we have Cluster Storage I’m using this for the SOFS.

#create the SOFS 
New-StorageFileServer -StorageSubSystemName Tech-SOFS.AZUTFS.local -FriendlyName Tech-SOFS -HostName Tech-SOFS -Protocols SMB

 

image

Adding the disk and the next test is ready.

 

First we make a couple a disk on the REFS share 

image

image

so a 1TB disk creation is not much slower than a 100GB file remember these are fixed files.

When I do this on the NTFS volume and create a 100GB fixed disk this took forever after 10 Min I stopped the command. this is why you always do a quick format on a ntfs disk.

image

A 1Gb disk creation is a better test as you can see this is around 8 times slower with a 1000x smaller disk.

image

 

Let test IOPS for this I use the DISKSPD tool : Diskspd Utility: A Robust Storage Testing Tool (superseding SQLIO)

https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223

 

So the disk creation is way way faster and when using this in a Hyper-v deployment the VM creation is way way faster en also the copy of files.

 

image image

I did only READ test ! If you want also the Write test use –w1  the –b is the block size

Testing on REFS

C:\run\diskspd.exe -c10G -d100 -r -w0 -t8 -o8 -b64K -h -L \\tech-sofs\Tech-REFS01\testfil1e.dat

C:\run\diskspd.exe -c10G -d10 -r -w0 -t8 -o8 -b1024K -h -L \\tech-sofs\Tech-REFS01\testfil1e.dat

image

When using a little 10 sec burst we got high rates but this is not the goal.

C:\run\diskspd.exe -c10G -d10 -r -w0 -t8 -o8 -b1024K -h -L \\tech-sofs\Tech-REFS01\testfil1e.dat

image

Testing On NTFS

C:\run\diskspd.exe -c10G -d100 -r -w0 -t8 -o8 -b64K -h -L \\tech-sofs\Tech-NTFS01\testfil1e.dat

image

 

image

 

So basically you get much more IOPS then on a normal single disk but it all depends on block size configuration and storage usage normal or premium.

The main thing is if you want fast iops and machines it can be done in Azure it Will cost you but it is also expensive on premise.

C:\run\diskspd.exe -c10G -d100 -r -w0 -t8 -o8 -b4K -h -L \\tech-sofs\Tech-REFS01\testfil1e.dat

and with several runs you can get some nice results

image

but the the config I used is around the $30. total per hour

A8 and A9 virtual machines feature Intel® Xeon® E5 processors. Adds a 32 Gbit/s InfiniBand network with remote direct memory access (RDMA) technology. Ideal for Message Passing Interface (MPI) applications, high-performance clusters, modeling and simulations, video encoding, and other compute or network intensive scenarios.

A8-A11 sizes are faster than D-series

https://azure.microsoft.com/en-us/pricing/details/virtual-machines/

 

Greetings,

Robert Smit

Cloud and Datacenter MVP ( Expertise:  High Available )

What’s new in Windows Server 2016 Failover Cluster overview Get-ClusterDiagnostics Enable-ClusterStorageSpacesDirect #winserv #windowsserver2016

A while a go I created a blog post about all the new properties in Windows Server 2016 Clustering.

Well now that we are close the the RTM version a lot of things has changed and naming is different so time for a refresh with a new twist.

When I created this blog https://robertsmit.wordpress.com/2014/12/02/what-is-change-in-windows-server-2015-10-cluster-setting-cluster-common-properties-winserv/

image

New options for the Storage Spaces Direct are in place https://robertsmit.wordpress.com/2015/05/18/whatif-hybrid-storage-spaces-direct-s2d-and-storage-replication-sr-azure-windows-server-2016-mvpvconf-ws2016-mvpbuzz/

There is now a powershell command for this so no need for Dasmode=1

Disable-ClusterStorageSpacesDirect  Or  Enable-ClusterStorageSpacesDirect  

  

And a lot of new Options are there in the Cluster in the next post I’ll dig them up and show the options.

But what If we check the Powershell Commands.

Get-Command -Module failoverclusters

PS C:\Windows\system32> Get-Command -Module failoverclusters

CommandType     Name                                               Version    Source                                                            
———–     —-                                               ——-    ——                                                            
Alias           Add-VMToCluster                                    2.0.0.0    FailoverClusters                                                  
Alias           Disable-ClusterS2D                                 2.0.0.0    FailoverClusters                                                  
Alias           Enable-ClusterS2D                                  2.0.0.0    FailoverClusters                                                  
Alias           Remove-VMFromCluster                               2.0.0.0    FailoverClusters                                                  
Function        Get-ClusterDiagnostics                             2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterCheckpoint                              2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterDisk                                    2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterFileServerRole                          2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterGenericApplicationRole                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterGenericScriptRole                       2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterGenericServiceRole                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterGroup                                   2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusteriSCSITargetServerRole                   2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterNode                                    2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterPrintServerRole                         2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterResource                                2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterResourceDependency                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterResourceType                            2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterScaleOutFileServerRole                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterServerRole                              2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterSharedVolume                            2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterVirtualMachineRole                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Add-ClusterVMMonitoredItem                         2.0.0.0    FailoverClusters                                                  
Cmdlet          Block-ClusterAccess                                2.0.0.0    FailoverClusters                                                  
Cmdlet          Clear-ClusterDiskReservation                       2.0.0.0    FailoverClusters                                                  
Cmdlet          Clear-ClusterNode                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Disable-ClusterStorageSpacesDirect                 2.0.0.0    FailoverClusters                                                  
Cmdlet          Enable-ClusterStorageSpacesDirect                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-Cluster                                        2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterAccess                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterAvailableDisk                           2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterCheckpoint                              2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterGroup                                   2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterLog                                     2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterNetwork                                 2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterNetworkInterface                        2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterNode                                    2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterOwnerNode                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterParameter                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterQuorum                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterResource                                2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterResourceDependency                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterResourceDependencyReport                2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterResourceType                            2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterSharedVolume                            2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterSharedVolumeState                       2.0.0.0    FailoverClusters                                                  
Cmdlet          Get-ClusterVMMonitoredItem                         2.0.0.0    FailoverClusters                                                  
Cmdlet          Grant-ClusterAccess                                2.0.0.0    FailoverClusters                                                  
Cmdlet          Move-ClusterGroup                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Move-ClusterResource                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Move-ClusterSharedVolume                           2.0.0.0    FailoverClusters                                                  
Cmdlet          Move-ClusterVirtualMachineRole                     2.0.0.0    FailoverClusters                                                  
Cmdlet          New-Cluster                                        2.0.0.0    FailoverClusters                                                  
Cmdlet          New-ClusterNameAccount                             2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-Cluster                                     2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterAccess                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterCheckpoint                           2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterGroup                                2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterNode                                 2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterResource                             2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterResourceDependency                   2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterResourceType                         2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterSharedVolume                         2.0.0.0    FailoverClusters                                                  
Cmdlet          Remove-ClusterVMMonitoredItem                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Reset-ClusterVMMonitoredState                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Resume-ClusterNode                                 2.0.0.0    FailoverClusters                                                  
Cmdlet          Resume-ClusterResource                             2.0.0.0    FailoverClusters                                                  
Cmdlet          Set-ClusterLog                                     2.0.0.0    FailoverClusters                                                  
Cmdlet          Set-ClusterOwnerNode                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Set-ClusterParameter                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Set-ClusterQuorum                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Set-ClusterResourceDependency                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Start-Cluster                                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Start-ClusterGroup                                 2.0.0.0    FailoverClusters                                                  
Cmdlet          Start-ClusterNode                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Start-ClusterResource                              2.0.0.0    FailoverClusters                                                  
Cmdlet          Stop-Cluster                                       2.0.0.0    FailoverClusters                                                  
Cmdlet          Stop-ClusterGroup                                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Stop-ClusterNode                                   2.0.0.0    FailoverClusters                                                  
Cmdlet          Stop-ClusterResource                               2.0.0.0    FailoverClusters                                                  
Cmdlet          Suspend-ClusterNode                                2.0.0.0    FailoverClusters                                                  
Cmdlet          Suspend-ClusterResource                            2.0.0.0    FailoverClusters                                                  
Cmdlet          Test-Cluster                                       2.0.0.0    FailoverClusters                                                  
Cmdlet          Test-ClusterResourceFailure                        2.0.0.0    FailoverClusters                                                  
Cmdlet          Update-ClusterFunctionalLevel                      2.0.0.0    FailoverClusters                                                  
Cmdlet          Update-ClusterIPResource                           2.0.0.0    FailoverClusters                                                  
Cmdlet          Update-ClusterNetworkNameResource                  2.0.0.0    FailoverClusters                                                  
Cmdlet          Update-ClusterVirtualMachineConfiguration          2.0.0.0    FailoverClusters                                                 

 

This is a long list but showing this list the GET commands are giving you instant results.

and Check this out Get-ClusterDiagnostics –Verbose 

It is like the Cluster Diagnostics and Verification Tool (ClusDiag.exe) but now alll is build in in a single powershell command.

image 

The Get-ClusterDiagnostics runs a health test and zips in one file real nice for troubleshooting and for archive one set next to the Cluster Validation set.

image

In the zip file are all the event logs and Cluster Configuration there is also a list of all the configuration items with values. In this case the cluster has only one node so there is only one node displayed.

image

Quick list of the cluster configuration with all the settings that you can see with powershell Get-cluster | fl *

image

But is this the same as the cluster validation report ? No this is not the same and yes it may contain some of the same info but for troubleshooting Both could be very handy.

Things can get very complex with all the new stuff storage spaces direct / Replica / Cloud witness /etc  Especially when you create a non typical Cluster configuration witch is on my list to build the oddest cluster you have ever seen Winking smile 

 

Happy clustering

Robert Smit

@clusterMVP

https://robertsmit.wordpress.com

Technorati Tags: Windows Azure,Azure File service,Windows,Server,Clustermvp,Blob,cloud witness

How to Configure the File Share Witness or #Cloud Witness ,Windows Server #ws2003 #ws2008 #ws2012 #ws2016 #winserv

 

The file share witness feature is an improvement to the current Majority Node Set (MNS) quorum model. This feature lets you use a file share that is external to the cluster as an additional "vote" to determine the status of the cluster in a two-node MNS quorum cluster deployment.
Consider a two-node MNS quorum cluster. Because an MNS quorum cluster can only run when the majority of the cluster nodes are available, a two-node MNS quorum cluster is unable to sustain the failure of any cluster node. This is because the majority of a two-node cluster is two. To sustain the failure of any one node in an MNS quorum cluster, you must have at least three devices that can be considered as available. The file share witness feature enables you to use an external file share as a witness. This witness acts as the third available device in a two-node MNS quorum cluster. Therefore, with this feature enabled, a two-node MNS quorum cluster can sustain the failure of a single cluster node.image

This is not new and you can configure this even on a windows server 2003. but did you know you can use Azure a cloud witness yes even for 2003. but it will not work out of the box. special handling is needed. and this keeps me thinking what code had windows server 2016 build in that can do this fun part.

Well lets take a look at the servers :

But if you are still using windows server 2003 you have way to much time : Windows Server 2003 support is ending July 14, 2015

But for this demo it will work Winking smile

I have a couple of clusters like in a museum 2003,2008 etc up to 2016.

Windows Server 2003 Windows Server 2003 support is ending July 14, 2015

image

Checking the Cluster Quorum Currently local.

image

Windows Server 2008

Earlier I create a blog post about creating a file share in Azure.

https://robertsmit.wordpress.com/2014/06/16/microsoft-azure-file-server-system-error64-or-new-azurestorageshare-cannot-bind-parameter-context-azure-cloud-mvpbuzz/

As Windows Server 2003 & 2008 are not in my scope anymore I will not go into depth on how to configure this. but you should look in the webDAV options.

 

imageimage

But In Windows Server 2016 it is easy there is already an option in the Cluster manager to do this in the Azure Cloud.

image

image

 

image

This looks easy but you will need to create a storage account in Azure first and copy and past the Password.

Vote on my Idea to create all this directly in the FCM

http://windowsserver.uservoice.com/forums/295074-clustering/suggestions/8039382-better-gui-for-creating-cloud-witness

 

More info about this :

https://robertsmit.wordpress.com/2014/10/28/configuring-advanced-quorum-configuration-as-a-cloud-witness-windows-azure-files-cloud-azure-winserv-witness/

And also you can use the Azure file share locally and or on other Clusters ( versions ) 

We need to make sure PowerShell and the new Azure File Share CmdLets are installed.  If you need to install PowerShell, you can install it from here.  Once PowerShell is installed, you need to install the CmdLets for Azure File Share here

The download is a ZIP-file (AzureStorageFile.zip) that you should save und unpack to a local directory. Do not store the content in C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\ServiceManagement\Azure (i.e. the default directory of the Azure PowerShell installation), as this will result in some versioning issues. In our example, let’s say you will extract files to c:\AzureFiles.

Using the Azure File share

image

image

image

 

https://robertsmit.wordpress.com/2014/10/28/configuring-advanced-quorum-configuration-as-a-cloud-witness-windows-azure-files-cloud-azure-winserv-witness/

 

The File share can be used for several Scenarios

  • “Lift and Shift” applications

Azure Files makes it easier to “lift and shift” applications to the cloud that use on-premise file shares to share data between parts of the application. To make this happen, each VM connects to the file share (see “Getting Started” below) and then it can read and write files just like it would against an on-premise file share.

  • Shared Application Settings

A common pattern for distributed applications is to have configuration files in a centralized location where they can be accessed from many different virtual machines. Such configuration files can now be stored in an Azure File share, and read by all application instances. These settings can also be managed via the REST interface, which allows worldwide access to the configuration files.

  • Diagnostic Share

An Azure File share can also be used to save diagnostic files like logs, metrics, and crash dumps. Having these available through both the SMB and REST interface allows applications to build or leverage a variety of analysis tools for processing and analyzing the diagnostic data.

  • Dev/Test/Debug

When developers or administrators are working on virtual machines in the cloud, they often need a set of tools or utilities. Installing and distributing these utilities on each virtual machine where they are needed can be a time consuming exercise. With Azure Files, a developer or administrator can store their favorite tools on a file share, which can be easily connected to from any virtual machine.

Again this is just a preview Just be sure to understand the limitations of Azure Files the most important are:

  • 5TB per share
  • Max file size 1TB
  • Up to 1000 IOPS (of size 8KB) per share
  • Up to 60MB/s per share of data transfer for large IOs
  • SMB 2.1 support only

Here are the Links to the How to create a azure file share and build your desktop share

https://robertsmit.wordpress.com/2014/06/16/microsoft-azure-file-server-system-error64-or-new-azurestorageshare-cannot-bind-parameter-context-azure-cloud-mvpbuzz/

Build the Windows Server Cluster Azure Quorum Cloud Witness  in just a few Steps.

https://robertsmit.wordpress.com/2014/10/28/configuring-advanced-quorum-configuration-as-a-cloud-witness-windows-azure-files-cloud-azure-winserv-witness/

And yes you can build several configurations with the Azure File share Cloud Storage is there to use it. there is only one thing with the Cloud you will need an internet connection to your servers. unless you already use expressroute.

 

Happy clustering

Robert Smit

@clusterMVP

https://robertsmit.wordpress.com

Windows Server 2016 Cluster Troubleshooting Enhancements Active Memory Dump #winserv #WindowsServer2016

When deploying windows servers there are always questions about pagefiles and should we enable the kernel dump and when this happened the disk maybe full, or should we do only a small memory dump 256kb.

These are common questions and there is no direct right answer it all depends. but in windows Server 2016 there is a new option Active Dump.

Active Dump is an active memory dump of the server with filtered out most memory pages used by Virtual machines.And as servers has now days 256GB of memory a 256GB Complete memory dump is not really helping. there for the Active Dump is a perfect solution for this

When doing a complete memory dump on a 256GB you will get a 256 GB memory.dmp file

So when comparing an Complete Memory Dump with Active Dump it will save you 10% in size in the memory.dmp still 25GB is a large file.

Even when the Machine is loaded with 60 virtual machines the difference will still be around the 8-10 % but will still includes the usermode space of the parent partition.

So you can set this option by GUI / Regkey / Powershell / GPO

Registry setting

image

The change will not take effect until the system is restarted if changing it directly in the registry:  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl\

By Powershell

Get-ItemProperty –Path HKLM:\System\CurrentControlSet\Control\CrashControl –Name CrashDumpEnabled

Get-ItemProperty –Path HKLM:\System\CurrentControlSet\Control\CrashControl –Name FilterPages

 

image

and the same for the set item.

Set-ItemProperty –Path HKLM:\System\CurrentControlSet\Control\CrashControl –Name CrashDumpEnabled –value 1

Set-ItemProperty –Path HKLM:\System\CurrentControlSet\Control\CrashControl –Name FilterPages –value 1

The powershell setting is more a Registery item. Also a reboot is needed.

then the GUI setting

Well the GUI setting is easy it is just as you always changed the Memory dump setting just now you set the Active dump.

image image

image

And you can also set this in the GPO

 

  image

And if you have mixed your 2012R2 servers with the 2016 servers you need to set a filter so that the GPO is just for the 2016 Server

image

 

What is change in Windows Server 2016 (10) cluster – Setting Cluster Common Properties #winserv

Happy clustering

Robert Smit

@clusterMVP

https://robertsmit.wordpress.com

Technorati Tags: Windows,Server,Storage,Spaces,Direct,SOFS,setup

What’s new in Windows Server 2016 Clustering and Storage overview #winserv

What’s new in Windows Server 2016 well there are a lot of new features in the windows server 2016 in the next view blogs I’ll select an item on a how to use this new feature or how to use this.

On my blog there are already several items on Windows server 2016 on how to do Storage spaces direct or storage replica ,Containers. Or New Cluster powershell items. But there are always new items so first I’m going to redo all the new items on the Cluster Powershell items

What is change in Windows Server 2016 (10) cluster – Setting Cluster Common Properties #winserv

Below is a short list of all the new items that are in windows server 2016 and maybe not all items are directly usable in your environment it may be a nice to have thing so take a look at the new items.

 

  • Windows Server Containers: Windows Server 2016 Technical Preview now includes containers, which are an isolated, resource-controlled, and portable operating environment. They are an isolated place where an application can run without affecting the rest of the system or the system affecting the application. For some additional information on containers

  • What’s new in Active Directory Domain Services (AD DS) in Windows Server Technical Preview. Active Directory Domain Services includes improvements to help organizations secure Active Directory environments and provide better identity management experiences for both corporate and personal devices.

  • What’s New in Active Directory Federation Services. Active Directory Federation Services (AD FS) in Windows Server 2016 Technical Preview includes new features that enable you to configure AD FS to authenticate users stored in Lightweight Directory Access Protocol (LDAP) directories. .

  • What’s New in Failover Clustering in Windows Server Technical Preview. This topic explains the new and changed functionality of Failover Clustering. A Hyper-V or Scale-out File Server failover cluster can now easily be upgraded without any downtime or need to build a new cluster with nodes that are running Windows Server 2016 Technical Preview.

  • What’s new in Hyper-V in Technical Preview. This topic explains the new and changed functionality of the Hyper-V role in Windows Server 2016 Technical Preview, Client Hyper-V running on Windows 10, and Microsoft Hyper-V Server Technical Preview.

  • Windows Server Antimalware Overview for Windows Server Technical Preview. Windows Server Antimalware is installed and enabled by default in Windows Server 2016 Technical Preview, but the user interface for Windows Server Antimalware is not installed. However, Windows Server Antimalware will update antimalware definitions and protect the computer without the user interface. If you need the user interface for Windows Server Antimalware, you can install it after the operating system installation by using the Add Roles and Features Wizard.

  • What’s New in Remote Desktop Services in Windows Server 2016. For the Windows Server 2016 Technical Preview, the Remote Desktop Services team focused on improvements based on customer requests. We added support for OpenGL and OpenCL applications, and added MultiPoint Services as a new role in Windows Server.

  • What’s New in File and Storage Services in Windows Server Technical Preview. This topic explains the new and changed functionality of Storage Services. An update in storage quality of service now enables you to create storage QoS policies on a Scale-Out File Server and assign them to one or more virtual disks on Hyper-V virtual machines. Storage Replica is a new feature that enables synchronous replication between servers for disaster recovery, as well as stretching of a failover cluster for high availability..

  • What’s New in Web Application Proxy in Windows Server Technical Preview. The latest version of Web Application Proxy focuses on new features that enable publishing and preauthentication for more applications and improved user experience. Check out the full list of new features that includes preauthentication for rich client apps such as Exchange ActiveSync and wildcard domains for easier publishing of SharePoint apps.

 

Cluster Operating System Rolling Upgrade


A new feature in Failover Clustering, Cluster Operating System Rolling Upgrade, enables an administrator to upgrade the operating system of the cluster nodes from Windows Server 2012 R2 to Windows Server 2016 Technical Preview without stopping the Hyper-V or the Scale-Out File Server workloads. Using this feature, the downtime penalties against Service Level Agreements (SLA) can be avoided.

Storage Replica


Storage Replica (SR) is a new feature that enables storage-agnostic, block-level, synchronous replication between servers or clusters for disaster recovery, as well as stretching of a failover cluster between sites. Synchronous replication enables mirroring of data in physical sites with crash-consistent volumes to ensure zero data loss at the file-system level. Asynchronous replication allows site extension beyond metropolitan ranges with the possibility of data loss.

Cloud Witness


Cloud Witness is a new type of Failover Cluster quorum witness in Windows Server 2016 Technical Preview that leverages Microsoft Azure as the arbitration point. The Cloud Witness, like any other quorum witness, gets a vote and can participate in the quorum calculations. You can configure cloud witness as a quorum witness using the Configure a Cluster Quorum Wizard.

 

Virtual Machine Resiliency


Compute Resiliency Windows Server 2016 Technical Preview includes increased virtual machines compute resiliency to help reduce intra-cluster communication issues in your compute cluster

 

Diagnostic Improvements in Failover Clustering


To help diagnose issues with failover clusters, Windows Server 2016 Technical Preview includes the following:

  • Several enhancements to cluster log files (such as Time Zone Information and DiagnosticVerbose log) that makes is easier to troubleshoot failover clustering issues.

  • A new a dump type of Active memory dump, which filters out most memory pages allocated to virtual machines, and therefore makes the memory.dmp much smaller and easier to save or copy.

 

Site-aware Failover Clusters


Windows Server 2016 Technical Preview includes site- aware failover clusters that enable group nodes in stretched clusters based on their physical location (site). Cluster site-awareness enhances key operations during the cluster lifecycle such as failover behavior, placement policies, heartbeat between the nodes, and quorum behavior.

Workgroup and Multi-domain clusters


In Windows Server 2012 R2 and previous versions, a cluster can only be created between member nodes joined to the same domain. Windows Server 2016 Technical Preview breaks down these barriers and introduces the ability to create a Failover Cluster without Active Directory dependencies. You can now create failover clusters in the following configurations:

  • Single-domain Clusters. Clusters with all nodes joined to the same domain.

  • Multi-domain Clusters. Clusters with nodes which are members of different domains.

  • Workgroup Clusters. Clusters with nodes which are member servers / workgroup (not domain joined).

System Center Hashtags like #cloud

System Center: #sysctr
System Center App Controller: #appctrl
System Center Virtual Machine Manager: #vmm
System Center Service Manager: #scsm
System Center Operations Manager: #scom
System Center Data Protection Manager: #dpm
System Center Orchestrator: #sco
System Center Advisor: #scadvisor
System Center Configuration Manager: #configmgr
System Center Azure: #azure
System Center Windows Azure Pack: #wap

System Center All Up: http://blogs.technet.com/b/systemcenter/

System Center – Configuration Manager Support Team blog: http://blogs.technet.com/configurationmgr/
System Center – Data Protection Manager Team blog: http://blogs.technet.com/dpm/
System Center – Orchestrator Support Team blog: http://blogs.technet.com/b/orchestrator/
System Center – Operations Manager Team blog: http://blogs.technet.com/momteam/
System Center – Service Manager Team blog: http://blogs.technet.com/b/servicemanager

System Center – Virtual Machine Manager Team blog: http://blogs.technet.com/scvmm

Windows Intune: http://blogs.technet.com/b/windowsintune/

WSUS Support Team blog: http://blogs.technet.com/sus/

The AD RMS blog: http://blogs.technet.com/b/rmssupp/

App-V Team blog: http://blogs.technet.com/appv/

MED-V Team blog: http://blogs.technet.com/medv/
Server App-V Team blog: http://blogs.technet.com/b/serverappv

The Forefront Endpoint Protection blog : http://blogs.technet.com/b/clientsecurity/
The Forefront Identity Manager blog : http://blogs.msdn.com/b/ms-identity-support/
The Forefront TMG blog: http://blogs.technet.com/b/isablog/
The Forefront UAG blog: http://blogs.technet.com/b/edgeaccessblog/

 

Happy clustering

Robert Smit

@clusterMVP

https://robertsmit.wordpress.com

Build your Windows Server Container and create Windows Server Containers and Windows Server Container Images #ws2016 #winserv

What are containers?

They are an isolated, resource controlled, and portable operating environment.

Basically, a container is an isolated place where an application can run without affecting the rest of the system and without the system affecting the application. Containers are the next evolution in virtualization.

If you were inside a container, it would look very much like you were inside a freshly installed physical computer or a virtual machine. And, to Docker, a Windows Server Container can be managed in the same way as any other container.

The windows Server Container can be used to package a Windows Server application, and Microsoft’s .Net framework application and can be easily moved across different servers or from your test cloud to the production cloud.

image

Install-WindowsFeature –name Containers

By default you will not see any change only a few PowerShell commands.

Get-Command -Module containers

image

But I this scenario I have a Windows server 2016 and I will build a container in a VM

image 

Important links :

Get your Container VM this image is about 6Gb and a slow download http://aka.ms/containerhostvhd 

It all starts here samples of containers ready for testing https://github.com/Microsoft/Virtualization-Documentation

https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/windows-server-container-tools/New-ContainerHost/New-ContainerHost.ps1

On my Hyper-v Server 2016 I opened Powershell

#gGet script download New-ContainerHost-Source.ps1
wget -uri http://aka.ms/newcontainerhost -OutFile c:\New-ContainerHost.ps1

#Run script to create a new container
.\New-ContainerHost.ps1 –VmName MVPContainer01 -Password Password01

image

You will need to accept the Eula

the script will download the VM and configure it in the Hyper-v server.

Using VHD path C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
Copying VHD archive (6 GB) from http://aka.ms/containerhostvhd to C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\WindowsServer_en-us_TP3_Container_VHD.zip (this may take a few minutes)…

The Download is not fast at all so this will take some time So I have plenty of time to make some screenshots

image

and yes I used a clear password

image

 

Docker is already installed.
NSSM is already installed
Creating Docker program data…
Configuring NSSM for Docker service…
Waiting for Docker daemon…
Successfully connected to Docker Daemon.
Tagging new base image…
Script complete!
VM MVPContainer01 is ready for use as a container host.
See http://msdn.microsoft.com/virtualization/windowscontainers for more information about using Containers.
The source code for these installation scripts is available here: https://github.com/Microsoft/Virtualization -Documentation/tree/master/windows-server-container-tools

 

image

By default the VM is not connected to a Switch and be aware of the disk placement, Containers are based on Differencing disk

#This VM is not connected to the network. 
Get-VM mvp* | Get-VMNetworkAdapter | Connect-VMNetworkAdapter -Switchname vSwitch

and in case you wonder why did I need this password. ? take a look in the unattended XML ( unless you do a lock )

Autologon count = 999 so in the first reboot you won’t need a password.

Ok but now what I have a VM running and this VM is running Core

Let us check things run

#get the Image name

Get-ContainerImage 

#get the Virtual Switch name this is not the Hyper-v switch!

Get-VMSwitch

 

image

with the Get-Container you can see the Created Containers

All containers are Stopped and we need them to start

Start-Container my*  to start all containers

image   image

Remote management without the container ID is not posible

get-container |ft containername,ContainerId

Below is a little snapshot of the Container. the Master disk WindowsServer_en-us_TP3_Container_VHD.vhd and the Differencing disks that are running as Container VM

image

ContainerVHDVersion.10514.2.txt  means This file indicates the web version of the base VHD

To manage a Container session

Enter-PSSession -containerId b6e784a6-632d-4efb-8e48-89496ee2abfa –RunAsAdministrator

Be aware you will need the ContainerId to enter this session

image

Checking the IP as well the Container IP Remember the Firewall is on and really you need to powershell a lot the get things done and far from easy. And if you build this in a LAB of Home server and SSD is a must.

In the next Post I’ll show you how to run stuff in the Container and set thing up.

SQL is a great option to run this in a Container. I started over several times and still I miss some great tools to easy manage this.

image

I hope there Will be a VMM or Hyper-v plugin to manage this all else it would be hard to manage all this.

Happy Clustering

Robert Smit

https://robertsmit.wordpress.com/

First hands-on Upgrading Windows Server 2016 TP2 to TP3 #easy #upgrade #ws2016 #WinServ

Now that Windows Server 2016TP3 is there we can test all the new stuff the in place upgrade was just 10 min downtime that is great. and my SCVMM and SQL server still worked. get the bits here:  https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview

At the heart of the Microsoft Cloud Platform, Windows Server brings Microsoft’s experience delivering global-scale cloud services into your infrastructure. Windows Server 2016 Technical Preview 3 provides a wide range of new and enhanced features and capabilities spanning server virtualization, storage, software-defined networking, server management and automation, web and application platform, access and information protection, virtual desktop infrastructure, and more.

As a reminder, these are early pre-release builds. Many of the features and scenarios are still in development. As such, these builds are not intended for production environments, labs, nor full evaluations. This is pre-released software; features and functionality may differ in the final release.

Need more information about the next version of Windows Server? See what’s new in Windows Server 2016 Technical Preview 3.

 

The upgrade is done in just a few steps I used a System center Virtual Machine Manager VM to upgrade ( with SQL2016 and SCVMM TP2 )

image  image

Want to keep or wipe the server. and

 

image image

 

Setup encountered a problem and was unable to determine whether Hyper-V features can be upgraded. For more information about Hyper-V upgrade requirements, see http://go.microsoft.com/fwlink/?LinkId=512570.

http://go.microsoft.com/fwlink/?LinkId=512570  VmConfigurationVersion vmname or vmobject

 

image 

image image

image

 

 

image image

In just 10 Minutes Winking smile 

image and here is my VMM server

 

So what to expect when upgrading  there a a whole lot of new things in 2016 new in this release :

 

Windows Server Containers

What’s new in Active Directory Domain Services (AD DS) in Windows Server Technical

What’s New in Failover Clustering in Windows Server Technical Preview.

What’s new in Hyper-V in Technical Preview.

What’s New in Windows Server Antimalware Overview for Windows Server Technical Preview.

What’s New in Remote Desktop Services in Windows Server 2016.

What’s New in File and Storage Services in Windows Server Technical Preview.

What’s New in Web Application Proxy in Windows Server Technical Preview.

What’s New in Networking in Windows Server Technical Preview.