Таблица 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
# }
#}