IC は、これらのディスクが共有されていて、別のESXi ホストによって使用されているかどうかを認識しません。バックエンドに SAN があり、複数のホストが同じストレージ デバイスにアクセスすることは非常に一般的です。この場合、どのホストがどのマシンにアクセスしているかを知る方法はありません。説明するシナリオは、ホストが 1 つしかない場合にのみ意味があります。これは、VMware の企業顧客の多くにとって典型的なシナリオではありません。
RCLI またはシェルを使用すると、既存のすべてのマシンを反復処理し、それをディスク上のリストと比較できます。ただし、ホスト間でディスクを共有している場合、事態はさらに複雑になり、各マシンのデバイスも反復処理する必要があります。
更新:そうですね、今はもっと基本的なスクリプト/プログラミングの質問です ;)
RCLI ドキュメントから始めてvmware-cmd -l
、ホストに登録されているすべてのマシンを一覧表示するために使用するようなことをしたいと思います。次にvifs
、構成ファイルをダウンロードし、grep
仮想ディスク ( ) の記述を探して、.vmdk
それらすべてをファイルに保存します。
パート 2 では、再帰的なディレクトリ リストを作成するスクリプトを作成し、再び を使用して、その上でとファイルのみを含めるために再度vifs
実行します。これで 2 つのリストが得られました。これらをパイプ処理して結果を調べ、マシンに登録されていないファイルとアクティブな VM で使用されていないファイルを見つけます。そして、削除の候補があります:)grep
.vmdk
.vmx
sort
diff
.vmx
.vmdk