Figure 2 depicts the integration of the fully-converged architecture.
Figure 2. Fully-Converged network topology with 2 NIC ports
Figure 3 depicts the fully-converged network topology with 4 NIC ports.
Figure 3. Fully-Converged network topology with 4 NIC ports
In the fully-converged network topology all storage ports from the server are connected to the same network fabric. Within the host OS, the NIC ports are used for both storage and management/VM traffic. Figure 4 depicts this configuration in the host OS.
Figure 4. Host OS network configuration in fully-converged topology with 2 NIC ports
In this host OS network configuration, a switch embedded team is created with two or four physical ports and virtual adapters in the host OS implemented for Storage 1, Storage 2, and Management traffic.
Note: The number of virtual storage adapters in the host OS should match the number of physical ports in the SET.
Figure 5 depicts using 4 NIC ports for the switch embedded team in fully-converged topology.
Figure 5. Host OS network configuration in fully-converged topology with 4 NIC ports
The storage adapters in this configuration can use either a single or 2 or 4 VLANs.
This section provides the PowerShell commands to configure the fully-converged network topology in which a single SET switch is used for both storage and management/VM traffic.
$ErrorActionPreference = 'Stop'
#region Variables for the scenario
# You must specify 2 or 4 network adapter port names
$netAdapterName = @('SLOT 2 PORT 1','SLOT 2 PORT 2')
$switchName = 'S2DSwitch'
# Management Adapter Parameters
$managementAdapterName = 'Management'
# VLAN ID for host management traffic; if no VLAN is preferred set this to 0
$managementVlanId = 102
# Management Gateway address
$managementGateway = '172.16.102.1'
# DNS server address
$managementDns = '172.16.102.2'
# Set this to a string 'DHCP' for a dynamic IP address
$managementIPAddress = '172.16.102.51'
# Management address prefix (24 translates to subnet mask 255.255.255.0)
$managementAddressPrefix = 24
# Storage Adapter Parameters
$storageAdapterPrefix = 'Storage'
# You must specify 1 or 2 or 4 VLANIDs
# You can use 0 as the value if you don't want to use VLANs for storage traffic
$storageVlanId = @(103,104)
# You must specify 2 or 4 IP Addresses
# DHCP as a value is accepted if you want dynamically assigned IP addresses
$storageIPAddress = @('171.16.103.51','172.16.104.51')
# You can specify 1 or 2 or 4 prefix length values
$StorageAddressPrefix = @(24)
#endregion
## Create a VM switch for management and Storage traffic
$null = New-VMSwitch -Name $switchName -AllowManagementOS 0 -NetAdapterName $netAdapterName -Verbose
## Add VM Network Adapters and configure VLANs and IP addresses as needed
### Management Adapter
$managementAdapter = Add-VMNetworkAdapter -SwitchName $SwitchName -ManagementOS -Passthru -Name $managementAdapterName -Verbose
if ($managementVlanId -and ($managementVlanId -ne 0))
{
Set-VMNetworkAdapterVlan -VMNetworkAdapter $managementAdapter -Access -VlanId $managementVlanId -Verbose
Start-Sleep -Seconds 5
}
if ($ManagementIPAddress -ne 'DHCP')
{
$null = New-NetIPAddress -InterfaceAlias "vEthernet ($managementAdapterName)" -IPAddress $managementIPAddress -DefaultGateway $managementGateway -PrefixLength $managementAddressPrefix -Verbose
Set-DnsClientServerAddress -InterfaceAlias "vEthernet ($managementAdapterName)" -ServerAddresses $managementDns -Verbose
}
### Storage Adapters
for ($i = 0; $i -lt $netAdapterName.Count; $i++)
{
$storageAdapterName = "${storageAdapterPrefix}$($i+1)"
# if there is a single VLAN for storage use the first and only element
if ($storageVlanId.Count -eq 1)
{
$storageVlan = $storageVlanId[0]
}
else
{
# else use the right index to get the VLAN ID
$storageVlan = $storageVlanId[$i]
}
# Check if only one prefix is provided
if ($StorageAddressPrefix.Count -eq 1)
{
$StoragePrefix = $StorageAddressPrefix[0]
}
else
{
# if more than one, use the right index to get the address prefix
$StoragePrefix = $StorageAddressPrefix[$i]
}
$storageAdapter = Add-VMNetworkAdapter -SwitchName $SwitchName -ManagementOS -Passthru -Name $storageAdapterName -Verbose
if ($storageVlan -and ($storageVlan -ne 0))
{
# Set VM Network adapter VLAN only if the VLAN ID specified is other than 0
Set-VMNetworkAdapterVlan -VMNetworkAdapter $storageAdapter -Access -VlanId $storageVlan -Verbose
Start-Sleep -Seconds 5
}
if ($StorageIPAddress[$i] -ne 'DHCP')
{
$null = New-NetIPAddress -InterfaceAlias "vEthernet ($storageAdapterName)" -IPAddress $StorageIPAddress[$i] -PrefixLength $StoragePrefix -Verbose
}
}