Windows10 1809や1903でIntel NICのチーミングをコマンド設定する方法

Windows10 1809や1903でIntel NICのチーミングをコマンド設定する方法

サーバマシンのWindows10をVer.1809にしてからIntel NICのチーミングが組めなくて困っていました。今回情報が増えてやり方が判明したので記しておきます。

事態はメインマシンでもWindows10のアップデートを促され、適用したら1903(1809でも一緒)にアップデートされてしまいチーミングNICが消失したところから。

ドライバをダウンロード

通常の通信だけなら、特にIntelからドライバを入れる必要はありません。
ただ、NICでチーミングを組みたい場合はこれまでも毎回ドライバ=Intel ANS(アドバンスド・ネットワーク・サービス)を更新する必要がありました。

ダウンロード インテル®Windows 用ネットワーク アダプタ ドライバ® 10

2019年8月7日現在の最新ドライバは24.1で1903に正式対応しています。

いざインストールしようとしたけれど、セットアップ中に「ファイルにアクセスできません」とエラーを吐いて止まります。
ファイルのハッシュまでチェックして問題無いのは確認したのに(後でわかったけどサーバマシンは大丈夫でした)

仕方ないので、セットアップを7zipで解凍し、それぞれ

  • NICドライバ:
    “.\PROWinx64\APPS\SETUP\SETUPBD\Winx64\SetupBD.exe”
  • Intel ANS:
    “.\PROWinx64\APPS\PROSETDX\Winx64\DxSetup.exe”

を実行してインストール。

とりあえずインストールは完了。でもやっぱりアダプタのプロパティから追加タブが消えてる!

チーミングはPowerShellですって

ダウンロードページに気になる一文を発見

現在、チーム構成と VLAN 構成は、インテル® PROSet for Windows PowerShell* ソフトウェアの コマンドレットを使用してのみサポートされています。これは Windows® 10 にのみ適用されます。

めんどくさい!!

それによるとまず以下のコマンドでANSの操作コマンドレットをインポート。

インテル®Windows PowerShell *ソフトウェア用の PROSet


インテル® PROSet for Windows PowerShellソフトウェア を使用するにはどうすればよいですか?

  1. スタートメニューから Windows powershell を開くか、 Win+R キーを押してpowershellと入力し、enter キーを押します。
  2. インポートモジュールコマンドレットを使用するには、モジュールのパスと名前を指定します。例えば:
    PS c:\> Import-Module -Name “C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets”

これをやると、同ページに書かれた各NIC操作コマンドが利用できるようになります。
アダプター単体に関しては同時にインストールされるGUIアプリ、”Intel PROSet Adapter Configuration Utility”と同じことができるみたい。

アダプタを確認する

コマンドインポート後、アダプターのリストを出してみます。

PS C:\WINDOWS\system32> Import-Module -Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets"
PS C:\WINDOWS\system32> Get-IntelNetAdapter

Location Name ConnectionName LinkStatus
-------- ---- -------------- ----------
0:31:6:0 Intel(R) Ethernet Connection (7) I219-V 1.00 Gbps ...
3:0:0:0 Realtek PCIe GBE Family Controller 1.00 Gbps ...

ちゃんと表示されました。
今のマザー、ASUS ROG STRIX H370-I GAMINGは2個目のNICが蟹ですがこれともチーミングが組めます。

作成コマンドがわからない

いざチーミング定義を作ろうとおもったけれど、そもそもコマンドがわからない

PS C:\WINDOWS\system32> New-IntelNetTeam

コマンド パイプライン位置 1 のコマンドレット New-IntelNetTeam
次のパラメーターに値を指定してください:
TeamMemberNames[0]: Intel(R) Ethernet Connection (7) I219-V
TeamMemberNames[1]: Realtek PCIe GBE Family Controller
TeamMemberNames[2]:
TeamMode: ?
TeamName:

TeamModeはこれまでロードバランシング=負荷分散して高速化を選んできたのでそれを入れたい。なんて入れれば??

Get-Helpでヘルプを見る

Intelのドキュメント等探したけど見つからず、色々やって「PowerShellのコマンドヘルプを見る」で解決しました。しかも-Fullオプションをつけて出てくる詳細版に書いてあるという。

PS C:\WINDOWS\system32> Get-help New-IntelNetTeam -Full

名前
New-IntelNetTeam

概要
新しいインテル(R) ANS チームを作成します。

構文
New-IntelNetTeam -TeamName <String> -TeamMemberNames <String[]> [-ProfileName <String>] [<CommonParameters>]

New-IntelNetTeam -TeamName <String> -TeamMembers <Adapter[]> [-ProfileName <String>] [<CommonParameters>]

説明
New-IntelNetTeam cmdlet は、1 つまたは複数のアダプターで構成される新しいインテル(R) ANS チームを作成します。チーム
はインテルアダプターとインテル以外のアダプターの両方を使用して構成できます。Get-IntelNetAdapter から取得されたアダ
プター・オブジェクトは、TeamMembers パラメーターを使用してこの cmdlet に渡すことができます。リスト表示でチームを表
示します。

注:Windows* 10 搭載のシステムでインテル(R) アドバンスト・ネットワーク・サービス (インテル(R) ANS) チームまたは VLA
N を作成するには、最新の Microsoft* Windows* 10 更新プログラムをインストールする必要があります。

パラメーター
-TeamName <String>
新しいインテル(R) ANS チームの名前を指定します。

必須 true
位置 named
既定値 null
パイプライン入力を許可する false
ワイルドカード文字を許可する false

-TeamMemberNames <String[]>
インテル(R) ANS チームに追加するアダプターの名前を指定します。

必須 true
位置 named
既定値 null
パイプライン入力を許可する false
ワイルドカード文字を許可する true

-TeamMembers <Adapter[]>
新しいインテル(R) ANS チームに追加するアダプター・オブジェクトのコレクションを指定します。

必須 true
位置 named
既定値 null
パイプライン入力を許可する true
ワイルドカード文字を許可する false

-TeamMode <String>
新しいチームのチーム化モードを指定します。使用できるチーム化モードには次が含まれます:

AdapterFaultTolerance

AdaptiveLoadBalancing

StaticLinkAggregation

IEEE802_3adDynamicLinkAggregation

SwitchFaultTolerance

VirtualMachineLoadBalancing

注:アダプターのチームによっては、サポートされないチーム化モードがあります。

必須 true
位置 named
既定値 null
パイプライン入力を許可する false
ワイルドカード文字を許可する false

-ProfileName <String>
プロファイルの名前を指定します。すべてのチームメンバーがプロファイルをサポートし、指定されたプロファイルをサポ
ートする必要があります。

使用可能なプロファイルには次が含まれます:

* StandardServer
* WebServer
* VirtualizationServer
* StorageServer
* Storage+VirtualizationServer
* LowLatency

必須 false
位置 named
既定値 null
パイプライン入力を許可する false
ワイルドカード文字を許可する false

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
OutBuffer, PipelineVariable、および OutVariable。詳細については、
about_CommonParameters (https://go.microsoft.com/fwlink/?LinkID=113216)
を参照してください。

入力
Adapter[]アダプター・オブジェクトのコレクション。

出力
TeamNew-IntelNetTeam は、新しく作成されたチームのインスタンスを返します。

失敗した場合、cmdlet は失敗を知らせるメッセージを返します。

------------------------ EXAMPLE 1 ------------------------

PS C:\> $Adapters = Get-IntelNetAdapter
PS C:\> New-IntelNetTeam –TeamName "Team A" –TeamMembers $Adapters[1,4,6] –TeamMode AdapterFaultTolerance

指定されたアダプターから AFT チームを作成します。

------------------------ EXAMPLE 2 ------------------------

PS C:\> $Adapters = Get-IntelNetAdapter
PS C:\> New-IntelNetTeam –TeamName "Team A" –TeamMemberNames $Adapters[1].Name, $Adapters[2].Name, $Adaptes[4].Name
–TeamMode AdaptiveLoadBalancing

指定されたアダプターから ALB チームを作成します。

関連するリンク
Get-IntelNetAdapter
Add-IntelNetTeamMember
Remove-IntelNetTeamMember
Remove-IntelNetTeam
Add-IntelNetVLAN
Set-IntelNetTeamSetting
Get-IntelNetTeamSetting

目的の文字列は中段にあり。

  • AdapterFaultTolerance:単純冗長化(フォールトトレランス)
  • AdaptiveLoadBalancing:アダプター主導のロードバランシング
  • StaticLinkAggregation:静的リンクアグリゲーション(LAG)

今回はAdaptiveLoadBalancingを使います。
LAGを組めるようなスイッチをお持ちの方はStaticLinkAggregationをどうぞ。

New-IntelNetTeam実行

ヘルプのように一行でも書けますが、面倒なので対話式で入力しました。
TeamMemberNamesは最初のGet-IntelNetAdapterコマンドレットで表示される、長ったらしいName全部をコピペで指定します。

PS C:\WINDOWS\system32> New-IntelNetTeam

コマンド パイプライン位置 1 のコマンドレット New-IntelNetTeam
次のパラメーターに値を指定してください:
TeamMemberNames[0]: Intel(R) Ethernet Connection (7) I219-V
TeamMemberNames[1]: Realtek PCIe GBE Family Controller
TeamMemberNames[2]:
TeamMode: AdaptiveLoadBalancing
TeamName: TeamNIC

TeamName : チーム: TeamNIC
TeamMembers : {Intel(R) Ethernet Connection (7) I219-V, Realtek PCIe GBE Family Controller}
TeamMode : AdaptiveLoadBalancing
PrimaryAdapter : Intel(R) Ethernet Connection (7) I219-V
SecondaryAdapter : NotSet

30秒位固まりかけて焦りましたが、無事作成されました。

上から3段目左が作成されたチーミングNICです。

コマンドでも確認

チームが作成されたことはコマンドでも確認できます。

PS C:\WINDOWS\system32> Get-IntelNetTeam

TeamName : チーム: TeamNIC
TeamMembers : {Intel(R) Ethernet Connection (7) I219-V, Realtek PCIe GBE Family Controller}
TeamMode : AdaptiveLoadBalancing
PrimaryAdapter : Intel(R) Ethernet Connection (7) I219-V
SecondaryAdapter : NotSet

PS C:\WINDOWS\system32> Get-IntelNetTeamSetting

TeamName: TeamNIC

DisplayName DisplayValue RegistryKeyword RegistryValue
----------- ------------ --------------- -------------
ローカル管理される... UserSelectedAddress
フェールバックを許... 有効 FailbackEnabled 1
プローブ 有効 ProbeEnabled 1
送信したプローブの... ブロードキャ... ProbePacketType 0
受信ロード・バラン... 有効 ReceiveLoadBalancing 1
ロード バランスの更... 10 BalanceInterval 10
確認頻度 (秒数) 1000 CheckTime 1000
プローブを送信する... 10 MaxNumProbeRetry 10
アクティブ化の遅延 0 STForwardDelay 0

PS C:\WINDOWS\system32>

やっと復旧終わり!
おつかれさまでした。

マルチギガNICが欲しい!10GbE スイッチが欲しい!!

スイッチはアップリンクのみ10G対応、というものが多いので10Gポートの数に注意が必要。

コメントを残す