configs-ru/services/open-iscsi/etc/iscsi/iscsid.conf

384 lines
26 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Конфигурация по умолчанию для Open-iSCSI.
#
# Примечание: Чтобы установить любое из этих значений для конкретного узла/сессии,
# используйте команду iscsiadm --mode node --op для соответствующего значения.
# Подробности о команде --op см. в файле README и в справочной странице для iscsiadm.
#
######################
# Конфигурация демона iscsid
######################
#
# Если вы хотите, чтобы iscsid запускался при первом обращении к нему инструмента iSCSI,
# вместо запуска при выполнении инициализационных скриптов, укажите команду запуска iscsid здесь.
# Обычно это требуется только для сопровождающих пакетов дистрибутивов.
# Если демон iscsid работает постоянно, оставьте этот атрибут закомментированным.
#
# По умолчанию для Fedora и RHEL. Раскомментируйте для активации.
# iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
#
# По умолчанию для Debian и Ubuntu. Раскомментируйте для активации.
# iscsid.startup = /bin/systemctl start iscsid.socket
#
# По умолчанию, если не используется systemd. Раскомментируйте для активации.
# iscsid.startup = /usr/bin/service start iscsid
# Проверять наличие активных точек монтирования на устройствах, доступных через сессию,
# и отказываться от выхода из сессии, если такие точки есть. По умолчанию "No".
# iscsid.safe_logout = Yes
# Требовать только UID-аутентификацию для MGMT IPC, а не имя пользователя.
# Проверка имени пользователя — устаревшая практика безопасности, и она находится на пути к устареванию.
# Установите "No" для совместимости с устаревшими системами.
# По умолчанию "Yes".
# iscsid.ipc_auth_uid = No
#############################
# Настройки NIC/HBA и драйверов
#############################
# Open-iSCSI может создавать сессию и привязывать её к NIC/HBA.
# Для настройки см. пример файла конфигурации iface.
#*****************
# Настройки запуска
#*****************
# Чтобы запросить запуск сессии скриптами службы iSCSI, используйте "automatic":
# node.startup = automatic
#
# Для ручного запуска сессии используйте "manual". По умолчанию — manual.
node.startup = manual
# Для узлов с автоматическим запуском установка этого параметра в "Yes" приведёт к попыткам
# входа на каждом доступном интерфейсе, пока одна не завершится успешно, после чего попытки прекращаются.
# По умолчанию "No" — попытки входа выполняются на всех доступных интерфейсах одновременно.
node.leading_login = No
# *************
# Настройки CHAP
# *************
# Чтобы включить аутентификацию CHAP, установите node.session.auth.authmethod в CHAP.
# По умолчанию — None.
#
# ПРИМЕЧАНИЕ: В настоящее время этот атрибут проверяется на валидность, но затем игнорируется,
# поэтому даже если он установлен в None, CHAP будет использоваться, если заданы учетные данные
# (имя пользователя/пароль и, возможно, username_in/password_in). Это поведение устарело,
# и в будущем CHAP не будет использоваться, если authmethod установлен в None.
#
#node.session.auth.authmethod = CHAP
# Чтобы настроить, какие алгоритмы CHAP включать, установите
# node.session.auth.chap_algs в список, разделённый запятыми.
# Алгоритмы должны быть перечислены в порядке убывания предпочтения,
# в частности, наиболее предпочтительный алгоритм должен быть первым.
# Допустимые значения: MD5, SHA1, SHA256 и SHA3-256.
# По умолчанию — MD5.
#node.session.auth.chap_algs = SHA3-256,SHA256,SHA1,MD5
# Чтобы задать имя пользователя и пароль CHAP для аутентификации инициатора
# целевым устройством, раскомментируйте следующие строки:
#node.session.auth.username = username
#node.session.auth.password = password
# Чтобы задать имя пользователя и пароль CHAP для аутентификации целевого устройства
# инициатором, раскомментируйте следующие строки:
#node.session.auth.username_in = username_in
#node.session.auth.password_in = password_in
# Чтобы включить аутентификацию CHAP для сессии обнаружения цели,
# установите discovery.sendtargets.auth.authmethod в CHAP. По умолчанию — None.
#
# См. ПРИМЕЧАНИЕ выше о том, что node.session.auth.authmethod в основном игнорируется.
#
#discovery.sendtargets.auth.authmethod = CHAP
# Чтобы задать имя пользователя и пароль CHAP для сессии обнаружения
# для аутентификации инициатора целевым устройством, раскомментируйте следующие строки:
#discovery.sendtargets.auth.username = username
#discovery.sendtargets.auth.password = password
# Чтобы задать имя пользователя и пароль CHAP для сессии обнаружения
# для аутентификации целевого устройства инициатором, раскомментируйте следующие строки:
#discovery.sendtargets.auth.username_in = username_in
#discovery.sendtargets.auth.password_in = password_in
# ********
# Таймауты
# ********
#
# См. раздел "Расширенная конфигурация" в README iSCSI для советов
# по настройке таймаутов при использовании multipath или корневой файловой системы через iSCSI.
#
# Чтобы указать время ожидания восстановления сессии
# перед возвратом ошибки SCSI-команд приложению при использовании обработчика ошибок Linux SCSI Layer,
# отредактируйте следующую строку.
# Значение в секундах, по умолчанию — 120 секунд.
# Особые значения:
# - Если значение равно 0, ввод-вывод будет немедленно завершён с ошибкой.
# - Если значение меньше 0, ввод-вывод останется в очереди до восстановления сессии
# или до выполнения пользователем команды logout.
node.session.timeo.replacement_timeout = 120
# Чтобы указать время ожидания завершения входа, отредактируйте следующую строку.
# Значение в секундах, по умолчанию — 15 секунд.
node.conn[0].timeo.login_timeout = 15
# Чтобы указать время ожидания завершения выхода, отредактируйте следующую строку.
# Значение в секундах, по умолчанию — 15 секунд.
node.conn[0].timeo.logout_timeout = 15
# Интервал времени ожидания перед отправкой пинга по соединению.
# Значение в секундах, по умолчанию — 5 секунд.
node.conn[0].timeo.noop_out_interval = 5
# Чтобы указать время ожидания ответа на Nop-out перед завершением соединения с ошибкой,
# отредактируйте эту строку. Ошибка соединения приведёт к возврату ввода-вывода в слой SCSI.
# Если используется dm-multipath, ввод-вывод будет передан в слой multipath.
# Значение в секундах, по умолчанию — 5 секунд.
node.conn[0].timeo.noop_out_timeout = 5
# Чтобы указать время ожидания ответа на команду abort
# перед завершением операции с ошибкой и попыткой сброса логического устройства,
# отредактируйте следующую строку.
# Значение в секундах, по умолчанию — 15 секунд.
node.session.err_timeo.abort_timeout = 15
# Чтобы указать время ожидания ответа логического устройства
# перед завершением операции с ошибкой и попыткой восстановления сессии,
# отредактируйте следующую строку.
# Значение в секундах, по умолчанию — 30 секунд.
node.session.err_timeo.lu_reset_timeout = 30
# Чтобы указать время ожидания ответа цели
# перед завершением операции с ошибкой и попыткой восстановления сессии,
# отредактируйте следующую строку.
# Значение в секундах, по умолчанию — 30 секунд.
node.session.err_timeo.tgt_reset_timeout = 30
# Значение в секундах, по умолчанию — 60 секунд.
node.session.err_timeo.host_reset_timeout = 60
#******
# Повторы
#******
# Чтобы указать количество попыток входа, которые должен выполнить iscsid,
# если попытка входа завершилась с ошибкой из-за истечения node.conn[0].timeo.login_timeout,
# измените следующую строку. Обратите внимание, что если вход завершается быстро
# (до истечения node.conn[0].timeo.login_timeout) из-за ошибки сетевого уровня или цели,
# iscsid может повторить попытку входа больше, чем node.session.initial_login_retry_max раз.
#
# Это количество повторов вместе с node.conn[0].timeo.login_timeout
# определяет максимальное время, которое iscsid будет пытаться
# установить начальный вход. node.session.initial_login_retry_max умножается
# на node.conn[0].timeo.login_timeout для определения максимального времени.
#
# По умолчанию node.session.initial_login_retry_max равно 8,
# а node.conn[0].timeo.login_timeout равно 15, так что:
#
# node.conn[0].timeo.login_timeout * node.session.initial_login_retry_max = 120с
#
# Допустимые значения — любое целое число. Это влияет только на начальный вход.
# Установка высокого значения может замедлить запуск службы iSCSI.
# Установка низкого значения может привести к тому, что сессия не будет установлена,
# если во время запуска есть сбои или сеть не готова.
node.session.initial_login_retry_max = 8
################################
# Глубина очереди сессии и устройства
################################
# Чтобы контролировать, сколько команд будет помещено в очередь сессии,
# установите node.session.cmds_max в целое число от 2 до 2048, являющееся степенью 2.
# По умолчанию — 128.
node.session.cmds_max = 128
# Чтобы контролировать глубину очереди устройства,
# установите node.session.queue_depth в значение от 1 до 1024.
# По умолчанию — 32.
node.session.queue_depth = 32
##################################
# НАСТРОЙКИ ПРОИЗВОДИТЕЛЬНОСТИ СИСТЕМЫ
##################################
# Для программного iSCSI (iscsi_tcp) и iser (ib_iser) каждая сессия
# имеет поток, используемый для передачи или постановки данных в очередь на оборудование.
# Для cxgb3i создаётся поток на каждый хост.
#
# Установка более низкого приоритета потока может привести к более высокой пропускной способности
# и меньшим задержкам. Наименьшее значение — -20. Установка более высокого приоритета
# может снизить производительность ввода-вывода, но если потоки iSCSI или SCSI
# доминируют в использовании процессора, вы можете захотеть установить более высокое значение.
#
# Примечание: Для cxgb3i все сессии должны иметь одинаковое значение.
# В противном случае поведение не определено.
#
# Это делается путём сканирования /proc/PID/stat, и это не работает в
# новых ядрах (6.* и выше), так как поток передачи workqueue может быть
# пассивным и не отображаться в таблице процессов, когда он не выполняет работу.
# Если соответствующий процесс workqueue найден и приоритет не равен нулю,
# то при создании сессии приоритет этого процесса будет изменён.
#
# Примечание: как указано выше, значение по умолчанию теперь равно нулю, что означает,
# что мы не изменяем приоритет процесса передачи workqueue по умолчанию.
# Если вы хотите получить предыдущее поведение, установите это значение в -20.
# В будущем эта функциональность будет удалена, когда она больше не понадобится.
#
# Значение по умолчанию — 0. Значение должно быть в диапазоне от -20 до 20.
# node.session.xmit_thread_priority = 0
#***************
# Настройки iSCSI
#***************
# Чтобы включить управление потоком R2T (т.е. инициатор должен ждать команду R2T
# перед отправкой данных), раскомментируйте следующую строку:
#
#node.session.iscsi.InitialR2T = Yes
#
# Чтобы отключить управление потоком R2T (т.е. инициатор имеет неявный
# начальный R2T в размере "FirstBurstLength" с нулевым смещением),
# раскомментируйте следующую строку:
#
# По умолчанию — No.
node.session.iscsi.InitialR2T = No
#
# Чтобы отключить немедленную передачу данных (т.е. инициатор не отправляет
# неподтверждённые данные вместе с PDU команды iSCSI),
# раскомментируйте следующую строку:
#
#node.session.iscsi.ImmediateData = No
#
# Чтобы включить немедленную передачу данных (т.е. инициатор отправляет
# неподтверждённые данные вместе с пакетом команды iSCSI),
# раскомментируйте следующую строку:
#
# По умолчанию — Yes.
node.session.iscsi.ImmediateData = Yes
# Чтобы указать максимальное количество неподтверждённых байтов данных,
# которые инициатор может отправить в PDU iSCSI цели,
# отредактируйте следующую строку.
#
# Значение — количество байтов в диапазоне от 512 до (2^24-1),
# по умолчанию — 262144.
node.session.iscsi.FirstBurstLength = 262144
# Чтобы указать максимальную полезную нагрузку SCSI,
# которую инициатор будет согласовывать с целью,
# отредактируйте следующую строку.
#
# Значение — количество байтов в диапазоне от 512 до (2^24-1),
# по умолчанию — 16776192.
node.session.iscsi.MaxBurstLength = 16776192
# Чтобы указать максимальное количество байтов данных,
# которые инициатор может получить в PDU iSCSI от цели,
# отредактируйте следующую строку.
#
# Значение — количество байтов в диапазоне от 512 до (2^24-1),
# по умолчанию — 262144.
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
# Чтобы указать максимальное количество байтов данных,
# которые инициатор будет отправлять в PDU iSCSI цели,
# отредактируйте следующую строку.
#
# Значение — количество байтов в диапазоне от 512 до (2^24-1).
# Ноль — особый случай. Если установлено в ноль, инициатор будет использовать
# MaxRecvDataSegmentLength цели для MaxXmitDataSegmentLength.
# По умолчанию — 0.
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
# Чтобы указать максимальное количество байтов данных,
# которые инициатор может получить в PDU iSCSI от цели во время сессии обнаружения,
# отредактируйте следующую строку.
#
# Значение — количество байтов в диапазоне от 512 до (2^24-1),
# по умолчанию — 32768.
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
# Чтобы позволить целям контролировать настройку проверки дайджеста,
# с инициатором, запрашивающим предпочтение включения проверки,
# раскомментируйте одну или обе следующие строки:
#node.conn[0].iscsi.HeaderDigest = CRC32C,None
#node.conn[0].iscsi.DataDigest = CRC32C,None
#
# Чтобы позволить целям контролировать настройку проверки дайджеста,
# с инициатором, запрашивающим предпочтение отключения проверки,
# раскомментируйте одну или обе следующие строки:
#node.conn[0].iscsi.HeaderDigest = None,CRC32C
#node.conn[0].iscsi.DataDigest = None,CRC32C
#
# Чтобы включить проверку дайджеста CRC32C для заголовка и/или данных
# PDU iSCSI, раскомментируйте одну или обе следующие строки:
#node.conn[0].iscsi.HeaderDigest = CRC32C
#node.conn[0].iscsi.DataDigest = CRC32C
#
# Чтобы отключить проверку дайджеста для заголовка и/или данных
# PDU iSCSI, раскомментируйте одну или обе следующие строки:
#node.conn[0].iscsi.HeaderDigest = None
#node.conn[0].iscsi.DataDigest = None
#
# По умолчанию DataDigests и HeaderDigests не используются.
#
# Для конфигураций с множественными путями вы можете захотеть,
# чтобы на каждом iface создавалось более одной сессии.
# Если node.session.nr_sessions больше 1, выполнение 'login' для этого узла
# гарантирует создание соответствующего количества сессий.
node.session.nr_sessions = 1
# Когда iscsid запускается, он восстанавливает существующие сессии (если это возможно).
# Если цель для сессии исчезла во время этого процесса,
# демон iscsid обычно пытается восстановить каждую сессию
# последовательно в фоновом режиме, повторяя попытки каждые две секунды,
# пока все сессии не будут восстановлены. Эта конфигурационная переменная
# может ограничить количество повторных попыток для каждой сессии.
# Например, установка reopen_max=150 означает, что восстановление каждой сессии
# будет ограничено примерно пятью минутами.
node.session.reopen_max = 0
# Когда цели iSCSI исчезают по любой причине, например, из-за отключения портов,
# проблем с сетью или других причин, существующие сессии будут повторно пытаться
# восстановиться демоном iSCSI, и каждая попытка будет иметь интервал
# 3 секунды/DefaultTime2Wait. Таким образом, логирование повторного открытия сессии
# происходит каждые 3 секунды и может перегружать систему логирования.
# Чтобы избежать перегрузки системы логирования,
# раскомментируйте следующий параметр конфигурации и измените значение
# с 1 на желаемое, например, 2, 3 или 4, и перезапустите iscsid,
# а также выполните повторное обнаружение целей iSCSI.
# Если значение этого параметра равно 4,
# то логи повторного открытия сессий будут записываться каждые 12 секунд
# (4 * 3 секунды = 12 секунд). Значения ниже 1 интерпретируются как 1 (по умолчанию).
# node.session.sess_reopen_log_freq = 1
#************
# Обходные решения
#************
# Некоторые цели, такие как IET, предпочитают, чтобы инициатор не отвечал на PDU,
# такие как R2T, после отправки функции управления задачами, например, ABORT TASK
# или LOGICAL UNIT RESET. Чтобы использовать это поведение,
# раскомментируйте следующую строку.
# По умолчанию — Yes.
node.session.iscsi.FastAbort = Yes
# Некоторые цели, такие как Equalogic, предпочитают, чтобы инициатор продолжал
# отвечать на R2T после отправки функции управления задачами, например, ABORT TASK
# или LOGICAL UNIT RESET. Чтобы использовать это поведение,
# раскомментируйте следующую строку.
# node.session.iscsi.FastAbort = No
# Чтобы предотвратить автоматическое сканирование, которое может добавить
# нежелательные LUN в систему, можно отключить его и разрешить сессиям
# выполнять только вручную запрошенные сканирования.
# Автоматическое сканирование выполняется при запуске, при входе
# и при получении AEN/AER на устройствах, которые это поддерживают.
# Для аппаратных драйверов все сессии будут использовать значение,
# определённое в файле конфигурации. Этот параметр конфигурации
# независим от параметра scsi_mod.scan. По умолчанию — auto.
node.session.scan = auto