384 lines
26 KiB
Text
384 lines
26 KiB
Text
# Конфигурация по умолчанию для 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
|