Существует ли независимый от ОС способ сопоставления имени iSCSI (iqn) с IP-адресом?

У меня есть ряд имен iSCSI (инициаторов), которые обычно выглядят так:

iqn.yyyy-mm.naming-authority:unique name

E.g.

iqn.1991-05.com.microsoft:myPC

Я хотел бы программно сопоставить такие имена iSCSI с их соответствующими IP-адресами и/или именами хостов — есть ли способ сделать это? Идеально:

  • Я хотел бы получить имя хоста, используя, например. CIM-XML/WBEM/SMI-S или аналогичный протокол, который позволит мне выполнять сопоставление независимо от платформы;
  • Я хотел бы избежать развертывания какого-либо пользовательского кода на хостах;
  • Я хотел бы избежать необходимости вручную подключаться к каждому возможному хосту в сети и проверять, соответствует ли его имя iSCSI рассматриваемому.
  • Желательно Java или C#.

Обратите внимание, что часть unique name обычно является именем хоста, но это не гарантируется. Кроме того, имена iSCSI могут использовать формат EUI, например:

eui.0123456789ABCDEF

В Windows можно использовать либо утилиту панели управления «iSCSI Initiator», либо команду iscsicli.exe для получения IQN машины, поэтому теоретически я мог бы перебрать все возможные (Windows) хосты и посмотреть, совпадают ли значения IQN; однако это не похоже на оптимальное решение.

Я также удалил все классы WMI и CIM искать это сопоставление, но не смог найти его там.

Есть ли правильный способ сделать это?


person w128    schedule 30.03.2015    source источник


Ответы (1)


Протокол iSNS был создан для решения этой задачи (среди прочего).

person Edward Tomasz Napierala    schedule 31.03.2015