NICチーミングの設定と冗長化設計

概要

本記事では、Windows Server環境でのNICチーミング構成手順と冗長化設計の要点を解説します。LBFO(Load Balancing and Failover)を用いたSwitch Independentモード+Dynamic負荷分散の構築、フェイルオーバーテスト手順、ログ監視を解説します。

変数表記について

本記事で使用する環境依存の値は以下のように表記します。実際の環境に合わせて読み替えてください。

変数名 設定例 説明
<<TEAM_NAME>> Team01 チーム構成名
<<ADAPTER1>> Ethernet1 使用する物理NIC 1
<<ADAPTER2>> Ethernet2 使用する物理NIC 2
<<TEAM_NIC>> TeamedNIC 仮想チームインターフェース名
<<STATIC_IP>> 192.168.10.100 設定する固定IPアドレス
<<PREFIX_LENGTH>> 24 サブネットのプレフィックス長
<<GATEWAY>> 192.168.10.1 デフォルトゲートウェイ
<<DNS_SERVER>> 192.168.10.10 DNSサーバーのアドレス

Step 1: NIC構成の確認

チーミングに使用する物理NICの状態を確認します。速度・メーカー・ドライババージョンは統一することが推奨されます。

# 利用可能なNIC一覧を取得
Get-NetAdapter | Select-Object Name, Status, LinkSpeed, InterfaceDescription, MacAddress

出力結果で、StatusUp のアダプターが対象です。


Step 2: チームの作成(LBFO構成)

ロードバランシングアルゴリズム比較(LBFO全モード共通)

アルゴリズム名 対応モード 特徴 主な用途
AddressHash Switch Independent / Static / LACP 送信元・宛先IPやポートのハッシュを使用して分散 汎用サーバー通信に適用
HyperVPort Switch Independent / LACP 各VMまたは仮想NICごとに分散、受信負荷も均等化 Hyper-V仮想環境向け
Dynamic Switch Independent / LACP 送信はハッシュ、受信はアダプター利用率に応じて動的調整 最新環境の既定で推奨
TransportPorts Switch Independent TCP/UDPポート単位で分散制御 高トラフィックアプリケーション
IPAddresses Switch Independent IPペア単位でハッシュ生成 IP固定構成での最適化
MACAddresses Static / LACP MACアドレス単位で単純な分散 旧世代スイッチや固定構成

Switch Independentモード(スイッチ設定不要)+Dynamic負荷分散(双方向ロードバランス)でチームを構築します。

# チーミングの作成
New-NetLbfoTeam `
  -Name "<<TEAM_NAME>>" `
  -TeamMembers "<<ADAPTER1>>","<<ADAPTER2>>" `
  -TeamingMode SwitchIndependent `
  -LoadBalancingAlgorithm Dynamic `
  -TeamNicName "<<TEAM_NIC>>"

確認コマンド:

Get-NetLbfoTeam | Format-Table Name, TeamingMode, LoadBalancingAlgorithm, Status

Step 3: チームインターフェース設定

作成したチームNICにIPv4設定を行います。IPv6環境の場合は -AddressFamily IPv6 を追加してください。

# IPアドレス設定
New-NetIPAddress -InterfaceAlias "<<TEAM_NIC>>" -IPAddress "<<STATIC_IP>>" -PrefixLength <<PREFIX_LENGTH>> -DefaultGateway "<<GATEWAY>>"

# DNS設定
Set-DnsClientServerAddress -InterfaceAlias "<<TEAM_NIC>>" -ServerAddresses "<<DNS_SERVER>>"

設定確認:

Get-NetIPAddress -InterfaceAlias "<<TEAM_NIC>>"
Get-DnsClientServerAddress -InterfaceAlias "<<TEAM_NIC>>"

Step 4: チーム状態の確認

構成されたチームメンバーの状態を検証します。

# チームメンバー状態確認
Get-NetLbfoTeamMember -Team "<<TEAM_NAME>>"

すべてのメンバーが Active 状態であれば正常です。異常時はケーブル接続・スイッチポート設定を確認します。


Step 5: フェイルオーバーテスト

冗長性が機能しているかを確認します。

  1. <<ADAPTER1>> のケーブルを抜く、またはNICを無効化
# アダプター無効化
Disable-NetAdapter -Name "<<ADAPTER1>>" -Confirm:$false
  1. 状態を確認
Get-NetLbfoTeamMember -Team "<<TEAM_NAME>>"

# 確認後アダプター有効化
Enable-NetAdapter -Name "<<ADAPTER1>>"

<<ADAPTER1>>Inactive<<ADAPTER2>>Active のまま通信が維持されればフェイルオーバー成功です。
逆の手順でも同様に確認します。


Step 6: イベントログと監視

NICチーミングに関連するイベントは以下のログに記録されます。

# LBFO関連イベント確認
Get-WinEvent -LogName "Microsoft-Windows-MsLbfoProvider/Operational" -MaxEvents 20 |
  Select-Object TimeCreated, Id, LevelDisplayName, Message

また、システムログのLBFOイベントプロバイダーも監視対象としてください。

Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-MsLbfoSysEvtProvider'} -MaxEvents 20 |
  Select-Object TimeCreated, Id, LevelDisplayName, Message

Step 7: チーミング設定変更・削除

構成変更や削除は以下のコマンドで行います。

# アルゴリズム変更(例:Hyper-Vポート)
Set-NetLbfoTeam -Name "<<TEAM_NAME>>" -LoadBalancingAlgorithm HyperVPort

# チーム削除
Remove-NetLbfoTeam -Name "<<TEAM_NAME>>"

削除後は各NICに個別のIP構成を再設定します。


Step 8: 冗長化設計の考慮事項

構成タイプ 特徴 推奨用途
Switch Independent + Dynamic スイッチ設定不要・双方向分散 汎用サーバー/小規模構成
LACP スイッチ側でLAG設定が必要・帯域効率高 ネットワーク装置がLACP対応している環境
Active/Standby 片側待機による明確な冗長構成 ネットワーク安定性を重視する環境

仮想環境ではLBFOは非推奨(deprecated)扱いとなり、SET(Switch Embedded Teaming)への移行が推奨されています。


まとめ

LBFOによるNICチーミングは、シンプルながら高い冗長性と負荷分散を提供します。
Switch Independentモード+Dynamic構成は特に運用しやすく、小規模~中規模の物理サーバー環境に最適です。
運用中は、イベントログ監視と定期フェイルオーバーテストを継続的に行い、安定稼働を確保してください。
Hyper-VやSDN向けにはSET構成が推奨されます。