Таблица 4.3, «Атрибуты устройств» демонстрирует атрибуты, определяемые для каждого накопителя в секции
devices
файла
multipath.conf
. Эти атрибуты переопределяют значения в секции
defaults
, но переопределяются значениями из
multipaths
.
Многие устройства, поддерживающие многопутевые функции, включены по умолчанию в конфигурацию и перечислены в файле multipath.conf.defaults
. Обычно нет необходимости в изменении стандартных определений, но если все-таки необходимо это сделать, просто добавьте соответствующую запись для конкретного устройства в файл конфигурации. Можно скопировать исходные настройки из multipath.conf.defaults
и откорректировать значения.
Чтобы добавить в эту секцию новое устройство, сначала нужно установить параметры vendor
и product
. Их значения можно найти в /sys/block/имя_устройства
/device/vendor
и /sys/block/имя_устройства
/device/model
. Пример:
[root@cypher-06 ~]# cat /sys/block/sda/device/vendor
WINSYS
[root@cypher-06 ~]# cat /sys/block/sda/device/model
SF2372
Дополнительные параметры зависят от конкретного устройства и обычно не требуются для активных устройств. По желанию можно присвоить параметру
path_grouping_policy
значение
multibus
или настроить
no_path_retry
и
rr_min_io
(см.
Таблица 4.3, «Атрибуты устройств»).
В случае устройств с активными и пассивными путями, автоматически переключающихся на пассивный путь, надо изменить функцию проверки на функцию, которая не будет отправлять тестовые запросы пути с целью проверки его работоспособности (это может привести к повторным попыткам переключения пути). Для этого обычно достаточно присвоить параметру path_checker
значение tur
.
Если для переключения путей устройство требует указания специальной команды, для настройки его многопутевых возможностей понадобится дополнительный модуль обработчика. В настоящее время используется аппаратный обработчик emc
. Если этого недостаточно, вероятно, не удастся настроить многопутевые возможности для устройства.
Таблица 4.3. Атрибуты устройств
Атрибут
|
Описание
|
---|
vendor
|
Производитель устройства, например COMPAQ .
|
product
|
Имя модели устройства, например HSV110 (C)COMPAQ .
|
revision
|
Идентификатор версии устройства хранения.
|
product_blacklist
|
Регулярное выражение для исключения устройств по названию продукта.
|
hardware_handler
|
Определяет модуль, который будет использоваться для выполнения действий при переключении между группами маршрутов и обработки ошибок ввода-вывода. Допустимые значения: | 1 emc : аппаратный обработчик для массивов EMC. | 1 alua : аппаратный обработчик для массивов SCSI-3 ALUA. | 1 hp_sw : аппаратный обработчик для контроллеров Compaq/HP. | 1 rdac : аппаратный обработчик для контроллеров RDAC LSI/Engenio. |
|
path_grouping_policy
|
Определяет правила агрегации маршрутов. Возможные значения: | failover : один путь на группу. | multibus : все допустимые маршруты в одну группу. | group_by_serial : по серийному номеру. | group_by_prio : по значению приоритета пути. | group_by_node_name : по имени узла. |
|
getuid_callout
|
Задает программу и аргументы, используемые для получения уникального идентификатора пути. Необходимо указать абсолютный путь.
|
path_selector
|
Определяет алгоритм выбора пути для обработки следующего запроса ввода-вывода. Возможные значения: | round-robin 0 : последовательный перебор путей в группе для обработки одинаковых объемов запросов. | queue-length 0 : передача группы запросов пути с наименьшим числом ожидающих обработки запросов. | service-time 0 : передача следующей группы запросов пути с кратчайшим временем обслуживания, что определяется посредством деления суммарного размера ожидающих обслуживания запросов на пропускаемость пути. | Значение по умолчанию — round-robin 0 . |
|
path_checker
|
Задает метод проверки пути. Возможные значения: | readsector0 : чтение первого сектора устройства. | tur : вызов команды TEST UNIT READY для устройства. | emc_clariion : запрос определения пути к странице 0xC0 EPVD систем EMC Clariion. | hp_sw : проверка состояния пути для дисковых массивов HP с драйверами в активном или спящем режиме. | rdac : проверка состояния пути для контроллера RDAC LSI/Engenio. | directio : чтение первого сектора посредством прямого ввода-вывода. | По умолчанию используется значение readsector0 . |
|
features
|
Дополнительные функции. Единственное допустимое на данный момент значение — queue_if_no_path , что аналогично присвоению no_path_retry значения queue . Раздел 5.4, «Проблемы с «queue_if_no_path»» содержит информацию о потенциальных проблемах, связанных с использованием этой возможности.
|
prio
|
Задает функцию, которая по умолчанию вызывается для получения приоритета пути. Так, например, биты ALUA в SPC-3 предоставляют значение prio . Возможные значения: | const : приоритет всех путей равен 1. | emc : генерация приоритета пути для массивов EMC. | alua : генерация приоритета пути исходя из настроек SCSI-3 ALUA. | tpg_pref : генерация приоритета пути исходя из настроек SCSI-3 ALUA с учетом разряда предпочитаемого порта. | ontap : генерация приоритета пути для массивов NetApp. | rdac : генерация приоритета пути для RDAC-контроллера LSI/Engenio. | hp_sw : генерация пути для контроллера Compaq/HP в активном и спящем режиме. | hds : генерация приоритета пути для дисковых массивов Hitachi HDS. | По умолчанию используется значение const . |
|
failback
|
Разрешает переключать группы путей в случае сбоя. | Значение immediate вызывает немедленное переключение на группу путей с наиболее высоким приоритетом. | Значение manual обозначает, что переключение должно быть выполнено вручную. | Значение followover вызывает автоматическое переключение в момент активации первого пути в группе. Это предотвращает автоматическое изменение пути. | Положительное число задаст время (в секундах), по истечении которого будет выполнено переключение. | По умолчанию используется значение manual . |
|
rr_weight
|
Если имеет значение priorities , то число отправляемых одному пути запросов будет определяться значением rr_min_io , умноженным на приоритет маршрута (который определяется функцией prio ). Следующий путь будет выбран с помощью path_selector . По умолчанию используется значение uniform (т.е. все пути равноправны).
|
no_path_retry
|
Числовое значение задает число попыток использования проблемного маршрута, прежде чем запросы прекратят поступление в его очередь. | Значение fail подразумевает немедленный отказ пути без ожидания. | Значение queue обозначает, что поступление запросов не должно прекращаться, до тех пора пока путь не будет восстановлен. | По умолчанию используется значение 0. |
|
rr_min_io
|
Задает число передаваемых одному пути запросов ввода-вывода, прежде чем начнет использоваться следующий путь в группе. По умолчанию будет обработано 1000 запросов.
|
fast_io_fail_tmo
|
Время ожидания (в секундах) после обнаружения проблемы удаленного порта, по истечении которого для него будет зарегистрирован сбой обработки запросов ввода-вывода. Значение не должно превышать dev_loss_tmo . Значение off отключит эту функциональность.
|
dev_loss_tmo
|
Время ожидания (в секундах) после обнаружения проблемы удаленного порта, по истечении которого он будет исключен из системы.
|
flush_on_last_del
|
Если установлен в yes , multipathd отключит возможность добавления в очередь, если удален последний путь к устройству. По умолчанию используется значение no .
|
Пример записи device
в файле конфигурации:
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# path_checker tur
# rr_weight priorities
# }
#}