VMware 仮想インフラストラクチャ リモート CLI で ESX/i 内の未使用のマシン/ディスクを検索する

StackOverflow https://stackoverflow.com/questions/823987

  •  05-07-2019
  •  | 
  •  

質問

VMware ESX/i で、VMware 仮想インフラストラクチャ リモート CLI を使用して未使用のマシン/ディスクを見つけるにはどうすればよいですか?ディスク上に膨大なインベントリと多数のファイルがあり、削除の候補となるファイルを見つけたいと考えています。

私がしたいのは、

  • ある vmdk ディスクは誰かによって使用されています vmx ホスト上のマシンかどうか
  • ある vmx マシンはホスト上のインベントリに存在します。

これを見つけるための賢い方法が存在するでしょうか?VIRCLI ではない場合は、他のものでしょうか?それともこれには Virtual Center が必要ですか?

編集: これは、他のホストとマシンやディスクを共有しない単一のホストです。

役に立ちましたか?

解決

IC は、それらのディスクが共有され、使用されているかどうかを知りません。 別の ESXi ホストでは、バックエンドに SAN があり、複数のホストが同じストレージ デバイスにアクセスすることが非常に一般的です。この場合、どのホストがどのマシンにアクセスしているかを知る方法はありません。説明したシナリオはホストが 1 台の場合にのみ意味を成します。これは VMware の企業顧客の多くにとって典型的なシナリオではありません。

RCLI またはシェルを使用すると、既存のすべてのマシンを反復処理し、それをディスク上の内容のリストと比較できます。ただし、ホスト間でディスクを共有している場合は、状況はさらに複雑になり、各マシン上のデバイスも同様に反復処理する必要があります。

アップデート: そうです、これはスクリプト/プログラミングに関する非常に難しい質問です ;)

から始めて、 RCLI ドキュメント おそらく使用するようなことをするでしょう vmware-cmd -l ホスト上に登録されているすべてのマシンをリストします。次に、使用 vifs 設定ファイルをダウンロードし、 grep 仮想ディスクに関する言及を探しているユーザーを通じて (.vmdk) それらすべてをファイルに保存します。

パート 2 では、再帰的なディレクトリ一覧を実行するスクリプトを作成します。これもまた使用します。 vifs, 、 ランニング grep もう一度それについてのみ含めます .vmdk そして .vmx ファイル。これで 2 つのリストができました。これらをパイプ処理します。 sort その後 diff 何を知るための結果 .vmx ファイルがマシンに登録されていません。 .vmdk ファイルはアクティブな VM によって使用されていません。そして、削除候補が見つかります:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top