Installation und Konfiguration S2D Cluster – switchless

von Manuel Plath
16. Februar 2024
6 Minuten zu lesen
Autor
Manuel Plath
The best way to predict the future is to implement it.
Zum Experten Profil
Teilen:

Vor der Installation und Konfiguration der Nodes sollte auf die folgenden Punkte geachtet, und die Anforderungen erfüllt werden

Anforderungen:

https://learn.microsoft.com/en-us/windows-server/storage/storage-spaces/storage-spaces-direct-hardware-requirements

Praxistipps:

  • S2D / HCI Ready Nodes (Herstellersupport)
  • Windows Datacenter Lizenz wird benötigt
  • Installation der neuesten Firmwareupdates
  • Installation der neuesten Treiber
  • Witness wird benötigt (z.B. NAS / 3. Host mit SMB Freigabe)
  • SSDs -> Es wird nicht zwangsweise eine Cache-Disk benötigt, ist aber dennoch empfohlen
    • Zusätzliche Cache-Disks können konfiguriert werden
  • Netzwerkadapter müssen ROCE oder IWARP können:
    • Mellanox unterstützt RoCEv2 oder iWARP
    • Intel unterstützt RoCEv2 oder iWARP
  • Die Energiespareinstellungen auf maximum (BIOS & OS)
  • RAID nur für OS, nicht für die Clusterdisks (internal oder JBOD ist supported, RAID nicht supported)

Wenn diese Anforderungen erfüllt wurden und die Server richtig verkabelt wurden (DAC), dann können diese installiert werden.

Schritt 1: Bitte achten Sie auf die folgenden Punkte & die Erfüllung der Anforderungen

Folgende Schritte müssen durchgeführt werden, um ein funktionierendes S2D Cluster zu haben:

Grundkonfiguration der Hosts

    1. Remotemanagement (IDRAC, XClarity etc.)
    2. BIOS Settings (Herstellerangaben beachten)
    3. Windows-Installation
      1. Bevorzugt mit GUI
      2. Computernamen setzen

Schritt 2: Installation der benötigten Rollen und Features

Installation auf allen Hosts

Install-WindowsFeature -Name File-Services

Install-WindowsFeature -Name Data-Center-Bridging # Optional for Intel E810 NICs / iWARP NICs

Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Schritt 3: Status überprüfen der installierten Rollen und Features

Installation auf allen Hosts

Get-WindowsFeature | ? installstate -eq installed | ? name -Like *File*

Get-WindowsFeature | ? installstate -eq installed | ? name -Like *Cluster*

Get-WindowsFeature | ? installstate -eq installed | ? name -Like Hyper-V*

Get-WindowsFeature | ? installstate -eq installed | ? name -Like *Bridging*

Schritt 4: Netzwerkkonfiguration durchführen

Netzwerkkartennamen müssen angepasst werden! (Installation auf allen Hosts)

# Block DCBX protocol between switches and nodes (for future node expansion)

Set-NetQosDcbxSetting -InterfaceAlias "pNIC1-Port1" -Willing $False

Set-NetQosDcbxSetting -InterfaceAlias "pNIC1-Port2" -Willing $False

# Configure QoS policies for SMB-Direct (RoCE), Cluster Heartbeat and Default (all other) traffic

New-NetQosPolicy -Name "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

New-NetQosPolicy -Name "Cluster-HB" -Cluster -PriorityValue8021Action 7

New-NetQosPolicy -Name "Default" -Default -PriorityValue8021Action 0

# Enable flow control for SMB-Direct (RoCE)

Enable-NetQosFlowControl -Priority 3

# Disable flow control for all other traffic

Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

# Apply QoS policy to Mellanox pNIC ports

Enable-NetAdapterQos -Name "pNIC1-Port1"

Enable-NetAdapterQos -Name "pNIC1-Port2"

# Set minimum bandwidth - 50% for SMB-Direct, 1% for Cluster-HB

New-NetQosTrafficClass "SMB" -Priority 3 -BandwidthPercentage 50 -Algorithm ETS

New-NetQosTrafficClass "Cluster-HB" -Priority 7 -BandwidthPercentage 1 -Algorithm ETS

# Disable flow control on physical adapters

Set-NetAdapterAdvancedProperty -Name "pNIC1-Port1" -RegistryKeyword "*FlowControl" -RegistryValue 0

Set-NetAdapterAdvancedProperty -Name "pNIC1-Port2" -RegistryKeyword "*FlowControl" -RegistryValue 0

# Create SET-enabled vSwitch for Hyper-V using 2 LOM/OCP ports

New-VMSwitch -Name "S2DSwitch" -NetAdapterName "LOM-Port1", "LOM-Port2" -EnableEmbeddedTeaming $true `

-AllowManagementOS $false

# Note: Run the next command only if using 4 LOM ports

# Create SET-enabled vSwitch for Hyper-V using 4 LOM ports

#New-VMSwitch -Name "S2DSwitch" -NetAdapterName "LOM-Port1", "LOM-Port2", "LOM-Port3", "LOM-Port4" `-EnableEmbeddedTeaming $true -AllowManagementOS $false

# Add host vNIC to the vSwitch just created

Add-VMNetworkAdapter -SwitchName "S2DSwitch" -Name "vNIC-Host" -ManagementOS

# Enable RDMA on Mellanox pNIC ports

Enable-NetAdapterRDMA -Name "pNIC1-Port1"

Enable-NetAdapterRDMA -Name "pNIC1-Port2"

# Disable RDMA on LOM/OCP pNIC ports

Disable-NetAdapterRDMA -Name "LOM-Port1"

Disable-NetAdapterRDMA -Name "LOM-Port2"

 

Schritt 5: erweiterte Netzwerkkonfiguration

Erweiterte Netzwerkkonfiguration (IPs etc. müssen auf die jeweiligen Hosts angepasst werden)

#commands used to configure the SMB vNIC interfaces on Node 1

# Configure IP and subnet mask, no default gateway for Storage interfaces

New-NetIPAddress -InterfaceAlias "pNIC1-Port1" -IPAddress 10.10.11.11 -PrefixLength 24

New-NetIPAddress -InterfaceAlias "pNIC1-Port2" -IPAddress 10.10.12.11 -PrefixLength 24

#change vNIC to your IP Settings

#New-NetIPAddress -InterfaceAlias "vEthernet (vNIC-Host)" -IPAddress 10.10.10.11 PrefixLength 24 `

#-DefaultGateway 10.10.10.1

# Configure DNS on each interface, but do not register Storage interfaces

Set-DnsClient -InterfaceAlias "pNIC1-Port1" -RegisterThisConnectionsAddress $false

#Set-DnsClientServerAddress -InterfaceAlias "pNIC1-Port1" -ServerAddresses ("10.10.10.5","10.10.10.6")

Set-DnsClient -InterfaceAlias "pNIC1-Port2" -RegisterThisConnectionsAddress $false

#Set-DnsClientServerAddress -InterfaceAlias "pNIC1-Port2" -ServerAddresses ("10.10.10.5","10.10.10.6")

#change vNIC to your IP Settings

#Set-DnsClientServerAddress -InterfaceAlias "vEthernet (vNIC-Host)" -ServerAddresses ("10.10.10.5","10.10.10.6")


Schritt 6: Prüfen ob RDMA aktiviert ist

#command to verify that RDMA is enabled on the Storage interfaces

Get-NetAdapterRdma | ? Name -Like *pNIC* | Format-Table Name, Enabled

Schritt 7: Domainjoin durchführen (alle Hosts)

#command to add system to an Active Directory Domain

Add-Computer -DomainName "domain.int" -Restart

Schritt 8: Failover Cluster testen und erstellen

#PowerShell commands to test and create a failover cluster

Test-Cluster -Node HOST-S2D01.domain.int,HOST-S2D02.domain.int  -Include Inventory, Network, "Storage Spaces Direct", "System Configuration"

New-Cluster -Node HOST-S2D01,HOST-S2D02 -NoStorage

 

Schritt 9: Storage überprüfen

# command to check the status of cluster storage

Get-StorageSubSystem *CLUSTERNAME

Schritt 10: Clusteranpassung durchführen

NUR AUF EINEM HOST AUSFÜHREN 

#run command on only one node

# Update the cluster networks that were created by default

# First, look at what's there

Get-ClusterNetwork | ft Name, Role, Address

# Change the cluster network names so they're consistent with the individual nodes

(Get-ClusterNetwork -Name "Cluster Network 1").Name = "Storage1"

(Get-ClusterNetwork -Name "Cluster Network 2").Name = "Storage2"

(Get-ClusterNetwork -Name "Cluster Network 3").Name = "Host"

# Enable Cluster Only traffic on the Storage networks

(Get-ClusterNetwork -Name "Storage1").Role = 1

(Get-ClusterNetwork -Name "Storage2").Role = 1

# Enable Cluster and Client traffic on the Host network

(Get-ClusterNetwork -Name "Host").Role = 3

# Check to make sure the cluster network names and roles are set properly

Get-ClusterNetwork | ft Name, Role, Address

Schritt 11: Witness erstellen

a. SMB-Freigabe muss erstellt werden

b. Set-ClusterQuorum -FileShareWitness \\Beispiel\Freigabe\s2d -Credential $(Get-Credential)#create clusterquorum

\\Beispiel\Freigabe\s2d

Schritt 12: S2D aktiveren

NUR AUF EINEM HOST AUSFÜHREN

Enable-ClusterStorageSpacesDirect

Enable-ClusterStorageSpacesDirect S2D-Cluster -PoolFriendlyName S2D-Pool

Schritt 13: Clustervolume erstellen

#Add new Cluster Shared Volume

New-Volume -FriendlyName „CSV1“ -FileSystem ReFS -StoragePoolFriendlyName S2D*  -ResiliencySettingName Mirror -Size 100GB #NTFS kann ebenfalls verwendet werden. Es kommt auf die Anforderungen an (z.B. Dedup)

Das Volume muss ggf. in der Datenträgerverwaltung aktiviert werden

 

Schritt 14: RDMA testen

Zusammenfassung

War dieser Artikel hilfreich für Sie?
Ihr nächster Zug auf der it-sa in Nürnberg?
Wie beim Schach erfordert auch die Absicherung von OT-Systemen eine kluge Strategie – jeder Zug zählt, und der erste ist entscheidend.
Springer auf F3