Сопоставление дисков с инициаторами с помощью Powershell - PullRequest
0 голосов
/ 07 августа 2020

Я использую Windows Server 2016 с Powershell 7.0.2. Я хочу получить целевые идентификаторы (WWN или iSCSI-адреса) для моих подключенных хранилищ, показанных в виде дисков. Я получаю диски на моем Windows сервере с помощью get-disk

$Disks=get-disk

Я могу получить, если они подключены через iscsi или F C из атрибута BusType. Затем я могу получить информацию о локальном порте

$Ports=Get-initiatorPort

Я могу получить адрес (F C или ISCSI) из NodeAddress. На этом этапе я застрял.

  1. Как мне сопоставить, какой диск использует какой NodeAddress на инициаторе
  2. Как мне получить идентификатор целевой системы (icsci iqn или F C WWN)

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете передать свой дисковый объект прямо на 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
        }
    }
}

Единственный сервер I нужно протестировать на PowerShell 4 с многопутевыми подключениями iSCSI. Вам может не понадобиться SessionList l oop, если вы не используете MPIO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...