Модуль прозрачной защищенной распределенной сети (собственная сеть Нейтрино)
io-pkt ... -p qnet-ksz [опция[,опция]...]
- auto_add=X
- При запуске qnet встроенный в io-pkt-* преобразователь Ethernet (en) рассылает собственные отображения во все интерфейсы. Эта опция определяет интервал времени в тактах (см. описание опции periodic_ticks), после которого встроенный в io-pkt-* преобразователь Ethernet (en) выполняет передачу собственных отображений во все интерфейсы повторно. Это действие аналогично автоматическому заполнению каталога
/net
всеми связанными узлами.
Значение по умолчанию – 150
тактов, что соответствует 30 секундам. Значение 0
является специальным; если указано это значение, то процессы передачи останавливаются, и незатребованные передачи отклоняются. При этом в каталог /net
вносятся только те узлы, которые специально открываются приложениями на локальном узле.
- bind=enX
- Указывает используемый интерфейс (например, bind=en0). По умолчанию используются все интерфейсы
/dev/io-net/enX
. Если указаны несколько опций bind, то в Qnet используются все указанные интерфейсы. Это наиболее быстрый способ переноса пакетов.
 | Сочетание bind=en и resolve=dns является недопустимым. |
- bind=ip
- Вместо использования неформатированных ("голубая книга" DIX) пакетов Ethernet включить в пакеты Qnet IP-заголовок по зарегистрированному номеру протокола. Рекомендуется в больших сетях, где невозможна коммутация второго уровня, но требуется маршрутизировать все пакеты.
При использовании опции bind=ip также необходимо указать опцию resolve=dns (указать преобразователь). Преобразователь используется для отображения имени узла в IP-адресе. Преобразователь по умолчанию опцию bind=ip не использует.
- conn_est_retries=X
- Число повторных попыток установления соединения QoS перед отказом. Значение по умолчанию –
1
.
- conn_est_timeout=X
- Число периодических тактов перед повторной передачей запроса на установление соединения QoS. Значение по умолчанию –
1
.
- conn_up_idle=X
- Число периодических тактов до того, как QoS заключает, что соединение неактивно (без трафика), и требуется его опрос посредством тактового сообщения. Значение по умолчанию –
50
тактов (10 секунд).
- conn_up_retries=X
- Число оставшихся без ответа тактовых сообщений, после которого QoS заключает, что соединение не функционирует. Значение по умолчанию –
6
.
- do_crc=X
- Активировать (
1
) или деактивировать (0
) проверку пакетов до четвертого уровня (L4) циклическим избыточным кодом (CRC) на программном уровне. Значением по умолчанию является 0
. Оптимальная производительность на надежном оборудовании обеспечивается при деактивации проверки циклическим избыточным кодом.
- enforce_crc=число
- При использовании этой опции вместе с do_crc принимаются только пакеты с действительным циклическим избыточным кодом. Применение этой опции целесообразно только в том случае, если для do_crc установлено значение
1
. При определении для опции enforce_crc значения 1
пакеты без действительного циклического избыточного кода программного уровня, сгенерированного удаленным узлом (т.е. на котором выполняется do_crc=0), отклоняются, поскольку отсутствует информация о целостности содержимого пакета. Значение по умолчанию – 0
, что позволяет обрабатывать пакеты, принятые без сгенерированного циклического избыточного кода программного уровня.
- host=имя_хоста
- Изменить имя хоста компьютера.
- mapany=map_uid
- Отобразить входящий идентификатор любого пользователя в map_uid, а идентификатор его группы в идентификатор группы map_uid.
- maproot=map_uid
- Если входящий идентификатор пользователя 0, отобразить его в map_uid, а идентификатор группы в идентификатор группы map_uid.
- max_num_l4s=число
- Указать число интерфейсов. Значение по умолчанию –
2
, максимальное значение – 4
.
- max_tx_bufs=число
- Число буферов передачи, зарезервированных Qnet перед дальнейшим выделением. Значение по умолчанию –
500
. Если приложение отправляет большие сообщения, в целях повышения производительности это значение может быть увеличено. Если приложение, как правило, отправляет небольшие сообщения (небольшие сообщения составляют большую часть системного трафика), это значение может быть уменьшено в целях экономии памяти.
- mount=каталог[:[.]домен]]*
- Указать сетевой каталог. По умолчанию используется каталог
/net
. По умолчанию аргумент домен принимает значение домена имени хоста (при наличии) или каталога с заменой косых черт на точки и расположением элементов в обратном порядке. Например, для /net/outside/canada
определен домен canada.outside.net. Первым смонтированным элементом является каталог по умолчанию и домен, через который разрешается локальное имя хоста.
- mtu_en=число
- Указать максимальный размер передаваемого блока данных (Maximum Transmission Unit; MTU) в пакете Qnet. Значение аргумента число должно быть больше 100, и все узлы в сети должны использовать одно значение. Значение по умолчанию –
1500
.
- no_ack=X
- Создавать и ожидать (или не создавать и не ожидать) пакеты ACK. Эти пакеты обеспечивают доставку данных в сетях, в которых возможна потеря пакетов, например Ethernet. Возможные значения X:
- 0 (по умолчанию)
- Создавать и ожидать пакеты ACK.
- 1
- Не создавать и не ожидать пакеты ACK. Это значение следует указывать только в случаях, когда возможность потери пакетов полностью исключается.
 | Все хосты в сети должны быть сконфигурированы с одинаковым значением опции no_ack. |
- no_slog=X
- При установке для этой опции ненулевого значения Qnet не записывает ошибки и события в журнал slogger. Эта опция используется для удаления событий, вызванных сетью с помехами, при поиске несетевых событий в выводе журнала sloginfo. По умолчанию Qnet записывает события в журнал slogger, что соответствует определению нулевого значения для опции no_slog.
- periodic_ticks=X
- Число активаций QoS/L4 в секундах для выполнения периодических задач по обслуживанию. Значение должно находиться в диапазоне от
1
до 1000
; значение по умолчанию – 5
, что соответствует 200 тактам в мсек.
 | Изменение значения periodic_ticks влияет на временные параметры всех других опций, действие которых зависит от тактового таймера. |
- probe_no_l4_time=X
- Число периодических тактов по истечении которых QoS осуществляет проверку подключения к интерфейсу, для которого отсутствует отображение для удаленного узла передачей широковещательного пакета. Значение по умолчанию совпадает со значением опции conn_up_idle.
- qos_per_pri=число
- qos_tx_pri=число
- Приоритет импульсов для потока периодической передачи QoS и потока передачи QoS.
 | Изменять эти значения не рекомендуется. Опции qos_per_pri и qos_tx_pri предусмотрены для редких случаев, когда требуется изменить приоритет подсистем io-pkt-*. |
- qos_verbose=X
- Уровень вывода расширенной информации по управлению подключениями посредством QoS. Значение по умолчанию –
0
. Чем выше значение, тем выше уровень подробности выводимой информации. Эта опция используется в целях диагностики.
- res_retries=X
- Число повторных попыток, выполняемых преобразователем Ethernet во время предпринятого разрешения узла перед отказом. Значение по умолчанию –
2
.
- res_ticks=X
- Число периодических тактов перед повторной передачей преобразователем запроса на разрешение узла. Значение по умолчанию –
1
.
- resolve=преобразователь[:параметр_преобразователя]
- Добавить в список преобразователей для точек монтирования дополнительный преобразователь. В менеджер сети встроены следующие значения аргумента преобразователь:
- en_ionet
- запросы на трансляцию для разрешения имен в LAN (аналогично протоколу TCP/IP ARP). Используется по умолчанию.
- dns
- использовать имя узла, добавить точку (.), затем имя домена узла и передать результат функции TCP/IP gethostbyname().
- file
- параметр_преобразователя соответствует имени используемого файла; значение по умолчанию –
/etc/qnet_hosts
. Применяется следующий формат файла:
#Это строка комментария
хост.домен адрес1[,адрес2]
...
Аргумент хост.домен обозначает полное доменное имя Qnet (fully qualified domain name; FQDN). Аргумент адрес1 и дополнительный аргумент адрес2 определяют адреса интерфейсов для FQDN. Для bind=en используется формат адреса xx:xx:xx:xx:xx:xx (MAC-адрес).
В случае ввода других данных Qnet выполняет попытку загрузки nr-resolver.so. По умолчанию используется преобразователь имен en_ionet. По вопросам создания nr-resolver.so обращайтесь в службу поддержки.
 | Следующие сочетания не поддерживаются: - bind=en и resolve=dns
- bind=ip и resolve=file
|
- ret_drvr_rx_buf=X
- Способ обработки полученных пакетов (rxd) четвертым уровнем (L4):
- 0
- удержание нескольких пакетов rxd в течение объединения (по умолчанию). При этом обеспечивается оптимальная производительность.
- 1
- создание копии данных в пакетах с немедленным возвратом буферов пакетов драйверу. Рекомендуется в случае предоставления драйвером ограниченного числа буферов пакетов.
- slow_mode=X
- Число тактов, после которого не учитывается режим медленной передачи (т.е. с "узкими окнами") для узла. Значение по умолчанию –
1200
, что соответствует 240 секундам или четырем минутам. Значение 0
является специальным. При выборе этого значения режим медленной передачи полностью деактивируется.
- tx_retries=X
- Число повторных попыток передачи Qnet перед отказом. Значение по умолчанию –
25
.
- tx_ticks=X
- Число периодических тактов перед повторной передачей четвертым уровнем запроса на передачу. Значение по умолчанию –
1
.
- protected=1
- Активация защищенного режима прозрачной сети Qnet.
 | - В DLL-библиотеке lsm-qnet-ksz.so представлен большой выбор опций для изменения режима функционирования Qnet (например, таймауты, повторные попытки и время простоя), но оптимальная работа Qnet обеспечивается при установке настроек по умолчанию. Дополнительные опции следует использовать только в том случае, если требуется решить проблему, возникшую в конкретной среде. Некорректное применение опций может привести к отрицательным последствиям.
- Для разделения опций используется запятая (но не пробелы).
|
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Менеджер lsm-qnet-ksz.so является упрощенной версией менеджера ЗОСРВ «Нейтрино», реализующего собственные функции организации сетей «Нейтрино», Transparent Distributed Processing (TDP; прозрачная распределенная обработка).
На уровне программного обеспечения QoS реализован протокол сессий "узел-узел" с обработкой выбора среды передачи.
Четвертый уровень представляет собой программный уровень, следующий за уровнем QoS, на котором реализуется четвертый транспортный уровень ISO для обеспечения надежной доставки данных без дублирования с использованием нижестоящего уровня драйвера.
 | Выполнить утилиту umount в отношении Qnet невозможно, но можно создать модуль записи в буфер io-pkt-* с поддержкой демонтирования. |
Если последовательно указаны две или более опций resolve, то преобразователи вносятся в список вариантов поиска для каталога, указанного в последующих опциях mount.
Список преобразователей завершается опцией mount. Все опции resolve после опции mount переносятся в новый список, а не добавляются в предыдущий.
Следующая строка
resolve=a,resolve=b,mount=x,mount=y,resolve=c,mount=z
указывает, что:
- для опции mount=x определены преобразователи a и b;
- для опции mount=y также определены преобразователи a и b;
- для опции mount=z определен только преобразователь c.
Если указана опция protected=1, модуль прозрачной распределенной сети Qnet переходит в защищенный режим. В данном режиме осуществляется взаимодействие с удаленными узлами, лишь в том случае, если они входят в защищенную сеть.
Существует два способа запуска Qnet: одновременно с утилитами io-pkt-* или после этого с помощью утилиты mount.
Одновременный запуск сетевого драйвера, Qnet и TCP/IP. Для Qnet при этом используется тип пакетов Ethernet по умолчанию ("голубая книга" DIX) без проверки циклическим избыточным кодом и 1024 дескриптора для обеспечения максимальной производительности:
io-pkt -d speedo transmit=1024,receive=1024 -p qnet -p tcpip
Запуск io-pkt-ksz, затем с помощью команды mount последовательный запуск драйвера и Qnet с применением актуальных имен файлов разделяемых библиотек:
io-pkt-ksz
mount -T io-pkt -o transmit=1024,receive=1024 devn-speedo.so
mount -T io-pkt lsm-qnet-ksz.so
Эти разделяемые библиотеки (с расширением .so) находятся в каталоге /lib/dll
. Утилита mount автоматически осуществляет поиск этих библиотек в указанном каталоге. Утилите mount можно присвоить полное путевое имя.
В следующем примере представлен одновременный запуск всех компонентов с использованием инкапсуляции IP-пакетов вместо "голубой книги" DIX:
io-pkt-ksz -d speedo transmit=1024,receive=1024 -p qnet bind=ip,resolve=dns -p tcpip
Для получения дополнительной информации см. описание mount и io-pkt-ksz.
- /dev/io-net
- Каталог, в который модули протоколов и старые драйверы io-net размещают свои имена. Для получения дополнительной информации см. документацию по io-pkt-*.
- /etc/system/config/useqnet
- Если этот файл существует, в системе используются файлы запуска по умолчанию. При запуске системы выполняется команда io-pkt-ksz. Также выполняется автоматическая загрузка lsm-qnet-ksz.so. Для получения дополнительной информации см. главу «Запуск ЗОСРВ «Нейтрино» документа «Руководство системного программиста (администратора)» КПДА.10964-01 32.
- /proc/qnetstats
- Запись, помещаемая Qnet в файловую систему
/proc
. При открытии и чтении этого файла код менеджера ресурсов Qnet отвечает путем передачи текущей статистики для Qnet.
В Qnet не реализована полная поддержка обмена информацией между компьютерами с прямым и обратным порядком байтов. Однако, доступен обмен данными между машинами с разными типами процессоров (например, ARMLE и x86), для которых определен одинаковый порядок байтов.
Базовые подсистемы ЗОСРВ «Нейтрино», СЗИ
io-pkt-*, devn-*, devnp-*
Предыдущий раздел: Утилиты