本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Set-VMSwitchTeam」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、コンピュータ上で動作するHyper-Vの「スイッチ埋め込みチーミング」(Switch Embedded Teaming:SET)が有効化された仮想スイッチのSET関連の設定を変更する「Set-VMSwitchTeam」コマンドレットです。
仮想スイッチの物理ネットワーク接続の冗長化手法として「スイッチ埋め込みチーミング」が使用可能であることは、本連載第131回の「Get-VMSwitchTeam」コマンドレットで解説した通りです。
SETが有効化された仮想スイッチは、本連載第127回で紹介した「New-VMSwitch」コマンドレットを「-EnableEmbeddedTeaming」オプション付きで実行することで作成できますが、設定は既定値になります。既定値から設定を変更したい場合には、今回紹介するSet-VMSwitchTeamコマンドレットを使用します。
本コマンドレットの使用頻度は非常に低いと思われますが、いざ設定を変更する際に迷わないよう使用方法を押さえておきましょう。
【注】Set-VMSwitchTeamは「Windows PowerShell用Hyper-Vモジュール」に含まれるコマンドレットとなります。GUIの「Windowsの機能の有効化」や「役割と機能の追加」からHyper-Vを有効化するか、PowerShellから「Enable-WindowsOptionalFeature」コマンドレットを使用して有効化します。
オプション | 意味 |
---|---|
-Name | 設定を変更するSETが有効化された仮想スイッチの名前を指定する |
-ComputerName | リモートのHyper-VホストにあるSETが有効化された仮想スイッチの設定を変更する場合にコンピュータ名を指定する。省略可能 |
-LoadBalancingAlgorithm | 負荷分散アルゴリズムを変更する場合に指定する。指定可能な値は「Dynamic」と「HyperVPort」。省略可能 |
-NetAdapterName | SETを構成する物理ネットワークアダプターを変更する場合、ネットワークアダプター名を指定する。省略可能 |
-NetAdapterInterfaceDescription | SETを構成する物理ネットワークアダプターを変更する場合、物理ネットワークアダプターのデバイス名を指定する。省略可能 |
SETが有効化された仮想スイッチでは、複数の物理ネットワークアダプターを介して複数の物理スイッチと接続できます。
そのため、仮想マシンの通信を複数のネットワークアダプターでどのように分散するかを決める必要があり、それが「負荷分散アルゴリズム」です。負荷分散アルゴリズムに従って、仮想マシンから送信される通信パケットを矛盾なく物理ネットワークに送出することも、SETが有効化された仮想スイッチの機能の一つです。
この負荷分散アルゴリズムの既定値は、「Windows Server 2019」以降は「HyperVPort」、「Windows Server 2016」は「Dynamic」となっていますが、明示的に変更したい場合もあるでしょう。
その場合は、Set-VMSwitchTeamコマンドレットを「-LoadBalancingAlgorithm」オプションを付けて実行します(画面1)。なお、Set-VMSwitchTeamコマンドレットは管理者権限での実行が必要となります。
Set-VMSwitchTeam -Name "External TeamSwitch" -LoadBalancingAlgorithm Dynamic
画面1では、Set-VMSwitchTeamコマンドレットの実行前後で、第131回で紹介したGet-VMSwitchTeamコマンドレットを使用して負荷分散アルゴリズムを確認しています。実行前は「HyperVPort」だった負荷分散アルゴリズムが、Set-VMSwitchTeamコマンドレット実行後には「Dynamic」に変更されていることが分かります。
SETが有効化された仮想スイッチに接続されている物理ネットワークアダプターを変更したい場合も、Set-VMSwitchTeamコマンドレットで作業します。
「-NetAdapterName」オプションを使用する場合には、ネットワークアダプター名を指定して実行します。
なお、本コマンドレットではネットワークアダプターを指定したものに差し替える(変更する)動きとなり、既存のネットワークアダプターを使用しつつ、新しいネットワークアダプターを追加する動きにはならないので注意が必要です。
画面2は「-NetAdapterName」オプションを使用して、SETで使用するネットワークアダプターを「イーサネット 2」から「イーサネット 4」と「イーサネット 5」に変更しています。
Set-VMSwitchTeam -Name "External TeamSwitch" -NetAdapterName "イーサネット 4","イーサネット 5"
使用するネットワークアダプターを変更するという挙動のため、「イーサネット 2」のデバイス「Intel(R) PRO/1000 PT Dual Port Server Adapter」が削除され「イーサネット 4」のデバイス「Intel(R) Ethernet Network Adapter X722-2」と「イーサネット 5」のデバイス「Intel(R) Ethernet Network Adapter X722-2 #2」にネットワークアダプターが差し変わっていることが分かります。
ネットワークアダプターの変更は、「-NetAdapterInterfaceDescription」オプションでデバイス名を指定することでの変更も可能です(画面3)。しかし、コマンドレットのオプション指定が非常に長くなってしまうので、「-NetAdapterName」オプションの使用が無難でしょう。
Set-VMSwitchTeam -Name "External TeamSwitch" -NetAdapterInterfaceDescription "Intel(R) Ethernet Network Adapter X722-2","Intel(R) Ethernet Network Adapter X722-2 #2"
Set-VMSwitchTeamコマンドレットには、SETのチーミングモードを変更できる「-TeamingMode」というオプションも用意されています。
しかし、本稿執筆時点(2025年3月末)では、チーミングモードは「SwitchIndependent」しかサポートされておらず、このオプションで指定できる値は「SwitchIndependent」のみとなっています。したがって、このオプションは現時点では無視しても構いません。
Microsoft MVP for Cloud and Datacenter Management(2012-2025)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.