Добавлен пример использования open-isns

This commit is contained in:
Alexander Zhirov 2025-05-07 21:43:39 +03:00
parent 5cc5a46466
commit a8822cf244
Signed by: alexander
GPG key ID: C8D8BE544A27C511

View file

@ -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`, что определённо не является желаемым результатом.