チェックサムの不一致で OVF テンプレートのデプロイに失敗する

最終更新日

はじめに

NSX Manager のデプロイの際に OVF テンプレートのデプロイに失敗してはまったので、解決策をご紹介します。

同じ現象に合われている方で、参考になれば幸いです。

エラーについて

タスクを確認してみると以下のようなエラーがでていました。

「OVF パッケージのデプロイに失敗しました。 ThrowableProxy.cause 指定されたパラメータが正しくありません: 指定されたマニフェストのチェックサムが nsx-unified-appliance.vmdk ファイルの内容と一致しません。」

ブラウザ変えたり、FQDNでアクセスして再実行したり、他の記事で紹介されていることは一通り試しましたがだめでした。

エラー内容を理解する

エラーのキーワードであるチェックサムとはファイルの「同一性」を確認するために利用するものです。

SHA-256 などのハッシュ関数からハッシュ値を算出し、それをチェックサムとしてもとのファイルデータのものと正しいか比較するような使い方をします。

たとえば Windows の場合 CertUtil -hashfile <ファイル名> SHA256 でチェックサムを確認できます。

PS C:\Users\Administrator\Downloads> CertUtil -hashfile .\embedded_vCSA_on_ESXi.json SHA256
SHA256 ハッシュ (対象 .\embedded_vCSA_on_ESXi.json):
e3b19269769e0549732be8be85a19bcc119da73087c184a4edc8bb87f0062dc2
CertUtil: -hashfile コマンドは正常に完了しました。

エラーの内容からすると、なんらかの原因でマニフェストファイルにあるチェックサムの値とVMDKのファイルのチェックサム値が一致しなくなってしまったと考えられます。

例えばデータストアブラウザを使用してコンピュータから vSphere ストレージに VMDK ファイルをアップロードするときに、MD5 チェックサムが変更されてしまうそうです。(今回はそんなことしてないのですが、、)

解決策

NSX Manager の場合は OVA 形式で提供されているので、一旦 OVA を展開します。

7zip などのツールを利用して展開が可能です。

展開すると、vmdkファイル、Certファイル、MFファイル、OVFファイルから構成されていることが分かります。

問題となっているのはおそらく MF ファイルでこのファイルには各ファイルのハッシュ値が記載されています。

SHA1(nsx-unified-appliance-3.2.0.0.0.19067081.ovf)= 56b870e0f6bb630f2d84e2c99faab630014a83ec
SHA1(nsx-unified-appliance.vmdk)= 016c428f179fd06ea6937aeecc633e9fd2a4f5fc
SHA1(nsx-unified-appliance-secondary.vmdk)= 2c7ca4909e1295718ae1bee9c9b6a9dd0d06546f

2つめのハッシュ値が実際のファイルから計算されたものと異なっているので、こちらを SHA1 で再計算して修正すれば問題なくデプロイできるのかなと思います。

一方でこのマニフェストファイルなしでもデプロイできるようなので、今回はその方針で試してみます。

OVF テンプレートのデプロイから、MFファイル以外を指定して進めます。

これで、無事デプロイできました!

この記事の内容は以上です。ご覧いただきありがとうございました。

参考

https://kb.vmware.com/s/article/2117310?lang=ja