TL;DR PowerCLI を使用して、EMC PowerPath が ESX ホストにインストールされているかどうかを確認するにはどうすればよいですか?
LUN をあるストレージ グループから別のストレージ グループに移動するときにホスト マスキング操作を実行するスクリプトを作成しようとしています。これは、ESX 4.1 で競合状態が原因で発生する可能性がある All Paths Down エラーに対応するためです。これらの手順は、VMWare KB 1015084 および 1009449 で説明されています。これらの手順は、サービス コンソールから使用するために記述されています。SSH アクティビティのスクリプト作成を避け、Powershell/PowerCLI ですべてを実行したいと考えています。
私たちの環境では、すべてではありませんがほとんどのホストで EMC PowerPath を使用しています。この LUN マスキングは、PowerPath がインストールされているホストでのみ実行する必要があるため、各ホストをテストしてこれを判断しようとしています。
PowerCLI でこれを行う方法を決定しようとして、私は頭を悩ませてきました。ESX サービス コンソールに接続されているesxcfg-mpath --list-plugins
場合、PowerPath がインストールされているかどうかがコマンドによって表示されます。vCenter GUI では、次の方法で決定できます。
Select Host -> Configuration -> Storage Adapters -> Select Adapter -> View Devices -> Examine "Owner" column
PowerCLI で使用すると、この所有者列を除くget-scsilun
すべての情報を含むオブジェクトが返されます。
私は困惑しています。get-esxcli
オブジェクトが何らかの同等のメソッドを持っていることを期待していましたが、おそらくsatp
ornmp
でしたが、今のところ何も見つかりません。