0

TL;DR 如何使用 PowerCLI 确定 ESX 主机上是否安装了 EMC PowerPath?

我正在尝试编写一个脚本,该脚本将在将 LUN 从一个存储组移动到另一个存储组时执行主机屏蔽操作。这是为了适应由于 ESX 4.1 中的竞争条件而可能发生的 All Paths Down 错误。VMWare KB 1015084 和 1009449 中描述了这些步骤。这些步骤是为从服务控制台使用而编写的。我想避免编写 SSH 活动脚本,而是在 Powershell/PowerCLI 中完成整个操作。

在我们的环境中,我们在大多数(但不是全部)主机上使用 EMC PowerPath。仅需要在安装了 PowerPath 的主机上执行此 LUN 屏蔽,因此我正在尝试测试每个主机以确定这一点。

我一直在努力确定如何使用 PowerCLI 执行此操作。如果连接到 ESX 服务控制台,该命令esxcfg-mpath --list-plugins将显示是否安装了 PowerPath。在 vCenter GUI 中,可以通过以下方式确定:

Select Host -> Configuration -> Storage Adapters -> Select Adapter -> View Devices -> Examine "Owner" column

在 PowerCLI 中使用get-scsilun会返回一个对象,该对象包含除此Owner 列之外的所有这些信息。

我难住了。我曾希望一个get-esxcli对象有某种等效的方法,可能在satpor中nmp,但到目前为止我找不到任何东西。

4

2 回答 2

0

按照建议,我将回答我自己的问题:

答案是:$esxcli.corestorage.plugin.list()将返回主机上安装的插件列表。

于 2012-04-26T18:40:15.223 回答
0

要从 PowerCLI 6.5 获取此信息,您可以使用以下命令:

(Get-ESXCLI -VMHost <host>).Storage.Core.Plugin.List()
于 2018-01-02T15:05:44.043 回答