In a non-converged network topology, storage (SMB) traffic passes using dedicated NICs and is separated from Management and Compute traffic. This topology is ideal for environments where you expect heavy write IOs. Management and Storage traffic pass using a different pair of NIC ports. In the host operating system, a pair of RDMA capable NICs are used for storage traffic while Management/Compute can use any supported network card.
Non-converged technology
In this example, Integrated NIC 1 Port 1-1, Integrated NIC 1 Port 2-1 are being used for the management and compute intent and SLOT 6 Port 1 and SLOT 6 Port 2 are used for the storage intent.
- Modify NIC variables to match the deployment requirements.
$mgmt_compute_nics = @('Integrated NIC 1 Port 1-1','Integrated NIC 1 Port 2-1')
$storage_nics = @('SLOT 6 Port 1','SLOT 6 Port 2')
$storage_vlans =@(203,204)
$Mgmt_Vlan=202 - Create an override object for the DCB Quality of Service (QoS) configuration.
$QoSOverride = New-NetIntentQoSPolicyOverrides
$QoSOverride.BandwidthPercentage_Cluster = 2
$QoSOverride.PriorityValue8021Action_Cluster = 5 - Create a jumbo packet override for SMB and Management NIC.
$MgmtAdapterPropertyOverrides = New-NetIntentAdapterPropertyOverrides
$MgmtAdapterPropertyOverrides.NetworkDirect = 0
$MgmtAdapterPropertyOverrides.JumboPacket = 1514
$StorAdapterPropertyOverrides = New-NetIntentAdapterPropertyOverrides
$StorAdapterPropertyOverrides.JumboPacket = 9014 - Choose the RDMA protocol to be used for deployment. Note: Modify the RDMA protocol based on the network cards.
#Intel E810 support iWARP and RoCEV2 while Mellanox support only RoCEV2.
iWARP = 1 RoCEv2 = 4
$StorAdapterPropertyOverrides.NetworkDirectTechnology = 4 - Set storage overrides if you do not want Network ATC to assign SMB IPs automatically.
$StorageOverride = New-NetIntentStorageOverrides
$StorageOverride.EnableAutomaticIPGeneration = $false - Create a management and compute intent.
Add-NetIntent -Name Management_Compute -Management -Compute -AdapterName $mgmt_compute_nics -ManagementVlan $Mgmt_Vlan -AdapterPropertyOverrides $MgmtAdapterPropertyOverrides
- Verify intent creation status.
Get-NetIntentStatus | select intentname,Host,ConfigurationStatus,ProvisioningStatus,retrycount,error,LastSuccess,LastUpdated,LastConfigApplied |ft
- Create a storage intent.
Add-NetIntent -Name Storage -Storage -AdapterName $storage_nics -StorageVLANs $storage_vlans -QosPolicyOverrides $QoSOverride -AdapterPropertyOverrides $StorAdapterPropertyOverrides -StorageOverrides $Storageoverride
- Verify intent creation status.
Get-NetIntentStatus -Name Storage | select intentname,Host,ConfigurationStatus,ProvisioningStatus,retrycount,error,LastSuccess,LastUpdated,LastConfigApplied |ft
- Add a global override.
$clusterOverride = New-NetIntentGlobalClusterOverrides
$clusterOverride.EnableVirtualMachineMigrationPerformanceSelection = $false
$clusterOverride.VirtualMachineMigrationPerformanceOption = "SMB"
$clusterOverride.MaximumVirtualMachineMigrations = 2
Set-NetIntent -GlobalClusterOverrides $clusterOverride - Assign IP addresses for storage network.
$stor_prefix='24'
$stor1_ip_address = '192.168.11.11'
$stor2_ip_address = '192.168.12.11''
New-NetIPAddress -InterfaceAlias " SLOT 3 Port 1 " -IPAddress $stor1_ip_address
-PrefixLength $stor_prefix -AddressFamily IPv4 -Verbose
New-NetIPAddress -InterfaceAlias " SLOT 3 Port 2" -IPAddress $stor2_ip_address
-PrefixLength $stor_prefix -AddressFamily IPv4 -VerboseNote: Assigning IP address commands must run on all the cluster nodes by incrementing the IP addresses.
- Update network adapter advanced properties for Mellanox cards.
The following commands updates advanced properties for the Mellanox cards.
Get-NetAdapter -InterfaceDescription Mellanox* | Set-NetAdapterAdvancedProperty -DisplayName 'DcbxMode' -DisplayValue 'Host In Charge'
Note: Run this command on all the nodes of the cluster.
- (Optional) If you want to configure proxy settings, see https://learn.microsoft.com/en-us/azure-stack/hci/manage/manage-network-atc?tabs=22H2#proxy-configurations.
- Run the Test-Cluster cmdlet.
The Test-Cluster cmdlet generates an HTML report of all performed validations and includes a summary of the validations. Review this report, resolve all warnings and errors before creating a cluster.Test-Cluster -Node node01,Node02,Node03,Node04 -Include 'Storage Spaces Direct', 'Inventory', 'network','System Configuration'