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にあげてみたところ、新しい仮想マシンハードウェアではサポートされないデバイスがあったようで起動できなくなりました・・・