管理網路 ATC
適用于:Azure Stack HCI 版本 22H2 和 21H2
本文探討在部署網路 ATC 後管理的方式。 網路 ATC 簡化了 Azure Stack HCI 叢集的部署和網路組態管理。 您可以使用 Windows PowerShell 來管理網路 ATC。
新增伺服器節點
您可以將節點新增至叢集。 叢集中的每個節點會接收相同的意圖,以改善叢集的可靠性。 新的伺服器節點必須符合使用網路 ATC 進行主機網路的<需求與最佳做法>一節所列出的所有需求。
在這項工作中,您會將其他節點新增至叢集,並觀察如何在叢集中的所有節點上強制執行一致的網路設定。
Add-ClusterNode
使用 Cmdlet 將其他 (未設定) 節點新增至叢集。 您目前僅需要叢集的管理存取權。 叢集中的每個節點應都有相同名稱的 pNIC。Add-ClusterNode -Cluster HCI01 Get-ClusterNode
檢查所有叢集節點的狀態。 您需要在 21H2 版中使用
-ClusterName
參數。 網路 ATC 會自動從 22H2 版和更新版本偵測叢集名稱。注意
如果所要新增的其中一個伺服器缺少存在於其他伺服器的網路介面卡,則
Get-NetIntentStatus
會回報錯誤PhysicalAdapterNotFound
。使用
Get-NetIntentStatus
檢查所有節點的佈建狀態。 此 Cmdlet 會回報兩個節點的設定。 這可能需要類似的時間來布建為原始節點。您也可以一次將多個節點新增至叢集。
修改儲存裝置或管理系統的 VLAN
您可以使用網路 ATC 指定的預設 VLAN,或使用您環境特定的值。 若要這樣做,請使用 Add-NetIntent 上的 -ManagementVLAN 和 -StorageVLAN 參數。
從意圖新增或移除網路介面卡
這項工作可協助您更新指派給意圖的網路介面卡。 如果您對叢集中的實體介面卡變更,則可使用 Update-NetIntentAdapter
更新相關的意圖。
在此範例中,我們已安裝 pNIC03 和 pNIC04 的兩個新介面卡,並要在名為 'Cluster_Compute' 的意圖中使用。
在其中一個叢集節點上,執行
Get-NetAdapter
檢查兩個介面卡是否存在,以及每個叢集節點是否回報 'UP' 的狀態。Get-NetAdapter -Name pNIC03, pNIC04 -CimSession (Get-ClusterNode).Name | Select Name, PSComputerName
執行下列命令,更新意圖以包含舊和新的網路介面卡。
檢查是否已成功將網路介面卡新增至意圖。
全域覆寫和叢集網路設定
適用于 Azure Stack HCI 版本 22H2 和更新版本。
全域覆寫和叢集網路設定是網路 ATC 在 22H2 版 (和更新版本中引進的新功能,) 。 網路 ATC 主要包含兩種全域覆寫:Proxy 設定和叢集網路功能。
叢集網路功能
在本節中,我們將探討一組使用 22H2 發行發行的新叢集網路功能。 新的叢集網路功能可啟用和優化叢集網路命名、藉由控制效能選項、頻寬限制,以及管理即時移轉來管理叢集網路。
叢集網路命名
描述:根據預設,容錯移轉叢集一律會命名唯一子網,如下所示:「叢集網路 1」、「叢集網路 2」等等。 這未連線到網路的實際使用,因為叢集無法知道您打算如何使用網路– 到現在為止!
一旦您透過網路 ATC 定義您的設定,我們現在會瞭解如何使用子網,並更適當地命名叢集網路。 例如,我們知道哪些子網用於管理、儲存體網路 1、儲存體網路 2 (等等,如果適用的話) 。 因此,我們可以更內容地命名網路。
在下列螢幕擷取畫面中,您可以看到儲存意圖已套用至這組介面卡。 系統管理員可以調查另一個未知的叢集網路。
即時移轉網路選取
此值會啟用或停用意圖型即時移轉叢集網路選取邏輯。 根據預設,這會啟用 ($true) ,並根據提交的意圖資訊來選取叢集網路。 如果 [即時移轉網路選取] 已停用,使用者可以設定即時移轉網路,而預設行為會還原為您在缺少網路 ATC 時預期的情況。
啟用虛擬機器移轉:效能選取
此值會啟用或停用虛擬機器即時移轉傳輸的意圖型選取。 根據預設,這會啟用 ($true) ,並讓系統自動判斷最佳的即時移轉傳輸,例如:SMB、壓縮、TCP。
如果停用:
- 即時移轉傳輸選取專案會使用 VirtualMachineMigrationPerformanceOption 覆寫值中指定的傳輸。
- 如果未指定 VirtualMachineMigrationPerformanceOption 覆寫值,則當網路 ATC 不存在時,Network ATC 會還原為行為。
- 如果為 null,但 VirtualMachineMigrationPerformanceOption 已設定,請將此選項設定為$false並使用 VirtualMachineMigrationPerformanceOption 覆寫中指定的選項
虛擬機器移轉效能選項
網路 ATC 會將即時移轉傳輸設定為 TCPIP、壓縮或 SMB。 如果為 null,則系統會使用此規格中所述的選取邏輯來判斷最佳傳輸。
並行虛擬機器移轉上限
網路 ATC 會將並行虛擬機器移轉的預設數目設定為一個。 此屬性的可能允許值範圍是 1 到 10。
SMB 移轉頻寬上限
此值會在 SMB 傳輸的即時移轉流量上強制執行特定頻寬限制, (Gbps) ,以避免耗用 SMB 流量類別。 只有在即時移轉傳輸是 SMB 時,才能使用此值。 預設值會計算。
自訂叢集網路設定
叢集網路功能可透過其定義的預設值運作。 由於停用叢集網路功能不會讓您進入不支援的案例中,因此網路 ATC 有全域覆寫的選項。 您可以使用全域覆寫來調整屬性,並針對您的需求自訂叢集網路功能屬性。
若要使用網路 ATC 新增 GlobalOverride:
$clusterOverride = New-NetIntentGlobalClusterOverrides
'clusterOverride' 變數具有下列屬性:
設定覆寫的任何屬性之後,您可以使用下列命令將其新增為叢集的 GlobalOverride:
Set-NetIntent -GlobalClusterOverrides $clusterOverride
並確認叢集成功部署Override 執行:
Get-NetIntentStatus -Globaloverrides
若要移除 GlobalClusterOverride,請執行下列命令:
Remove-NetIntent -GlobalOverrides $clusterOverride
Proxy 組態
Proxy 不同于現有的 ATC 覆寫,因為它不會系結至特定意圖。 事實上,當沒有任何意圖時,我們支援 Proxy 組態。 我們最好在 Add/Set/Get-NetIntent 上實作新的全域覆寫參數,類似于叢集網路功能。
此命令 New-NetIntentGlobalProxyOverrides
可用來建立類似現有 QoS、RSS 和 SwitchConfig 覆寫的覆寫物件。 此命令會有兩個參數集:
預設參數集
ProxyServer:ProxyServer 參數會採用字串作為輸入,其代表要用於 HTTPs 流量之 Proxy 伺服器的 URL。 設定 Proxy 時,ProxyServer 是必要參數。
ProxyBypass:ProxyBypass 參數會採用應略過 Proxy 來流覽的網站清單。 若要略過所有簡短名稱主機,請使用 local
。
自動偵測:AutoDetect 是 true 或 false 參數,指定是否應該啟用 Web Proxy 自動探索 (WPAD) 。
AutoDetect 參數集:
AutoConfigUrl:AutoConfigUrl 參數會採用 Proxy 伺服器的 URL 字串,以作為輸入來用於 HTTP 和/或 HTTPs 流量。 針對這兩個流量類別,請使用分號分隔。 這是必要參數。
AutoDetect:類似于上述的 AutoDetect 參數,這是 true 或 false 參數,指出是否應該啟用 Web Proxy 自動探索 (WPAD) 。
設定 Proxy
您可以透過下列方式設定 Proxy 組態:
$ProxyOverride = New-NetIntentGlobalProxyOverrides -ProxyServer https://itg.contoso.com:3128 -ProxyBypass = *.foo.com
AutoConfigURL
您可以使用 參數,以下列方式設定 Proxy 組態:
$ProxyOverride = New-NetIntentGlobalProxyOverrides -AutoConfigUrl https://itg.contoso.com
您可以為叢集新增 GlobalProxyOverride,如下所示:
Set-NetIntent -GlobalProxyOverride $ProxyOverride
若要移除叢集的 GlobalProxyOverride,如下所示:
Remove-NetIntent -GlobalOverride $ProxyOverride
最後,若要存取任何全域覆寫、Proxy 或叢集,您可以執行下列命令:
$Obj1 = Get-NetIntent -GlobalOverride
$Obj1
更具體來說,您可以針對 呼叫 Proxy 和叢集的個別參數 $Obj1
,分別存取 Proxy 和叢集全域覆寫:
$Obj1.ProxyOverride
$Obj1.ClusterOverride
更新或覆寫網路設定
這項工作可協助您覆寫已部署的預設組態。 此範例會修改 SMB 直接傳輸的預設頻寬保留。
重要
我們建議使用預設設定,其是以 Microsoft 最佳做法為基礎。
取得可能覆寫 Cmdlet 的清單。 我們使用萬用字元來查看可用的選項:
Get-Command -Noun NetIntent*Over* -Module NetworkATC
建立 DCB 服務品質 (QoS) 設定的覆寫物件:
$QosOverride = New-NetIntentQosPolicyOverrides $QosOverride
修改 SMB 直接傳輸的頻寬百分比:
$QosOverride.BandwidthPercentage_SMB = 25 $QosOverride
注意
僅會針對您所覆寫的屬性顯示值。
提交指定覆寫的意圖要求:
Set-NetIntent -Name Cluster_ComputeStorage -QosPolicyOverrides $QosOverride
等候佈建狀態完成:
Get-NetIntentStatus -Name Cluster_ComputeStorage | Format-Table IntentName, Host, ProvisioningStatus, ConfigurationStatus
檢查所有叢集節點上已正確設定覆寫。 在此範例中,已使用頻寬百分比 25% 覆寫 SMB_Direct 流量類別:
Get-NetQosTrafficClass -Cimsession (Get-ClusterNode).Name | Select PSComputerName, Name, Priority, Bandwidth
在 VM 中測試網路 ATC
在 VM 內執行 Azure Stack HCI 適用於測試環境。 若要這樣做,請將配接器屬性覆寫新增至您的意圖,而您的意圖會停用 NetworkDirect 配接器屬性:
$AdapterOverride = New-NetIntentAdapterPropertyOverrides
$AdapterOverride.NetworkDirect = 0
Add-NetIntent -Name MyIntent -AdapterName vmNIC01, vmNIC02 -Management -Compute -Storage -AdapterPropertyOverrides $AdapterOverride
注意
請確定每個 VM 上有多個虛擬 CPU。
移除意圖
您有時可能會想要移除所有意圖並重新開始,例如測試不同的設定。 雖然您可以使用 Remove-NetIntent Cmdlet 來移除意圖,但這麼做不會清除針對意圖所建立的虛擬交換器和 DCB/NetQoS 設定。 網路 ATC 不會終結系統上的項目,這通常是優點,但也表示您必須執行某些手動步驟以重新開始。
若要移除所有網路意圖,並刪除網路 ATC 針對這些意圖所建立的虛擬交換器和 NetNoS 設定,請在 PowerShell 工作階段中執行下列指令碼,而此工作階段是在叢集 (不限) 的其中一部伺服器上本機執行。
$clusname = Get-Cluster
$clusternodes = Get-ClusterNode
$intents = Get-NetIntent -ClusterName $clusname
foreach ($intent in $intents)
{
Remove-NetIntent -Name $intent.IntentName -ClusterName $clusname
}
foreach ($intent in $intents)
{
foreach ($clusternode in $clusternodes)
{
Remove-VMSwitch -Name "*$($intent.IntentName)*" -ComputerName $clusternode -ErrorAction SilentlyContinue -Force
}
}
foreach ($clusternode in $clusternodes)
{
New-CimSession -ComputerName $clusternode -Name $clusternode
$CimSession = Get-CimSession
Get-NetQosTrafficClass -CimSession $CimSession | Remove-NetQosTrafficClass -CimSession $CimSession
Get-NetQosPolicy -CimSession $CimSession | Remove-NetQosPolicy -Confirm:$false -CimSession $CimSession
Get-NetQosFlowControl -CimSession $CimSession | Disable-NetQosFlowControl -CimSession $CimSession
Get-CimSession | Remove-CimSession
}
若要移除每個節點部署的設定,請在每個節點上複製並貼上下列命令,以移除所有現有意圖和其對應的 vSwitch:
$intents = Get-NetIntent
foreach ($intent in $intents)
{
Remove-NetIntent -Name $intent.IntentName
Remove-VMSwitch -Name "*$($intent.IntentName)*" -ErrorAction SilentlyContinue -Force
}
Get-NetQosTrafficClass | Remove-NetQosTrafficClass
Get-NetQosPolicy | Remove-NetQosPolicy -Confirm:$false
Get-NetQosFlowControl | Disable-NetQosFlowControl
部署後工作
共有多個工作要在網路 ATC 部署之後完成,包含下列項目:
將 DHCP 或靜態 IP 位址新增至儲存裝置介面卡:在儲存裝置 VLAN 上使用 DHCP,或使用 NetIPAdress Cmdlet 設定靜態 IP 位址。 若自動私人 IP 定址 (APIPA) 位址已指定給無法從 DHCP 伺服器取得位址的介面卡,則您無法使用。
設定 SMB 頻寬限制:如果即時移轉使用 SMB 直接 (RDMA) ,請設定頻寬限制,以確保即時移轉不會耗用儲存空間直接存取和容錯移轉叢集所使用的所有頻寬。
延展式叢集設定:若要將 Stretch S2D 新增至 ATC 管理系統,則您必須在 ATC 已實作指定的意圖後,手動新增適當的設定 (包含 vNIC 等)。 此外也存在下列限制:
- 叢集中的所有節點必須使用相同的意圖。
- 針對儲存體複本,沒有提供自動佈建。
驗證自動補救
網路 ATC 確保部署的設定在所有叢集節點上皆保持相同。 在此選擇性區段中,我們會修改組態 (,而不需覆寫) 模擬意外設定變更,並觀察如何藉由補救錯誤的屬性來改善系統的可靠性。
檢查介面卡的現有 MTU (JumboPacket) 值:
Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
修改其中一個實體介面卡的 MTU,而不須指定覆寫。 這會模擬意外變更或「設定漂移」,必須加以補救。
Set-NetAdapterAdvancedProperty -Name pNIC01 -RegistryKeyword *JumboPacket -RegistryKeyword *JumboPacket -RegistryValue 4088
確認已修改介面卡的現有 MTU (JumboPacket) 值:
Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
重試設定。 執行此步驟僅會加速補救。 網路 ATC 將自動補救此設定。
Set-NetIntentRetryState -ClusterName HCI01 -Name Cluster_ComputeStorage -NodeName Node01
確認已完成一致性檢查:
Get-NetIntentStatus -ClusterName HCI01 -Name Cluster_ComputeStorage
確認介面卡的 MTU (JumboPacket) 值已回到預期的值:
Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
如需更多驗證範例,請參閱網路 ATC 示範。