![PowerCLI - 获取所有数据存储的活动 FC 路径 WWN](https://linux22.com/image/731374/PowerCLI%20-%20%E8%8E%B7%E5%8F%96%E6%89%80%E6%9C%89%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E7%9A%84%E6%B4%BB%E5%8A%A8%20FC%20%E8%B7%AF%E5%BE%84%20WWN.png)
我需要关闭其中一个 FC 交换机进行维护。为了顺利关闭交换机,我想设置手动路径选择模式并将所有数据存储切换到第二个交换机。我有很多数据存储,所以我想创建一个 csv 文件,在其中可以看到调用信息,以确保我没有错过任何内容:例如:
Host | Datastore | Active Target
192.168.1.2 | DS-01 | 21:00:00:1b:32:8f:d0:a5
不幸的是,我在互联网上找到的所有信息以及我自己尝试做的都是获取 HBAName、Target 和 State。我不知道如何将 HBAName(如“vmhba1:C0:T4:L1”)与数据存储标识符进行比较,并将其转换为一个 csv 文件中的数据存储名称。
我尝试重写这些例子:
https://code.vmware.com/forums/2530/vsphere-powercli#569333 https://communities.vmware.com/thread/462782
答案1
运行缓慢的脚本,输出如下:
VMHost : 192.168.1.10
Datastore : Datastore1-lun01
ScsiLun : eui.6635646538633463
LunPath : vmhba2:C0:T1:L1
SanId : 21:00:00:1B:32:8F:D0:A5
脚本:
Get-Datastore -PipelineVariable ds |
where{$_.Type -eq 'VMFS' -and $_.ExtensionData.Summary.MultipleHostAccess } |
Get-ScsiLun -PipelineVariable lun |
Get-ScsiLunPath |
where{$_.Preferred} |
Select @{N='VMHost';E={$lun.VMHost.Name}},
@{N='Datastore';E={$ds.Name}},
ScsiLun,LunPath,SanId
作者 LucD,来源:https://code.vmware.com/forums/2530#602860|4488474