下記のページを見てESXiのバックアップとリストアの検証を行っております。
バックアップは問題なく実施出来たのですが、
リストア時は以下のエラーが出力され失敗してしまいます。
PS C:\WINDOWS\system32> Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\configBundle-192.168.2.231.
tgz -HostUser root -HostPassword password
Set-VMHostFirmware : 2019/04/01 18:32:53 Set-VMHostFirmware The operation is not allowed in the current state.
発生場所 行:1 文字:1
+ Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-VMHostFirmware], InvalidState
+ FullyQualifiedErrorId : Client20_SystemManagementServiceImpl_RestoreVmHostFirmware_ViError,VMware.VimAutomation.
ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
VMHost UploadUrl
------ ---------
192.168.2.231 http://192.168.2.231/tmp/configBundle.tgz
PS C:\WINDOWS\system32>
※メンテナンスモードの状態です。
アドバイスを頂けないでしょうか。
リストア直後の動作としてESXiの再起動が走るので、「接続が切断されました」と出るのは実行直後にESXiが切断されるためと思われます。
※ 同じくNested の環境で試しましたが、出るときと出ない時がありましたが、どちらも設定はリストアされています。
恐らく、-Force オプション付けて直後に実施した際はESXiが再起動中で接続でサービスが立ち上がってなかったので、「メッセージを受信できる https://192.168.2.231/sdk でリッスンしているエンドポイントがありませんでした。」とメッセージが出たのかと思われます。
※ ESXiインストール直後にバックアップを取り、その後NTPの設定を有効化した環境で試しました。
▼事前確認 (NTP設定が有効化されている事を確認)
PS C:\Users\Administrator> Connect-VIServer -Server $esxi -Credential $cre -Force
Name Port User
---- ---- ----
nesteesxi0 443 root
PS C:\Users\Administrator> Get-VMhost | Get-VmHostService | Where-Object {$_.key -eq "ntpd"}
Key Label Policy Running Required
--- ----- ------ ------- --------
ntpd NTP Daemon automatic True False
▼ リストア実行 (-Force オプションは無しで実行。即再起動され、切断メッセージを確認)
PS C:\Users\Administrator> Set-VMHostFirmware -Restore -SourcePath .\Downloads\configBundle-nesteesxi0.tgz -VMHost $esxi -HostCredential $cre
Set-VMHostFirmware : 2019/04/04 16:38:19 Set-VMHostFirmware 接続が切断されました: 維持される必要があった接続が、サーバーによって切断されました。
発生場所 行:1 文字:1
+ Set-VMHostFirmware -Restore -SourcePath .\Downloads\configBundle-172. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-VMHostFirmware], ViError
+ FullyQualifiedErrorId : Client20_SystemManagementServiceImpl_RestoreVmHostFirmware_ViError,VMware.VimAutomation.
ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
VMHost UploadUrl
------ ---------
nesteesxi0 http://nesteesxi0/tmp/configBundle.tgz
▼再起動後にNTP設定を確認(設定がデフォルトの無効に戻っています)
PS C:\Users\Administrator> Connect-VIServer -Server nesteesxi0 -Credential $cre -Force
Name Port User
---- ---- ----
nesteesxi0 443 root
PS C:\Users\Administrator> Get-VMhost | Get-VmHostService | Where-Object {$_.key -eq "ntpd"}
Key Label Policy Running Required
--- ----- ------ ------- --------
ntpd NTP Daemon off False False
リストア実行前後で、設定の変更差分を確認してみると動作の成功が確認できるかと思います。
ESXi の DCUI 画面を開いて確認しながらリストアすると再起動の動作などが分かるので良いかと思います。
事象を再現確認したわけではないのですが、
確認点としては以下が思いつきます。
・バックアップ時の ESXi の バージョン(Build Number)と、現在リストアするときの ESXi の Build Number は一致しているか?
・同じハードウェア構成のままか?
・PowerCLI のバージョンは最新か? ※ ESXi のバージョンをサポートする PowerCLI バージョンか?
いかがでしょうか?
ご回答頂きありがとうございます。
>>・バックアップ時の ESXi の バージョン(Build Number)と、現在リストアするときの ESXi の Build Number は一致しているか?
⇒ESXiからバックアップを取得し、数分後に同一のESXiにリストアを試みているため、
完全に同一になります。
>>・同じハードウェア構成のままか?
⇒検証用のため、仮想ハードウェア13の仮想マシンであり、
ハードウェア構成も変更しておりません。
>>・PowerCLI のバージョンは最新か? ※ ESXi のバージョンをサポートする PowerCLI バージョンか?
⇒最新ではないですが、新しい「11.1.0.11289667」を利用しております。
ESXiも6.5U2のため対応しているかと思います。
リストアする条件として、
上記やメンテナンスモードにする以外に前提となることはあるのでしょうか。
⇒検証用のため、仮想ハードウェア13の仮想マシンであり、
ハードウェア構成も変更しておりません。
試している対象は Nested の ESXi という事でよろしいでしょうか。
試しに、リストア時に -force オプションを付けて実行してみると変化ありますか?
こんにちは。
あと、もしESXi再起動が未実施でしたら、一度再起動してからリストアしてみると良いかもしれません。
もしかしたら、何かの設定変更が再起動で保留されているのかもしれないと思いました。
ご回答ありがとうございます。
まとめて返信させてください。
以下の順番で実施してみました。
※ESXiはネスト環境になります。
・仮想マシンのESXiの再起動
・仮想マシンのESXiのメンテナンスモード
・再実行
・Forceを付けての再実行
以下のようにForceを付けた場合はエラーがかわりました。
PS C:\WINDOWS\system32> Set-VMHost -VMHost 192.168.2.231 -State 'Maintenance'
Name ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz MemoryUsageGB MemoryTotalGB Version
---- --------------- ---------- ------ ----------- ----------- ------------- ------------- -------
192.168.2.231 Maintenance PoweredOn 8 361 16760 1.590 11.999 6.5.0
PS C:\WINDOWS\system32> Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\configBundle-192.168.2.231.tgz -HostUser root -HostPassword password
Set-VMHostFirmware : 2019/04/03 15:02:07 Set-VMHostFirmware 接続が切断されました: 維持される必要があった接続が、サーバーによって切断されました。
発生場所 行:1 文字:1
+ Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-VMHostFirmware], ViError
+ FullyQualifiedErrorId : Client20_SystemManagementServiceImpl_RestoreVmHostFirmware_ViError,VMware.VimAutomation.ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
VMHost UploadUrl
------ ---------
192.168.2.231 http://192.168.2.231/tmp/configBundle.tgz
PS C:\WINDOWS\system32> Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\configBundle-192.168.2.231.tgz -HostUser root -HostPassword password -force
Set-VMHostFirmware : 2019/04/03 15:02:45 Set-VMHostFirmware メッセージを受信できる https://192.168.2.231/sdk でリッスンしているエンドポイントがありませんでした。これは一般 に、アドレスまたは
SOAP アクションが正しくない場合に発生します。詳細については、InnerException を参照してください (ある場合)。
発生場所 行:1 文字:1
+ Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-VMHostFirmware], ViError
+ FullyQualifiedErrorId : Client20_QueryServiceImpl_RetrievePropertiesEx_ViError,VMware.VimAutomation.ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
Set-VMHostFirmware : 2019/04/03 15:02:45 Set-VMHostFirmware Could not find VMHost with name '192.168.2.231'.
発生場所 行:1 文字:1
+ Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (192.168.2.231:String) [Set-VMHostFirmware], VimException
+ FullyQualifiedErrorId : Core_ObnSelector_SelectObjectByNameCore_ObjectNotFound,VMware.VimAutomation.ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
Set-VMHostFirmware : 2019/04/03 15:02:45 Set-VMHostFirmware Value cannot be found for the mandatory parameter VMHost
発生場所 行:1 文字:1
+ Set-VMHostFirmware -VMHost 192.168.2.231 -Restore -SourcePath C:\Log\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-VMHostFirmware], VimException
+ FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
PS C:\WINDOWS\system32> ping 192.168.2.231
192.168.2.231 に ping を送信しています 32 バイトのデータ:
192.168.2.231 からの応答: バイト数 =32 時間 =2ms TTL=63
192.168.2.231 からの応答: バイト数 =32 時間 <1ms TTL=63
192.168.2.231 の ping 統計:
パケット数: 送信 = 2、受信 = 2、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 2ms、平均 = 1ms
Ctrl+C
PS C:\WINDOWS\system32>
リストア直後の動作としてESXiの再起動が走るので、「接続が切断されました」と出るのは実行直後にESXiが切断されるためと思われます。
※ 同じくNested の環境で試しましたが、出るときと出ない時がありましたが、どちらも設定はリストアされています。
恐らく、-Force オプション付けて直後に実施した際はESXiが再起動中で接続でサービスが立ち上がってなかったので、「メッセージを受信できる https://192.168.2.231/sdk でリッスンしているエンドポイントがありませんでした。」とメッセージが出たのかと思われます。
※ ESXiインストール直後にバックアップを取り、その後NTPの設定を有効化した環境で試しました。
▼事前確認 (NTP設定が有効化されている事を確認)
PS C:\Users\Administrator> Connect-VIServer -Server $esxi -Credential $cre -Force
Name Port User
---- ---- ----
nesteesxi0 443 root
PS C:\Users\Administrator> Get-VMhost | Get-VmHostService | Where-Object {$_.key -eq "ntpd"}
Key Label Policy Running Required
--- ----- ------ ------- --------
ntpd NTP Daemon automatic True False
▼ リストア実行 (-Force オプションは無しで実行。即再起動され、切断メッセージを確認)
PS C:\Users\Administrator> Set-VMHostFirmware -Restore -SourcePath .\Downloads\configBundle-nesteesxi0.tgz -VMHost $esxi -HostCredential $cre
Set-VMHostFirmware : 2019/04/04 16:38:19 Set-VMHostFirmware 接続が切断されました: 維持される必要があった接続が、サーバーによって切断されました。
発生場所 行:1 文字:1
+ Set-VMHostFirmware -Restore -SourcePath .\Downloads\configBundle-172. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Set-VMHostFirmware], ViError
+ FullyQualifiedErrorId : Client20_SystemManagementServiceImpl_RestoreVmHostFirmware_ViError,VMware.VimAutomation.
ViCore.Cmdlets.Commands.Host.SetVMHostFirmware
VMHost UploadUrl
------ ---------
nesteesxi0 http://nesteesxi0/tmp/configBundle.tgz
▼再起動後にNTP設定を確認(設定がデフォルトの無効に戻っています)
PS C:\Users\Administrator> Connect-VIServer -Server nesteesxi0 -Credential $cre -Force
Name Port User
---- ---- ----
nesteesxi0 443 root
PS C:\Users\Administrator> Get-VMhost | Get-VmHostService | Where-Object {$_.key -eq "ntpd"}
Key Label Policy Running Required
--- ----- ------ ------- --------
ntpd NTP Daemon off False False
リストア実行前後で、設定の変更差分を確認してみると動作の成功が確認できるかと思います。
ESXi の DCUI 画面を開いて確認しながらリストアすると再起動の動作などが分かるので良いかと思います。
検証して頂きありがとうございます。
kawaman様の記載の通り、
コマンド自体はエラーになりますが、設定情報はリストアされておりました。
以下のようなエラーが出力されることは、仕様であると理解します。
「 接続が切断されました: 維持される必要があった接続が、サーバーによって切断されました。」
ありがとうございました。