Существует ли независимый от ОС способ сопоставления имени 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 был создан для решения этой задачи (среди прочих).