【问题标题】:Mapping Disks to Initiators using Powershell使用 Powershell 将磁盘映射到启动器
【发布时间】:2020-08-07 09:09:19
【问题描述】:

我正在使用带有 Powershell 7.0.2 的 Windows Server 2016。我想获取显示为磁盘的已连接存储的目标 ID(WWN 或 iSCSI 地址)。我使用 get-disk 获取 Windows Server 上的磁盘

$Disks=get-disk

如果这些是通过 iscsi 或 FC 从 BusType 属性附加的,我可以得到。然后我可以得到本地端口信息

$Ports=Get-initiatorPort

我可以从 NodeAddress 获取地址(FC 或 ISCSI)。在这一点上我被卡住了。

  1. 如何在启动器上映射哪个磁盘正在使用哪个 NodeAddress
  2. 如何获取目标系统 ID(icsci iqn 或 FC WWN)

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您可以将您的磁盘对象直接传递给Get-IscsiSession,它可以为您提供一些您正在寻找的详细信息。

    一个例子:

    $DiskList = Get-Disk | Where-Object { $_.BusType -eq 'iSCSI' ]
    foreach ($Disk in $DiskList) {
        $SessionList = $Disk | Get-IscsiSession
        foreach ($Session in $SessionList) {
            [PSCustomObject]@{
                Name = $Disk.FriendlyName
                InitiatorNode = $Session.InitiatorNodeAddress
                TargetNode = $Session.TargetNodeAddress
            }
        }
    }
    

    我必须测试的唯一服务器是带有 iSCSI 多路径连接的 PowerShell 4。如果不使用 MPIO,则可能不需要 SessionList 循环。

    【讨论】:

    • 虽然我不清楚磁盘对象的哪个属性在 ISCSISession 中匹配,但它适用于 iSCSI。 FC 的大部分内容仍然存在。 purepowershellguy.com/?p=54 有一些花絮,但它不再起作用了
    • 很遗憾,我在这方面帮不上什么忙,因为我没有什么要测试的。
    猜你喜欢
    • 2011-06-16
    • 1970-01-01
    • 2015-12-15
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 2011-04-21
    相关资源
    最近更新 更多