Microsoft Cluster Server - History - Wiki

Shared Nothing Live Migration
Storage Live Migration
Live Migration (in a cluster)

Kerberos Constrained Delegation Overview

Configuring constrained delegation

Open ADUC (dsa.msc)
Right-click VM Host and select Properties
Delegation Tab > Trust this computer for delegation to specified services only 
Use Kerberos only
Click Add...
Add Host to be trusted
select Cifs & Microsoft Virtual System Migration Service for BOTH Netbios name & FQDN
Note: If using shared storage Add File server too - just cifs service
Once configured in AD, reboot Hosts so they can "pick up" new config

run get-process once a second to see live migration
while ($true) { get-process; sleep 1 }
Move-VM vm1 -DestmationHost hyperv2 -includestorage -Destinationstorage Path c:\vms
Move-VMStorage vm1 -DestinationStoragePath \\file1\vms
Move-VM vm1 -DestinationHost hyperv1
Get-Command -Module hyper-v | where name -like "*repl*"
Get-Command -Module hyper-v | where name -like "*fail*"

How to Assign SMB 3.0 File Shares to Hyper-V Hosts and Clusters in VMM
Part 4: Deploy and Configure a 3 Node 2016 Hyper-V Cluster
Deploy a SMB storage solution for Hyper-V with StarWind VSAN free

Step-By-Step: Virtual Machine Replication Using Hyper-V Replica


Cluster-Aware Updating Overview
Requirements and Best Practices for Cluster-Aware Updating
Starting with Cluster-Aware Updating (CAU): Self-Updating

2-node hyperconverged cluster with Windows Server 2016
Hyper-converged solution using Storage Spaces Direct in Windows Server 2016
Storage Spaces Direct in Windows Server 2016
Deploy a Storage Spaces Direct disaggregated cluster in VMM
Performance Consideration for Disaggregated and Hyper-converged Configurations

invoke-Command -computerName clusterl,cluster2 -scriptBlock { get-initiatorport } | select NodeAdress
invoke-Command -computerName clusterl,cluster2 -scriptBlock { new-iscsitargetport -targetportal address 192.168.4.120 }
invoke-Command -computerName clusterl,cluster2 -scriptBlock { new-iscsitargetportal -targetportal address 192.168.4.120 }
Enter-pssession clusterl
Get-iscsiTargetPortal | update-iscsiTargetPortal
Get-iscsiTarget
Get-iscsiTarget -NodeAddress iqn.1991-05.com.microsoft:file1-iscsi-target1-target | Connect-iscsiTarget -initiatorPortalAddress 192.168.4.140
Get-iscsisession | Register-iscsisession
Get-iscsisession #look at IsPersistent - now shoudl be changed to true
# repeat process on cluster 2


Implement Workgroup and Multi-Domain Clusters
- Create a local user on each cluster node with same username and password
- New-ltemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy  -Value 1
- Configure primary DNS suffix as well as all other domain suffixes on each node
- Configure a DNS admin access point
- New-Cluster -Name <Name> -Node <Nodes > -AdministrativeAccessPoint DNS
- Configure a cloud or disk witness
Workgroup and multi-domain clusters

"The minimum number of members that must be present to make the proceedings of a meeting valid."
- Definition of "quorum"

Cloud Witness is a new type of Failover Cluster quorum witness in Windows Server 2016

Configure Quorum in a Single-Site or Multi-Site Failover Cluster
Site-aware Failover Clusters in Windows Server 2016

Quorum Options
- Node and Disk Majority
- Node and File Share Majority
- Node and Cloud Majority

Implement Cluster OS Rolling Upgrade (currently only Physical Clusters)
- Zero-downtime upgrade for Hyper-V and SOFS cluster roles
- Other cluster roles will be unavailable during the upgrade process
- Upgrade process uses existing equipment
- Reversible up until cluster functional level upgraded to Windows Server 2016
- Guest clusters using shared VHDX files are not supported

Steps:
- Pause node and drain roles
- Evict node from cluster
- Perform a clean OS install
- Add the Failover Clustering feature
- Configure networking and storage
- Rejoin the node to the cluster
- Reinstall cluster role and data
- Repeat these process on remaining nodes
- Update the cluster functional level

Cluster operating system rolling upgrade
A deep-dive into Cluster OS Rolling Upgrades in Windows Server 2016  

Restore Single Node or Cluster Configuration < two options
1. Non-authoritative Restore, Restores entire node, Node reboot required to complete recovery
>>  wbadmin start sysstaterecovery -version:<ver>
2. Authoritative Restore, Restores cluster database Cluster service restart required to complete recovery
>> wbadmin start recovery -version:<ver> itemtype:app -itemsxluster

Determine Usage Scenarios for Guest Clustering
- shared vhdx file or set

Using Guest Clustering for High Availability
Deploy a Guest Cluster Using a Shared Virtual Hard Disk

Use cases - DFS Namespace Server, Generic App, Generic Script, Generic Service
DHCP Server, File Server, iSNS Server & WINS Server

invoke-Command -computerName clusterl,cluster2 -scriptBlock { Install-WindowsFeature dhcp }


Clustered File Server vs SOFS (Scale-out File Server)
scenario: 3 cluster members
- clustered FS - only one holds the share disk << classic file share
- SOFS - all do at the same time << hyper-v disk, SQL & other apps

To scale out or not to scale out, that is the question
When To Use And When NOT To Use A Scale-Out File Server

Site-aware Failover Clusters in Windows Server 2016
Windows Server 2016: Introducing stretch cluster functionality

Storage Replica
Getting started with Storage Replica in Windows Server 2016
How to Configure Storage Replication using Windows Server 2016 - Part1
How to Configure Storage Replication using Windows Server 2016 - Part2
Hyper-V and Storage Replica within a failover cluster


New-ClusterFaultDomain -Name SiteA -FaultDomainType Site -Description "Site A" -Location "London"
New-ClusterFaultDomain -Name SiteB -FaultDomainType Site -Description "Site B" -Location "Manchester"
Set-ClusterFaultDomain -Name Cluster1 -Parent SiteA
Set-ClusterFaultDomain -Name Cluster2 -Parent SiteA
Set-ClusterFaultDomain -Name siteBCluster1 -Parent SiteB
Set-ClusterFaultDomain -Name siteBCluster2 -Parent SiteB
Get-ClusterFaultDomain
(Get-Cluster).PreferredSite="SiteA"

Get-IscsiTargetPortal | Update-IscsiTargetPortal
Get-IscsiTarget | Connect-IscsiTarget
Get-IscsiSession | Register-IscsiSession
#Test Replication topology
Test-SRTopology -SourceComputerName cluster1 -SourceVolumeName E: -SourceLogVolumeName F: -DestinationComputerName siteBcluster1 -DestinationVolumeName G: -DestinationLogVolumeName H: -DurationInMinutes 1 -IgnorePerfTests -ResultPath c:\


Storage Spaces Direct (S2D)
2 modes - Hyperconverged vs. Disaggregated
Cluster Shared Volumes (CSV)

Storage Spaces Direct in Windows Server 2016
Performance Consideration for Disaggregated and Hyper-converged Configurations

Storage spaces direct Resiliency configurations (min fault domains [nodes], simultaneous node loss)
- (2x) (1) Two-way mirroring
- (3x) (2) Three-way mirroring
- (3x) (1) Single parity
- (4x) (2) Dual parity
- (4x) (2) Mixed
Fault tolerance and storage efficiency in Storage Spaces Direct

Volume resiliency and efficiency in Storage Spaces Direct
Ignite 2016 - Storage Spaces Direct

Configuring Storage Spaces Direct - Step by Step - Part1
Configure Storage Spaces Direct on a Virtual Lab - Step by Step - Part2
Creating volumes in Storage Spaces Direct
Container Storage Support with Cluster Shared Volumes (CSV), Storage Spaces Direct (S2D), SMB Global Mapping
Caching and Storage Tiering in Storage Spaces Direct

Test-Cluster -Node s2d1,s2d2,s2d3,s2d4 -Include "Storage Spaces Direct",inventory,network,"System Configuration"
New-Cluster -Name s2dcluster -Node s2d1,s2d2,s2d3,s2d4 -NoStorage -StaticAddress 192.168.3.95
Set-ClusterQuorum -Cluster s2dcluster -FileShareWitness \\file1\quorum
Get-ClusterNetwork -Cluster s2dcluster -Name "Cluster Network 1
(Get-ClusterNetwork -Cluster s2dcluster -Name "Cluster Network 1").Name = "Client Network"
(Get-ClusterNetwork -Cluster s2dcluster -Name "Cluster Network 2").Name = "Storage Network"
Enable-ClusterS2D
Get-StoragePool
Optimize-StoragePool "s2d on s2dcluster"
# create Network for VMs
Invoke-Command -ComputerName s2d1,s2d2,s2d3,s2d4 -ScriptBlock { New-VMSwitch -Name "Production" -NetAdapterName ethernet0 
-EnableEmbeddedTeaming $true -AllowManagementOS $true }


Create new VM
Failover cluster manager > cluster > Roles ... Virtual Machines... > New Virtual Machine...
- Store the virtual machine in a different location - c:\clusterstorage\volume1
- Generation 2
- Using Dynamic memory
- Production virtual switch

Kerberos constrained delegation (KCD)
Configuring constrained delegation
Live Migration via Constrained Delegation with Kerberos in Windows Server 2016

Dissagreggated S2D Cluster - Implement SOFS
Note: SOFS (Scale out file system) can be used on the top of S2D

Enable-SmbDelegation -SmbServer s2dsofs -SmbClient cluster1
Enable-SmbDelegation -SmbServer s2dsofs -SmbClient cluster2


New VM - location - \\s2dsofs\myvmshare


Manage VM Movement in Clustered Nodes
Move-VM
Move-VMStorage
(Get-Cluster cluster).drainonshutdown


Deploying VHD Sets on Windows Server 2016 Hyper-V
Create Hyper-V VHD Set files

Implement NLB
Network Load Balancing - Windows Server 2016
The NLB Deployment Reference – All you need to know to implement and deploy Microsoft Network Load Balancing
Microsoft NLB Multicast and Unicast operation modes (1006580) - VMware

Network Load Balancing in Windows Server 2016
Windows Server 2016 NLB Network Load Balancing non-SDN or Software Load Balancing (SLB) for SDN


.