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

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

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

Например

iqn.1991-05.com.microsoft:myPC

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

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

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

eui.0123456789ABCDEF

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

Я также сбросил все классы WMI и CIM, чтобы найти это отображение, но не смог найти его там.

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

1 ответ

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

Другие вопросы по тегам