Network ATC を管理する

適用対象: Azure Stack HCI バージョン 22H2 および 21H2

この記事では、デプロイ後にネットワーク ATC を管理する方法について説明します。 Network ATC を使用すると、Azure Stack HCI クラスターのデプロイとネットワーク構成の管理が単純化されます。 Windows PowerShell を使用してネットワーク ATC を管理します。

サーバー ノードを追加する

クラスターにノードを追加できます。 クラスター内の各ノードは同じインテントを受け取り、クラスターの信頼性が向上します。 新しいノードは、ネットワーク ATC を使用したホスト ネットワークに関するページの「要件とベスト プラクティス」セクションに記載されているすべての要件を満たす必要があります。

このタスクでは、クラスターにノードを追加し、クラスター内のすべてのノードに一貫したネットワーク構成がどのように適用されるかを確認します。

  1. コマンドレットを Add-ClusterNode 使用して、追加の (未構成の) ノードをクラスターに追加します。 この時点では、クラスターへの管理アクセスのみが必要です。 クラスター内の各ノードのすべての pNIC に、同じ名前が設定されている必要があります。

    Add-ClusterNode -Cluster HCI01
    Get-ClusterNode
    
  2. すべてのクラスター ノードの状態を確認します。 バージョン 21H2 では、 パラメーターを -ClusterName 使用する必要があります。 ネットワーク ATC では、バージョン 22H2 以降のクラスター名が自動検出されます。

    Get-NetIntentStatus -ClusterName HCI01
    

    Note

    クラスターに追加しようとしているサーバーの 1 つに、他のサーバー上に存在するネットワーク アダプターがない場合、Get-NetIntentStatus によって エラー PhysicalAdapterNotFound が報告されます。

  3. Get-NetIntentStatus を使用して、すべてのノードのプロビジョニング状態を調べます。 コマンドレットにより、両方のノードの構成が報告されます。 これは、元のノードと同様にプロビジョニングに時間がかかる場合があります。

    Get-NetIntentStatus -ClusterName HCI01
    

    また、一度に複数のノードをクラスターに追加することもできます。

記憶域または管理システムの既定の VLAN を変更する

ネットワーク ATC によって指定された既定の VLAN を使用することも、環境に固有の値を使用することもできます。 これを行うには、Add-NetIntent で -ManagementVLAN パラメーターと -StorageVLAN パラメーターを使用します。

Add-NetIntent -Name MyIntent -ClusterName HCI01 -StorageVLANs 101, 102 -ManagementVLAN 10

ネットワーク アダプターを意図的に追加または削除する

このタスクは、意図に割り当てられているネットワーク アダプターを更新するのに役立ちます。 クラスター内の物理アダプターに変更がある場合は、Update-NetIntentAdapter を使用して関連するインテントを更新できます。

この例では、pNIC03 と pNIC04 という 2 つの新しいアダプターをインストールしました。これらは、"Cluster_Compute" という名前のインテントで使用します。

  1. いずれかのクラスター ノードで Get-NetAdapter を実行して、両方のアダプターが存在し、各クラスター ノードで "Up" という状態を報告することを確認します。

    Get-NetAdapter -Name pNIC03, pNIC04 -CimSession (Get-ClusterNode).Name | Select Name, PSComputerName
    
  2. 次のコマンドを実行して、インテントを更新し、新旧のネットワーク アダプターを含めます。

     Update-NetIntentAdapter -Name Cluster_Compute -AdapterName pNIC01,pNIC02,pNIC03,pNIC04 -ClusterName HCI01
    
  3. インテントにネットワーク アダプターが正常に追加されたことを確認します。

        Get-NetIntent -Name Cluster_Compute -ClusterName HCI01
    

グローバル オーバーライドとクラスター ネットワーク設定

Azure Stack HCI バージョン 22H2 以降に適用されます。

グローバル オーバーライドとクラスター ネットワーク設定は、ネットワーク ATC がバージョン 22H2 (以降のバージョン) で導入する新機能です。 ネットワーク ATC は主に、プロキシ構成とクラスター ネットワーク機能の 2 種類のグローバルオーバーライドで構成されます。

クラスター ネットワーク機能

このセクションでは、22H2 リリースでリリースする新しいクラスター ネットワーク機能のセットについて説明します。 新しいクラスター ネットワーク機能を使用すると、クラスター ネットワークの名前付け、パフォーマンス オプション、帯域幅の制限、ライブ マイグレーションの管理を制御してクラスター ネットワークを管理できます。

クラスター ネットワークの名前付け

説明: 既定では、フェールオーバー クラスタリングでは、"クラスター ネットワーク 1"、"クラスター ネットワーク 2" などの一意のサブネットに常に名前が付けられます。 これは、ネットワークの実際の使用には接続されていません。これは、クラスタリングでネットワークの使用方法を知る方法がないためです。今まで!

ネットワーク ATC を使用して構成を定義すると、サブネットがどのように使用されるかが理解され、クラスター ネットワークに適切な名前を付けることができます。 たとえば、管理に使用されるサブネット、ストレージ ネットワーク 1、ストレージ ネットワーク 2 (該当する場合など) がわかっています。 その結果、よりコンテキストに応じてネットワークに名前を付けることができます。

次のスクリーンショットでは、この一連のアダプターにストレージ インテントが適用されたことを確認できます。 管理者が調査する必要がある別の不明なクラスター ネットワークが表示されています。

クラスター ネットワークの選択のスクリーンショット。

ライブ マイグレーション ネットワークの選択

この値は、インテントベースのライブ マイグレーション クラスター ネットワーク選択ロジックを有効または無効にします。 既定では、これは有効 ($true) であり、送信された意図情報に基づいてクラスター ネットワークが選択されます。 ライブ マイグレーション ネットワークの選択が無効になっている場合、ユーザーはライブ マイグレーション ネットワークを設定できます。既定の動作は、Network ATC がない場合に想定される動作に戻ります。

仮想マシンの移行を有効にする: パフォーマンスの選択

この値により、仮想マシンのライブ マイグレーション トランスポートの意図ベースの選択が有効または無効になります。 既定では、これが有効になり、SMB、圧縮、TCP など、最適なライブ マイグレーション トランスポートがシステムによって自動的に決定されます。

無効にした場合:

  • ライブ マイグレーション トランスポートの選択では、VirtualMachineMigrationPerformanceOption オーバーライド値で指定されたトランスポートが使用されます。
  • VirtualMachineMigrationPerformanceOption オーバーライド値が指定されていない場合、Network ATC が存在しない場合、Network ATC は動作に戻ります。
  • null で VirtualMachineMigrationPerformanceOption が構成されている場合は、このオプションを構成して、VirtualMachineMigrationPerformanceOption オーバーライドで指定されたオプションを$falseして使用します。
仮想マシンの移行パフォーマンス オプション

ネットワーク ATC は、TCPIP、圧縮、または SMB へのライブ マイグレーション トランスポートを構成します。 null の場合、システムはシステム構成と機能に基づいて最適なオプションを計算します。

仮想マシンの同時移行の最大数

ネットワーク ATC は、同時実行仮想マシンの移行の既定の数を 1 に設定します。 このプロパティに使用できる値の範囲は、1 から 10 です。

SMB 移行の最大帯域幅

この値は、SMB トラフィック クラスの消費を防ぐために、SMB で転送されるライブ マイグレーション トラフィックに特定の帯域幅制限 (Gbps 単位) を適用します。 この値は、ライブ マイグレーション トランスポートが SMB の場合にのみ使用できます。 既定値が計算されます。

クラスター ネットワーク設定をカスタマイズする

クラスター ネットワーク機能は、定義された既定値で動作します。 クラスター ネットワーク機能を無効にしてもサポートされていないシナリオでは発生しないため、Network ATC には globaloverride のオプションがあります。 グローバル オーバーライドを使用してプロパティを調整し、クラスター ネットワーク機能のプロパティをニーズに合わせてカスタマイズできます。

Network ATC を使用して GlobalOverride を追加するには:

$clusterOverride = New-NetIntentGlobalClusterOverrides

'clusterOverride' 変数には、次のプロパティがあります。

クラスター オーバーライド オブジェクトのスクリーンショット。

オーバーライドのプロパティを設定したら、次のコマンドを使用して、クラスターの GlobalOverride として追加できます。

Set-NetIntent -GlobalClusterOverrides $clusterOverride

また、clusterOverride のデプロイが成功したことを確認するには、次の手順を実行します。

Get-NetIntentStatus -Globaloverrides

GlobalClusterOverride を削除するには、次を実行します。

Remove-NetIntent -GlobalOverrides $clusterOverride

プロキシの構成

プロキシは、特定の意図に関連付けられていないため、既存の ATC オーバーライドとは異なります。 実際、意図がない場合はプロキシ構成をサポートしています。 クラスター ネットワーク機能と同様に、Add/Set/Get-NetIntent に新しいグローバル オーバーライド パラメーターを実装することで、このシナリオを最適にサポートします。

コマンドは、既存の New-NetIntentGlobalProxyOverrides QoS、RSS、SwitchConfig のオーバーライドと同様のオーバーライド オブジェクトを作成するために使用されます。 コマンドには、次の 2 つのパラメーター セットがあります。

既定のパラメーター セット

ProxyServer: ProxyServer パラメーターは、https トラフィックに使用するプロキシ サーバーの URL を表す文字列を入力として受け取ります。 ProxyServer は、プロキシを設定するときに必要なパラメーターです。

ProxyBypass: ProxyBypass パラメーターは、プロキシをバイパスしてアクセスする必要があるサイトの一覧を受け取ります。 すべての短い名前のホストをバイパスするには、 を使用 localします。

AutoDetect: AutoDetect は、Web プロキシ自動検出 (WPAD) を有効にする必要があるかどうかを指定する true または false のパラメーターです。

AutoDetect パラメーター セット:

AutoConfigUrl: AutoConfigUrl パラメーターは、入力として http または https トラフィックに使用するプロキシ サーバーの URL を含む文字列を受け取ります。 両方のトラフィック クラスでは、セミコロンを使用して区切ります。 これは必須パラメーターです。

AutoDetect: 上記の AutoDetect パラメーターと同様に、これは、Web プロキシ自動検出 (WPAD) を有効にする必要があるかどうかを指定する true または false のパラメーターです。

プロキシの設定

プロキシ構成は、次の方法で設定できます。

$ProxyOverride = New-NetIntentGlobalProxyOverrides -ProxyServer https://itg.contoso.com:3128 -ProxyBypass = *.foo.com

スイッチを AutoConfigURL 使用すると、次の方法でプロキシ構成を設定できます。

$ProxyOverride = New-NetIntentGlobalProxyOverrides -AutoConfigUrl https://itg.contoso.com

クラスターの GlobalProxyOverride は、次のように追加できます。

Set-NetIntent -GlobalProxyOverride $ProxyOverride

クラスターの GlobalProxyOverride を次のように削除するには:

Remove-NetIntent -GlobalOverride $ProxyOverride

最後に、グローバルオーバーライド、プロキシ、またはクラスターにアクセスするには、次のコマンドを実行します。

$Obj1 = Get-NetIntent -GlobalOverride
$Obj1

具体的には、 のそれぞれのパラメーター $Obj1を呼び出すことで、それぞれプロキシとクラスターのグローバル オーバーライドにアクセスできます。

$Obj1.ProxyOverride
$Obj1.ClusterOverride

ネットワーク設定を更新またはオーバーライドする

このタスクは、既にデプロイされている既定の構成をオーバーライドするのに役立ちます。 この例では、SMB ダイレクトの既定の帯域幅予約が変更されます。

重要

Microsoft のベスト プラクティスに基づいている既定の設定を使用することをお勧めします。

  1. 使用可能なオーバーライド コマンドレットの一覧を取得します。 ワイルドカードを使用して、使用可能なオプションを確認します。

    Get-Command -Noun NetIntent*Over* -Module NetworkATC
    
  2. DCB のサービスの品質 (QoS) の構成のオーバーライド オブジェクトを作成します。

    $QosOverride = New-NetIntentQosPolicyOverrides
    $QosOverride
    
  3. SMB ダイレクトの帯域幅の割合を変更します。

    $QosOverride.BandwidthPercentage_SMB = 25
    $QosOverride
    

    Note

    オーバーライドするプロパティの値のみが表示されます。

  4. オーバーライドを指定してインテント要求を送信します。

    Set-NetIntent -Name Cluster_ComputeStorage -QosPolicyOverrides $QosOverride
    
  5. プロビジョニング状態が完了になるまで待ちます。

    Get-NetIntentStatus -Name Cluster_ComputeStorage | Format-Table IntentName, Host, ProvisioningStatus, ConfigurationStatus
    
  6. すべてのクラスター ノードでオーバーライドが正しく設定されていることを確認します。 この例では、SMB_Direct トラフィック クラスが 25% の帯域幅の割合でオーバーライドされました。

    Get-NetQosTrafficClass -Cimsession (Get-ClusterNode).Name | Select PSComputerName, Name, Priority, Bandwidth
    

VM での Network 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 コマンドレットを使用してインテントを削除することはできますが、それによって、そのインテント用に作成された仮想スイッチと DCB/NetQoS 構成はクリーンアップされません。 ネットワーク ATC は、システム上のものを破棄しないようになっています。これは通常は良いことですが、やり直すには手動でいくつかの手順を実行する必要があります。

すべてのネットワーク インテントを削除し、それらのインテントに対して Network ATC によって作成された仮想スイッチと NetQoS 構成を削除するには、クラスター内のサーバーの 1 つ (どれでも構いません) でローカルに実行されている 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 デプロイの後に完了するタスクは、使用される Azure Stack HCI バージョンによって異なります。 Azure Stack HCI 21H2 クラスターの場合:

  • ストレージ アダプターに IP アドレスを追加します。 記憶域 VLAN で DHCP を使用するか、NetIPAdress コマンドレットを使用して静的 IP アドレスを設定します。 DHCP サーバーからアドレスを取得できないアダプターに対して、指定された自動プライベート IP アドレス指定 (APIPA) アドレスを使用することはできません。

  • SMB 帯域幅の制限を設定します。ライブ マイグレーションで SMB ダイレクト (RDMA) を使用する場合は、記憶域スペース ダイレクトとフェールオーバー クラスタリングで使用されるすべての帯域幅がライブ マイグレーションで消費されないように帯域幅制限を構成します。

  • ストレッチ クラスターの構成: Stretch S2D をネットワーク ATC マネージド システムに追加するには、Network ATC が指定された意図を実装した後に、適切な構成 (vNIC など) を手動で追加する必要があります。

ストレージ アダプター、SMB 帯域幅制限、ストレッチ構成の自動 IP アドレス指定を、Azure Stack HCI 22H2 のネットワーク ATC でデプロイできるようになりました。 詳細については、以下を参照してください:

自動修復を検証する

Network ATC を使用すると、デプロイされる構成がすべてのクラスター ノードで同じままになることが保証されます。 この省略可能なセクションでは、誤った構成変更をエミュレートする構成 (オーバーライドなし) を変更し、正しく構成されていないプロパティを修復することでシステムの信頼性がどのように向上するかを確認します。

  1. アダプターの既存の MTU (JumboPacket) 値を確認します。

    Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
    
  2. オーバーライドを指定せずに、物理アダプターの MTU の 1 つを変更します。 これは、誤った変更または "構成ドリフト" をエミュレートします。これは修復する必要があります。

    Set-NetAdapterAdvancedProperty -Name pNIC01 -RegistryKeyword *JumboPacket -RegistryValue 4088
    
  3. アダプターの既存の MTU (JumboPacket) 値が変更されていることを確認します。

    Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
    
  4. 構成を再試行します。 このステップは、修復を早めるためにのみ実行されます。 この構成は、Network ATC によって自動的に修復されます。

    Set-NetIntentRetryState -ClusterName HCI01 -Name Cluster_ComputeStorage -NodeName Node01
    
  5. 整合性チェックが完了したことを確認します。

    Get-NetIntentStatus -ClusterName HCI01 -Name Cluster_ComputeStorage
    
  6. アダプターの MTU (JumboPacket) 値が予期される値に戻っていることを確認します。

    Get-NetAdapterAdvancedProperty -Name pNIC01, pNIC02, vSMB* -RegistryKeyword *JumboPacket -Cimsession (Get-ClusterNode).Name
    

他の検証の例については、Network ATC のデモをご覧ください。

次のステップ