Добавлен open-iscsi
This commit is contained in:
parent
9f0e1411cc
commit
16ae8525ee
2 changed files with 385 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
# Конфигурационные файлы сервисов и утилит Linux
|
||||
|
||||
- [open-iscsi](services/open-iscsi/)
|
||||
- [open-isns](services/open-isns/)
|
||||
- [openslp](services/openslp/)
|
||||
|
|
384
services/open-iscsi/etc/iscsi/iscsid.conf
Normal file
384
services/open-iscsi/etc/iscsi/iscsid.conf
Normal file
|
@ -0,0 +1,384 @@
|
|||
# Конфигурация по умолчанию для 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
|
Loading…
Add table
Add a link
Reference in a new issue