プライベートクラウドを構築してOracle RAC 12c環境ように共有ディスクを作成しようと以下のコマンドを実施。
しかし、タイトルのエラーが返ってきて作成出来ませんでした。
対策は意外と簡単に見つかったので書いていきたいと思います。
ESXは6.5を評価ライセンスで使用しています。
原因はフルパスだったから
実施したコマンドは以下。
「VM 仮想ディスク コマンド」なんて検索すればたくさん出てくるコマンド例です。
# vmkfstools -d eagerzeroedthick -c 40G /vmfs/volumes/share_disk1/rac_share_disk/share01.vmdk
返ってきたメッセージは以下。
Creating disk '/vmfs/volumes/share_disk1/rac_share_disk/share02.vmdk' and zeroing it out... DISKLIB-LIB_SIZE : Unable to get file system ID for filename "/vmfs/volumes/share_disk1/rac_share_disk/share02-flat.vmdk" Failed to create virtual disk: The destination file system does not support large files (12).
内容だけを見ると、ファイルサイズが大きくてサポートしていません。ですね。
まぁ実際の所、GUIから仮想ディスクの追加を実行すると実行できているので、サポート外ではないっていうのは分かり切っている話です。
GUIだと複数ディスクの作成に繰り替えし操作が必要なので、出来ればコマンドで実施したい。
そこで、エラー2行目の内容に注目してディレクトリを移動してみました。
# cd /vmfs/datastore1/rac_share_disk
移動した後に再度コマンドを実行。
# vmkfstools -d eagerzeroedthick -c 40G ./share02.vmdk Creating disk './share02.vmdk' and zeroing it out... Create: 18% done.
おいおい、普通に作成が始まったではありませんか。。
Unixで考えるとあり得ない挙動ですよね(笑)
フルパスが確実なはずのUnix/Linuxで、カレントディレクトリが影響するのって、そこに生きたプロセスが存在するとき位かと思っていました。
しかしながらESXはそうでないみたいですね。
詳細な原因はまた時間があったら調べますが、答え分かっている人はぜひ教えて下さい。
最近はインフラ業よりDB周りが多いのでだんだん疎く。。
では。