diff --git a/services/open-isns/etc/isns/examples.md b/services/open-isns/etc/isns/examples.md new file mode 100644 index 0000000..13e418f --- /dev/null +++ b/services/open-isns/etc/isns/examples.md @@ -0,0 +1,70 @@ +# Пример + +Если вы хотите использовать Open-iSNS в режиме аутентификации, сначала необходимо инициализировать DSA-ключ и параметры DSA сервера. Это можно удобно сделать с помощью команды: + +``` +isnsd --init +``` + +Эта команда создаст закрытый и открытый ключи сервера и поместит их в файлы `/etc/isns/auth_key` и `auth_key.pub` соответственно. + +Следующая команда создаст объект политики для узла с именем `isns.control` и предоставит ему права управления: + +``` +isnsadm --local --keyfile=control.key --enroll isns.control \ + node-type=ALL functions=ALL object-type=ALL +``` + +В процессе регистрации клиента будет создана пара DSA-ключей, а закрытая часть ключа будет помещена в файл `control.key`. Этот файл необходимо установить как `/etc/isns/control.key` на хосте, который вы хотите использовать в качестве станции управления iSNS. + +Далее, необходимо создать объект узла хранения для станции управления: + +``` +isnsadm --local --register control +``` + +На станции управления вы можете затем зарегистрировать дополнительные хосты: + +``` +isnsadm --control --keyfile=somehost.key --enroll iqn.2005-01.org.open-iscsi.somehost \ + node-type=target+initiator +``` + +Эта команда также создаст пару DSA-ключей и сохранит закрытую часть ключа в файл `auth _ + +_key`. Обратите внимание на использование опции `--control`, которая указывает `isnsadm` использовать идентификатор управляющего узла вместо ключа и имени источника по умолчанию. + +Затем необходимо скопировать файл `somehost.key` на клиентский хост и установить его как `/etc/isns/auth_key`. Аналогично, открытый ключ сервера (находящийся в `/etc/isns/auth_key.pub` на сервере) нужно скопировать на клиентскую машину и поместить в `/etc/isns/server_key.pub`. + +По умолчанию, когда клиент регистрирует узел хранения (инициатор или цель) в iSNS, он не сможет видеть другие узлы хранения. Чтобы цели были видны определённому инициатору, необходимо создать так называемые домены обнаружения (Discovery Domains, или DD). + +На данный момент операции с членством в доменах требуют прав администратора. В будущем расширения могут позволить клиентам iSNS добавлять себя в один или несколько DD при регистрации. + +Чтобы создать домен обнаружения и добавить в него узлы, используйте: + +``` +isnsadm --control --dd-register dd-name=mydomain \ + member-name=iqn.org.bozo.client iqn.org.bozo.jbod ... +``` + +Для добавления членов в существующий DD необходимо указать числовой идентификатор домена — использование имени DD, к сожалению, недостаточно (это требование RFC, а не проблема реализации): + +``` +isnsadm --control --dd-register dd-id=42 \ + member-name=iqn.com.foo member-name=iqn.com.bar +``` + +Идентификатор DD можно получить, выполнив запрос по имени DD: + +``` +isnsadm --control --query dd-name=mydomain +``` + +В режиме управления вы также можете вручную регистрировать и удалять узлы и порталы, например, чтобы исправить несоответствия в базе данных. Например, следующая команда зарегистрирует узел и портал на хосте с именем `client.bozo.org`: + +``` +isnsadm --control --register entity=client.bozo.org \ + initiator=iqn.org.bozo.client portal=191.168.7.1:860 +``` + +Обратите внимание, что эта регистрация явно указывает сетевую сущность, в которую помещаются новые объекты. Если опустить этот параметр, новые объекты будут помещены в сущность с именем `CONTROL`, что определённо не является желаемым результатом.