サーバマシンの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ソフトウェア を使用するにはどうすればよいですか?
- スタートメニューから Windows powershell を開くか、 Win+R キーを押してpowershellと入力し、enter キーを押します。
- インポートモジュールコマンドレットを使用するには、モジュールのパスと名前を指定します。例えば:
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ポートの数に注意が必要。