【PowerCLI】PowerCLIでManagement Networkの名前変更を行う場合は注意しましょうというお話

どうも、Tです。

PowerCLIの「Set-VirtualPortGroup」を使って仮想マシンポートグループの名前変更を行ったところ奇妙な動作を確認したので備忘録になります。

ここでの結論

  • PowerCLIで仮想マシンポートグループの名前変更をするときは、ESXiホストを再起動して自動作成される仮想マシンポートグループを削除する。
  • Management Networkの名前変更をする場合は、オーバーライドの設定を必要に応じて再設定する。

環境

  • vCenter Server 7.0.2 18356314
  • ESXi 7.0.2 17867351
  • PowerCLI:12.4.1

現象

今回は検証の確認として、Management Networkの名前変更を行いました。vSphere Client上からManagement Networkの名前変更を行った場合は発生しない事象として下記2点があります。

  1. Management Networkのチーミング・ファイルオーバーのオーバーライド設定が自動的に外れる
  2. ESXiホストを再起動するとManagement Networkポートグループが自動的に再作成される

現象の流れ

デフォルト状態

まずESXiインストール直後のデフォルト状態では、下記のように管理VMKernel用の「Management Network」と「VM Network」が作成されています。

また、Managemet Networkポートグループは、デフォルト状態でチーミング・フェイルオーバーのオーバーライドにチェックが入っています。

PowerCLIで仮想マシンポートグループを取得しても上記と同じように「Management Network」と「VM Network」が存在している状態です。

 PS C:\Windows\system32> Get-VirtualPortGroup -VMHost 'testesxi004.testdev.lab' -VirtualSwitch 'vSwitch0' | Format-Table -AutoSize -Wrap
Name Key VLanId PortBinding NumPorts
---- --- ------ ----------- --------
VM Network key-vim.host.PortGroup-VM Network 0
Management Network key-vim.host.PortGroup-Management Network 0

Management Network名前変更

「Set-VirtualPortGroup」コマンドレットを使って「Management Network」の名前を変更します。

PS C:\Windows\system32> $CurVssPg = Get-VirtualPortGroup -VMHost 'testesxi004.testdev.lab' -VirtualSwitch 'vSwitch0' -Name 'Management Network'
PS C:\Windows\system32> Set-VirtualPortGroup -VirtualPortGroup $CurVssPg -Name "Management Newtork_Rename"

PowerCLIから確認すると名前が変わっています。

PS C:\Windows\system32> Get-VirtualPortGroup -VMHost 'testesxi004.testdev.lab' -VirtualSwitch 'vSwitch0' | Format-Table -AutoSize -Wrap
Name Key VLanId PortBinding NumPorts
---- --- ------ ----------- --------
VM Network key-vim.host.PortGroup-VM Network 0
Management Newtork_Rename key-vim.host.PortGroup-Management Newtork_Rename 0

vSphere Client上でもポートグループの名前が変更されています。

ここで1つ目の驚くべき点として、チーミング・フェイルオーバーのオーバーライド設定が消えています。

ESXiホストを再起動します。

ESXiホスト再起動の状態

再起動後に見ると「Management Network」ポートグループが自動で作成されていました。

PS C:\Windows\system32> Get-VirtualPortGroup -VMHost 'testesxi004.testdev.lab' -VirtualSwitch 'vSwitch0' | Format-Table -AutoSize -Wrap
Name Key VLanId PortBinding NumPorts
---- --- ------ ----------- --------
VM Network key-vim.host.PortGroup-VM Network 0
Management Network key-vim.host.PortGroup-Management Network 0
Management Newtork_Rename key-vim.host.PortGroup-Management Newtork_Rename 0

vSphere Client上から見ても「Management Network」が自動作成されています。VMkernelは名前変更を行った方のポートグループが使われています。

この自動作成されて「Management Network」のチーミング・フェイルオーバーを見ると「オーバーライド」が有効な状態です。

削除する

自動で作成されたManagement Networkを削除します。

$DelVssPg = Get-VirtualPortGroup -VMhost 'testesxi004.testdev.lab' -VirtualSwitch 'vSwitch0' -Name 'Management Network'
Remove-VirtualPortGroup -VirtualPortGroup $DelVssPg

vSphere Client上からみても削除されています。

ESXiホストを再起動します。

ESXiホスト再起動の状態

削除後に再起動しても、Management Networkポートグループは再起動されませんでした。

ちなみに

仮想マシンポートグループの名前変更をPowerCLIで行うと、変更後のESXiホスト再起動時に変更前の仮想マシンポートグループが再作成される現象は、Management Network以外でも発生します。

下記流れで実施した画像が下図になります。

  1. 「仮想マシン ネットワーク」ポートグループを作成
  2. 「仮想マシン ネットワーク」を「仮想マシン ネットワーク1」に名前変更
  3. ESXiホストを再起動

「仮想マシン ネットワーク」ポートグループが再作成されています。

なお、この現象は、名前変更以外のVLANIDの変更などでは発生していません。

また、Management以外のVMkernelがあるポートグループの名前変更を行うとオーバーライド設定が無効になります。

まとめ

ESXiホストの状態がメンテナスモード如何にかかわらず再現しているので、別の問題があるかもしれません。

現在のところ、原因不明です・・・・。

本番稼働後に、仮想マシンポートグループ名を変更することはそうそうないと思いますが、PowerCLIから仮想マシンポートグループ名も変更する場合は気を付けましょう。

ESXiホストを再起動しないと気づけないので、無駄に悩んでました・・・・。