VMware Global Community
nitta0814
Enthusiast
Enthusiast
Jump to solution

PowerCLIを使用したESXiのリストアについて

下記のページを見てESXiのバックアップとリストアの検証を行っております。

VMware Knowledge Base

バックアップは問題なく実施出来たのですが、

リストア時は以下のエラーが出力され失敗してしまいます。

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>

※メンテナンスモードの状態です。

アドバイスを頂けないでしょうか。

Reply
0 Kudos
1 Solution

Accepted Solutions
kawaman
Leadership
Leadership
Jump to solution

リストア直後の動作として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 画面を開いて確認しながらリストアすると再起動の動作などが分かるので良いかと思います。

View solution in original post

Reply
0 Kudos
7 Replies
kawaman
Leadership
Leadership
Jump to solution

事象を再現確認したわけではないのですが、

確認点としては以下が思いつきます。

・バックアップ時の ESXi の バージョン(Build Number)と、現在リストアするときの ESXi の Build Number は一致しているか?

・同じハードウェア構成のままか?

・PowerCLI のバージョンは最新か? ※ ESXi のバージョンをサポートする PowerCLI バージョンか?

いかがでしょうか?

Reply
0 Kudos
nitta0814
Enthusiast
Enthusiast
Jump to solution

ご回答頂きありがとうございます。

>>・バックアップ時の ESXi の バージョン(Build Number)と、現在リストアするときの ESXi の Build Number は一致しているか?

 ⇒ESXiからバックアップを取得し、数分後に同一のESXiにリストアを試みているため、

  完全に同一になります。

>>・同じハードウェア構成のままか?

 ⇒検証用のため、仮想ハードウェア13の仮想マシンであり、

  ハードウェア構成も変更しておりません。

>>・PowerCLI のバージョンは最新か? ※ ESXi のバージョンをサポートする PowerCLI バージョンか?

 ⇒最新ではないですが、新しい「11.1.0.11289667」を利用しております。

  ESXiも6.5U2のため対応しているかと思います。

リストアする条件として、

上記やメンテナンスモードにする以外に前提となることはあるのでしょうか。

Reply
0 Kudos
kawaman
Leadership
Leadership
Jump to solution

⇒検証用のため、仮想ハードウェア13の仮想マシンであり、

  ハードウェア構成も変更しておりません。

試している対象は Nested の ESXi という事でよろしいでしょうか。

試しに、リストア時に -force オプションを付けて実行してみると変化ありますか?

Reply
0 Kudos
gowatana
Leadership
Leadership
Jump to solution

こんにちは。

あと、もしESXi再起動が未実施でしたら、一度再起動してからリストアしてみると良いかもしれません。

もしかしたら、何かの設定変更が再起動で保留されているのかもしれないと思いました。

Reply
0 Kudos
nitta0814
Enthusiast
Enthusiast
Jump to solution

ご回答ありがとうございます。

まとめて返信させてください。

以下の順番で実施してみました。

※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>

Reply
0 Kudos
kawaman
Leadership
Leadership
Jump to solution

リストア直後の動作として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 画面を開いて確認しながらリストアすると再起動の動作などが分かるので良いかと思います。

Reply
0 Kudos
nitta0814
Enthusiast
Enthusiast
Jump to solution

検証して頂きありがとうございます。

kawaman様の記載の通り、

コマンド自体はエラーになりますが、設定情報はリストアされておりました。

以下のようなエラーが出力されることは、仕様であると理解します。

接続が切断されました: 維持される必要があった接続が、サーバーによって切断されました。

ありがとうございました。

Reply
0 Kudos