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
- Remotemanagement (IDRAC, XClarity etc.)
- BIOS Settings (Herstellerangaben beachten)
- Windows-Installation
- Bevorzugt mit GUI
- 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
War dieser Artikel hilfreich für Sie?