ESXi5.1にアップデートした後、NetApp simulatorがなぜか起動しない。
以下のエラーが出力される。
ディスク「/vmfs/volumes/~/~/DataONTAP.vmdk」、またはディスク「/vmfs/volumes/~/~/DataONTAP.vmdk」が依存しているスナップショット ディスクの 1 つを開くことができません。 システムで指定されたファイルを見つかりません VMware ESX は仮想ディスク「/vmfs/volumes/~/~/DataONTAP.vmdk」を検出できません。パスが有効であることを確認し、もう一度やり直してください。
これに対する回答がNetApp comminityにあった。
「OnTap Simulator 8.1.1 no longer running on ESXi 5.1 free」
原因はESXi5.1以降、標準ではvmkernel multiextent moduleが読み込まれなくなったため。
このモジュールは、巨大な1つのvmdkではなく、そこそこの大きさの複数のファイルでvmdkを構成するときに使うもの。
対処方法はVMware KB:「 Powering on a virtual machine after upgrading to ESXi 5.1 fails with the error: File [VMFS volume] VM-name/VM-name.vmdk was not found」にあるとおりのことをする。
概要: multiextentモジュールを読み込んで、分割形式のvmdkから、単一ファイルのvmdkへ変換する。
2019/12/04 追記:ESXi 6.7ではmultiextentモジュールが無くなっているが、vmkfstoolコマンド自体に機能が追加されており、下記のその2の操作が不要となりました。
その1:状況確認
# ls DataONTAP-cf-flat.vmdk DataONTAP-s012.vmdk DataONTAP.vmdk DataONTAP-cf.vmdk DataONTAP-s013.vmdk DataONTAP.vmsd DataONTAP-s001.vmdk DataONTAP-s014.vmdk DataONTAP.vmx DataONTAP-s002.vmdk DataONTAP-s015.vmdk DataONTAP.vmxf DataONTAP-s003.vmdk DataONTAP-s016.vmdk SimConsType DataONTAP-s004.vmdk DataONTAP-s017.vmdk SimUpdateParameters DataONTAP-s005.vmdk DataONTAP-s018.vmdk cfcard DataONTAP-s006.vmdk DataONTAP-s019.vmdk mtoolsrc DataONTAP-s007.vmdk DataONTAP-s020.vmdk nvram DataONTAP-s008.vmdk DataONTAP-s021.vmdk vmware-1.log DataONTAP-s009.vmdk DataONTAP-s022.vmdk vmware-2.log DataONTAP-s010.vmdk DataONTAP-s023.vmdk vmware.log DataONTAP-s011.vmdk DataONTAP-s024.vmdk #
その2: multiextentモジュール読み込み
この手順はvSphere 6.5とか6.7では不要です。
# vmkload_mod multiextent Module multiextent loaded successfully #
その3: 分割vmdkのDataONTAP.vmdkを、単一vmdkのDataONTAP-new.vmdkにコピー
下記はzerodthickにしていますが「thin」指定など他のフォーマットでも大丈夫です。
# vmkfstools -i DataONTAP.vmdk DataONTAP-new.vmdk -d zeroedthick Destination disk format: VMFS zeroedthick Cloning disk 'DataONTAP.vmdk'... Clone: 100% done. #
その4: DataONTAP.vmdkを削除
# vmkfstools -U DataONTAP.vmdk #
その5: ファイル名の変更
# vmkfstools -E DataONTAP-new.vmdk DataONTAP.vmdk #
その6: multiextentモジュールの読み込み解除
この手順はvSphere 6.5とか6.7では不要です。
# vmkload_mod -u multiextent Module multiextent successfully unloaded #
その7: 状況確認
# ls DataONTAP-cf-flat.vmdk DataONTAP.vmxf vmware-1.log DataONTAP-cf.vmdk SimConsType vmware-2.log DataONTAP-flat.vmdk SimUpdateParameters vmware-3.log DataONTAP.vmdk cfcard vmware.log DataONTAP.vmsd mtoolsrc DataONTAP.vmx nvram #
変換完了後、普通に起動できました。
なお、変換後、ついでに仮想マシンハードウェアバージョンを7から上げるか!と13にあげてみたところ、新しい仮想マシンハードウェアではサポートされないデバイスがあったようで起動できなくなりました・・・