Multipath используется для управления доступом к дисковым устройствам через несколько физических путей, обеспечивая отказоустойчивость и балансировку нагрузки.

Установка и включение multipath 


  1. Убедиться, что пакет multipath-tools установлен:
    sudo apt update
    sudo apt install multipath-tools

  2. Запустить и включить службу multipathd:
    sudo systemctl enable multipathd
    sudo systemctl start multipathd
  3. Проверить статус службы:
    sudo systemctl status multipathd
  4. Посмотреть информацию о multipath-устройствах, выполнив:

    sudo multipath -ll

    Пример вывода команды:

Основной конфигурационный файл multipath


Основной файл конфигурации: /etc/multipath.conf.

По умолчанию он может отсутствовать. Необходимо создать конфигурационный файл, если его нет:

sudo nano /etc/multipath.conf
CODE


Структура и ключевые параметры multipath.conf

Файл multipath.conf состоит из нескольких секций:

  • defaults — общие настройки по умолчанию для DM-Multipath;
  • blacklist — перечисляет устройства, которые не принимаются во внимание multipath. Можно заблокировать устройства по WWID, имени или типу;
  • blacklist_exceptions — перечисляет кандидатов в множественные устройства, которые иначе будут блокироваться согласно параметрам секции blacklist.
  • multipath — параметры настроек по характеристикам отдельных множественных устройств. Эти значения переопределяют те, что определены в секциях defaults и devices.
  • devices — параметры настроек для отдельных контроллеров хранилищ. если используется дисковый массив, который не поддерживается по умолчанию, может потребоваться создать для него подсекцию в разделе devices;
  • overrides — в этом разделе указаны глобальные значения атрибутов, которые должны переопределять настройки для конкретного устройства на всех устройствах.
СекцияВидПараметрВозможные значения
defaults
defaults {
    user_friendly_names yes
    find_multipaths yes
    polling_interval 10
    path_selector "round-robin 0"
    path_grouping_policy multibus
    failback immediate
    no_path_retry fail
}
CODE




verbosity

Уровень детализации по умолчанию. Чем выше значение, тем выше уровень детализации. Допустимые уровни — от 0 до 6.

Значение по умолчанию —2

polling_interval

Интервал (в секундах) проверки состояния путей (например, 10 — проверка каждые 10 секунд).

Значение по умолчанию —5

max_polling_interval

Максимальный интервал (в секундах) проверки состояния путей.

Значение по умолчанию —4*polling_interval

reassign_maps

Переназначение карт device-mapper. При использовании этой опции multipathd будет переназначать существующие карты device-mapper так, чтобы они всегда указывали на устройство multipath, а не на базовые блочные устройства.

Значение по умолчанию —no

path_selector

Алгоритм выбора пути:

  • round-robin 0 — циклический выбор всех активных путей;
  • queue-length 0 — выбор пути с наименьшей очередью;
  • service-time 0 — выбор пути с минимальным временем обслуживания;
  • historical-service-time 0 — выбор пути с  минимальным временем обслуживания за все время.

Значение по умолчанию —service-time 0

 path_grouping_policy

Политика группировки путей:

  • failover — 1 путь на приоритетную группу;
  • multibus — все доступные пути на 1 приоритетную группу;
  • group_by_serial — 1 приоритетная группа на серийный номер;
  • group_by_prio — 1 приоритетная группа на значение приоритета пути;
  • group_by_node_name — 1 приоритетная группа на целевое имя узла;
  • group_by_tpg — 1 приоритетная группа на группу целевых портов ALUA.

Значение по умолчанию —failover

detect_pgpolicy
  • yes — если все устройства пути настроены с использованием приоритезатора alua или sysfs, то устройство с несколькими путями будет автоматически использовать policy_grouping_by_prio;
  • no — будет установлено значение policy_grouping_by_prio usual.

Значение по умолчанию —yes

detect_pgpolicy_use_tpg

если для данного параметра и параметра detect_pgpolicy установлено значение yes и все устройства пути настроены с использованием приоритезатора alua или sysfs, то устройство с несколькими путями будет автоматически использовать параметр group_by_tpg path_grouping_policy. если установлено значение no, то параметр path_grouping_policy будет выбран методом, описанным выше для detect_pgpolicy.

Значение по умолчанию —no

uid_attrs

При выборе этого параметра активируется объединение uevents по WWID.

Значение этого параметра представляет собой разделенный пробелами список записей вида type:ATTR, где type соответствует началу имени узла устройства (например, sd:ATTR соответствует sda), а ATTR — это имя свойства udev, которое используется для сопоставления устройств.

если этот параметр настроен и совпадает с именем узла устройства, он переопределяет все остальные настроенные методы определения WWID для этого устройства

Этот параметр нельзя изменить во время выполнения с помощью команды multipathd reconfigure.

uid_attribute

Параметр udev, предоставляющий уникальный идентификатор пути (WWID). если для uid_attribute задана пустая строка, определение WWID выполняется с помощью метода sysfs, а не udev (не рекомендуется использовать в рабочей среде).

Значение по умолчанию:

  • ID_SERIAL — для устройств SCSI;
  • ID_UID — для устройств DASD;
  • ID_WWN —  для устройств NVMe
prio

Функция вызова для определения значения приоритета маршрута:

  • const — устанавливает приоритет 1 для всех маршрутов;
  • sysfsиспользуются параметры sysfs access_state и preferred_path. Этот механизм определения приоритета принимает необязательный параметр prio_arg exclusive_pref_bit;
  • emc приоритет маршрута для массивов EMC;
  • aluaприоритет маршрута на основе установок ALUA для SCSI-3;
  • ontap — приоритет пути для массивов NetApp ONTAP FAS/AFF и массивов с новым брендом, работающих в собственном режиме ONTAP;
  • rdac — приоритет маршрута для контроллеров LSI/Engenio RDAC;
  • hp_swприоритет маршрута для контроллеров Compaq/HP в активно/резервном режиме;
  • hdsприоритет маршрута для дисковых массивов Hitachi HDS Modular;
  • random — случайное значение приоритета между 1 и 10;
  • weightedpathприоритет пути на основе регулярного выражения и приоритета, указанного в качестве аргумента. Требуется prio_args;
  • path_latency — приоритет пути на основе алгоритма задержки. Требуется prio_args;
  • anaприоритет пути на основе настроек NVMe ANA;
  • datacore —приоритет пути для некоторых массивов хранилища DataCore. Требуется prio_args;
  • iet — приоритет пути для целевых объектов iSCSI на основе IP-адреса. Требуется prio_args.

Значение по умолчанию зависит от параметра detect_prio: если detect_prio имеет значение yes (по умолчанию), то алгоритмом приоритета по умолчанию является sysfs (кроме NetAPP серии E/EF, где используется alua). если detect_prio имеет значение no, то алгоритмом приоритета по умолчанию является const

prio_args

Строка аргументов, передаваемая в функцию prio. Большинство функций prio не требуют аргументов. Установщик приоритетов datacore требует один. Например, timeout=1000 preferredsds=foo.

 Значение по умолчанию — (null) ""

features

Функции device-mapper, которые будут использоваться. Синтаксис — num list, где num — это количество объектов в списке от 0 до 8. Возможные значения для списка объектов:

  • queue_if_no_path — приоритизация ввода-вывода, если ни один путь не активен. Аналогично no_path_retry со значением queue. если установлены и эта функция, и no_path_retry, приоритет отдается последней;
  • pg_init_retries <times> — количество повторных попыток pg_init должно быть в диапазоне от 1 до 50;
  • pg_init_delay_msecs <msecs> — количество миллисекунд до повторной попытки pg_init. Должно быть в диапазоне от 0 до 60 000;
  • queue_mode <mode> — режим очереди для многоканального устройства.

Значение по умолчанию —0

path_checker

Метод по умолчанию для получения статуса пути. Возможные значения:

  • readsector0 — читает первый сектор устройства;
  • tur — передает TEST UNIT READY устройству;
  • emc_clariion — запрашивает у EMC Clariion специфическую страницу EVPD 0xC0;
  • hp_sw — определяет статус маршрута массива носителей HP с использованием микропрограммного статуса Активный/Резервный;
  • rdac — определяет статус маршрута для контроллера хранилища LSI/Engenio RDAC;
  • directio — использует прямое чтение первого сектора;
  • cciss_tur — состояние пути для контроллеров HP/COMPAQ Smart Array (CCISS);
  • none — не проверяется устройство, используются значения, полученные из sysfs.

Значение по умолчанию —tur

alias_prefix

Префикс user_friendly_names.

Значение по умолчанию —mpath

failback

Поведение при восстановлении пути:

  • immediate — немедленное переключение на восстановленный путь;
  • manual — переключение вручную;
  • followover — используется для работы с несколькими компьютерами, обращающимися к одним и тем же активным/пассивным устройствам хранения данных;
  • интервал (в секундах) — задержка в секундах перед переключением.

Значение по умолчанию —manual

rr_min_io

Количество запросов ввода/вывода для переключения пути на другой в текущей группе путей.

Значение по умолчанию —1000

rr_min_io_rq

Количество запросов ввода-вывода, которые необходимо направить по пути, прежде чем переключиться на следующий путь в той же группе.

Значение по умолчанию —1

max_fds

Максимальное количество дескрипторов, которое может быть открыто multipath и сервисом multipathd. Это эквивалент команде ulimit -n. Значение максимума установится в качестве системного ограничения в файле /proc/sys/fs/nr_open. если значение не установлено, максимальное количество дескрипторов открытых файлов берется из вызывающего процесса, обычно значение равно 1024. Для безопасности, стоит установить значение по максимальному количеству путей + 32, если это значение больше 1024.

Значение по умолчанию —max

rr_weight

  • если указано priorities, то вместо отправки rr_min_io запросов до переключения маршрута, количество запросов определяется rr_min_io, умноженное на приоритет маршрута, определяемый функцией prio;
  • если указано uniform, то все маршруты имеют одинаковый вес.

Значение по умолчанию — uniform

no_path_retry

Количество попыток системы использовать поврежденный маршрут до отключения. Значение fail указывает на немедленное отключение, без запросов. Значение queue указывает на безостановочный опрос маршрута до его восстановления.
Значение по умолчанию — 0

queue_without_daemon

если установлено no, сервис multipathd отключит опрос всех устройств, когда они выключены.

Значение по умолчанию — yes

checker_timeout

Время ожидания, используемое для проверки путей и определения приоритета, в секундах

allow_usb_devices

если установлено значение no, все USB-устройства будут пропускаться при поиске пути.

Значение по умолчанию — no

flush_on_last_del

  • always —  multipathd отключит очередь, когда будет удален последний путь к устройству;
  • nevermultipathd не будет отключать очередь, когда будет удален последний путь к устройству. Поскольку multipath не может безопасно удалить устройство, пока включена очередь, установка значения never означает, что multipathd не будет автоматически удалять неиспользуемое устройство multipath, все пути к которому удалены, если в данный момент установлено значение queue_if_no_path;
  • unusedmultipathd отключит очередь только после удаления последнего пути, если в данный момент не открыто ни одно устройство multipath или любое из устройств разделов kpartx, расположенных над ним.

Значение по умолчанию —unused

user_friendly_names

  • yes — устройства именуются в формате mpathN (/dev/mapper/mpath0);
  • no — используются WWID (уникальные идентификаторы устройств) 

Рекомендуется использовать yes для удобства.

Значение по умолчанию —no

fast_io_fail_tmo

количество секунд, в течение которых уровень SCSI будет ожидать после обнаружения проблемы на удаленном порту FC, прежде чем прервать ввод-вывод на устройствах этого удаленного порта. Это значение должно быть меньше, чем dev_loss_tmo. если установить значение off, тайм-аут будет отключен

Значение по умолчанию —5

dev_loss_tmo

Количество секунд, которое интерфейс SCSI будет ждать после обнаружения проблемы на удаленном порту оптического канала до удаления его из системы. При установке значения infinity будет использован интервал в 2147483647 сек. (68 лет)

eh_deadline

Максимальное количество секунд, в течение которых уровень SCSI будет обрабатывать ошибки при сбое устройств SCSI. По истечении этого времени ожидания уровень SCSI выполнит полную перезагрузку HBA

max_retries

Максимальное количество повторных попыток выполнения команд ввода-вывода для некоторых типов ошибок SCSI, прежде чем будет возвращено сообщение об ошибке

log_checker_err

если установлено значение once, multipathd регистрирует первую ошибку проверки пути на уровне ведения журнала 2. Все последующие ошибки регистрируются на уровне 3 до тех пор, пока устройство не будет восстановлено. если установлено значение always, multipathd всегда регистрирует ошибку проверки пути на уровне ведения журнала 2

reservation_key

Ключ резервирования служебных действий, используемый mpathpersist

retain_attached_hw_handler

если установлено значение yes и уровень SCSI уже подключил hardware_handler к устройству, multipath не будет принудительно использовать hardware_handler, указанный в /etc/multipath.conf. если уровень SCSI не подключил аппаратный обработчик, multipath продолжит использовать настроенный аппаратный обработчик

detect_prio

если установлено значение yes, multipath попытается определить, поддерживает ли устройство SCSI-3 ALUA. если да, то устройство будет автоматически использовать систему приоритизации sysfs, если поддерживаются необходимые атрибуты sysfs access_state и preferred_path, или систему приоритизации alua, если нет. если установлено значение no, система приоритизации будет выбрана обычным образом.

Значение по умолчанию —yes

detect_checker

если установлено значение yes, multipath попытается определить, поддерживает ли устройство SCSI-3 ALUA. если установлено значение no, то проверка будет выполняться в обычном режиме.

Значение по умолчанию —yes

force_sync

если установлено значение yes, multipathd будет вызывать средства проверки путей только в синхронном режиме. Это означает, что одновременно будет работать только одно средство проверки. Это полезно в тех случаях, когда параллельная работа множества средств проверки multipathd приводит к значительной нагрузке на процессор.

Значение по умолчанию —no

strict_timing

если установлено значение yes, multipathd будет запускать новый цикл проверки путей ровно через одну секунду, так что каждая проверка пути будет выполняться ровно через polling_interval секунд. В системах с высокой нагрузкой проверка путей может занимать больше одной секунды; в этом случае недостающие такты будут учтены в следующем раунде. если проверка путей занимает больше polling_interval секунд, будет выведено предупреждение.

Значение по умолчанию —no

deferred_remove

если установлено значение yes, multipathd будет выполнять отложенное удаление вместо обычного, когда будет удалено последнее устройство пути. Это означает, что если устройство multipath все еще используется, оно будет освобождено, когда его закроет последний пользователь. если путь будет добавлен к устройству multipath до того, как его закроет последний пользователь, отложенное удаление будет отменено.

Значение по умолчанию —no

partition_delimiter

Определяет, как multipath выбирает имена устройств разделов в картах multipath при переименовании карты multipath

san_path_err_threshold

если установлено значение больше 0, multipathd будет отслеживать пути и проверять, сколько раз путь прерывался из-за ошибок. если количество прерываний на определенном пути превышает значение san_path_err_threshold, то путь не будет восстановлен до тех пор, пока не истечет время san_path_err_recovery_time.

Значение по умолчанию —no

san_path_err_forget_rate

если установлено значение больше 0, multipathd будет проверять, не превысили ли сбои в работе пути значение san_path_err_threshold за это количество проверок, то есть san_path_err_forget_rate . если это так, путь не будет восстанавливаться до san_path_err_recovery_time.

Значение по умолчанию —no

san_path_err_recovery_time

если установлено значение больше 0, multipathd будет следить за тем, чтобы при превышении san_path_err_threshold в течение san_path_err_forget_rate путь переводился в состояние сбоя на время san_path_err_recovery_time. По истечении san_path_err_recovery_time будет восстановлен путь, находившийся в состоянии сбоя. Значение san_path_err_recovery_time должно быть указано в секундах.

Значение по умолчанию —no

marginal_path_double_failed_time

Один из параметров проверки вспомогательного пути на основе учета ошибок ввода-вывода, таких как периодические ошибки. если в течение marginal_path_double_failed_time секунд происходит сбой пути из-за ошибки ввода-вывода и при этом заданы все остальные три параметра, multipathd откажет в доступе к пути и поместит его в очередь, участникам которой отправляется пара непрерывных асинхронных операций прямого чтения с фиксированной частотой дискретизации 10 Гц для запуска процесса учета ошибок ввода-вывода.

Значение по умолчанию —no

marginal_path_err_sample_time

Один из параметров проверки вспомогательного пути на основе учета ошибок ввода-вывода, таких как периодические ошибки. если для него задано значение не менее 120, то, когда событие сбоя пути происходит дважды в секунду marginal_path_double_failed_time из-за ошибки ввода-вывода, multipathd завершает поиск пути и помещает этот путь в очередь, членам которой отправляются несколько асинхронных IOS с непрерывным прямым чтением с фиксированной частотой дискретизации 10 Гц. Для запуска процесса учета ввода-вывода для пути потребуется время marginal_path_err_sample_time. если частота ошибок ввода-вывода на определенном пути превышает пороговое значение marginal_path_err_rate, то путь не будет восстановлен в течение нескольких секунд marginal_path_err_recheck_gap_time, если только не существует только одного активного пути. По истечении срока действия marginal_path_err_recheck_gap_time путь будет помещен в очередь на повторную проверку. если результат проверки будет удовлетворительным, путь будет восстановлен.

Значение по умолчанию —no

marginal_path_err_rate_threshold

Один из параметров проверки вспомогательного пути на основе учета ошибок ввода-вывода, таких как периодические ошибки. если частота ошибок ввода-вывода на определенном пути превышает этот параметр, то путь не будет восстановлен в течение marginal_path_err_recheck_gap_time секунд, если только не будет активен только один путь.

Значение по умолчанию —no

marginal_path_err_recheck_gap_time

Один из параметров проверки вспомогательного пути на основе учета ошибок ввода-вывода, таких как периодические ошибки. если для этого параметра задано положительное значение, то путь, на котором частота ошибок ввода-вывода превышает marginal_path_err_rate_threshold, будет оставаться в состоянии сбоя в течение marginal_path_err_recheck_gap_time секунд. По истечении времени marginal_path_err_recheck_gap_time в секундах путь будет повторно поставлен в очередь на проверку. если результат проверки будет удовлетворительным, путь будет восстановлен.

Значение по умолчанию —no

marginal_pathgroups
  • off параметры delay_*_checks, marginal_path_* и san_path_err_* не позволят восстановить неустойчивые пути до тех пор, пока они не будут отслеживаться в течение некоторого времени;
  • on — когда один из методов определения пути определяет, что путь является неустойчивым, он будет восстановлен и помещен в отдельную группу путей, которая будет использоваться только после того, как сначала будут опробованы все устойчивые группы путей;
  • fpinmultipathd будет получать уведомления о fpin, соответственно, устанавливать для состояние путинеустойчивый и перегруппировывать пути, как описано в разделе on. 

Значение по умолчанию —off

find_multipaths

Определяет, будут ли multipath и multipathd пытаться создавать карты multipath для устройств, не занесенных в blacklist:

  • strict — и multipath, и multipathd рассматривают в качестве устройств с мультиплексированием только те устройства, которые ранее были частью карты и поэтому перечислены в файле wwids_file;
  • offmultipath работает как strict. Multipathd работает как greedy. no или 0 принимается как псевдоним для off;
  • on —  multipathd, и multipath рассматривают устройство как многопутевое, если соблюдены условия strict или если обнаружено хотя бы два пути, не занесенных в blacklist, с одинаковым WWID. yes или 1 принимается как псевдоним для on;
  • greedy — и multipathd, и multipath рассматривают каждое устройство, не занесенное в blacklist, как устройство с мультипутем;
  • smart —отличается от find_multipaths только тем, как обрабатываются новые устройства, для которых пока обнаружен только один путь. При первом обнаружении такого устройства в правилах udev оно рассматривается как устройство с несколькими путями. multipathd ожидает появления дополнительных путей с тем же WWID. если это происходит, он создает карту нескольких путей. если этого не происходит до истечения времени ожидания или если настройка карты завершается сбоем, для устройства запускается новое событие udev. При повторном обнаружении в правилах udev устройство будет считаться не поддерживающим несколько путей и будет передано на более высокие уровни.

Значение по умолчанию —strict

find_multipaths_timeout

Таймаут в секундах для ожидания дополнительных путей после обнаружения первого, если установлено значение find_multipaths smart.

Значение по умолчанию — -10 (10 секунд для известного оборудования и 1 секунда для неизвестного)

uxsock_timeout

Таймаут приема команд CLI в миллисекундах.

Значение по умолчанию — 4000

retrigger_tries

Количество попыток, которые multipathd будет предпринимать для повторного запуска uevent для получения WWID.

Значение по умолчанию — 3

retrigger_delay

Время в секундах, в течение которого будет происходить повторная активация.

Значение по умолчанию — 10

missing_uev_wait_timeout

Сколько секунд multipathd будет ждать после создания нового устройства, чтобы получить от udev событие об изменении устройства, прежде чем автоматически включить перезагрузку устройства. 

Значение по умолчанию — 30

skip_kpartx
  • yes — kpartx не будет автоматически создавать разделы на устройстве;
  • no — kpartx будет автоматически создавать разделы на устройстве.

Значение по умолчанию — no

remove_retries

Количество попыток, которые multipath будет предпринимать для удаления используемого устройства. Между каждой попыткой multipath будет ждать 1 секунду.

Значение по умолчанию — 0

max_sectors_kb

Максимальный размер ввода-вывода, который ядро допускает для одного запроса ввода-вывода. Для аппаратных устройств, таких как диски SCSI, это значение ограничено возможностями оборудования

Значение в карте с несколькими путями не должно превышать минимальное значение для всех устройств пути.

ghost_delay

Количество секунд, в течение которых multipath будет ждать после создания устройства, содержащего только «призрачные» пути, прежде чем пометить его как готовое к использованию в systemd. если установить значение 0 или no, multipath немедленно пометит устройство, содержащее только «призрачные» пути, как готовое.

Значение по умолчанию — no

no_path_retry

Действие при отсутствии доступных путей:

  • fail — немедленная ошибка;
  • queue — ожидание восстановления путей;
  • <число> — количество попыток перед возвратом ошибки

auto_resize

Определяет, когда multipathd будет автоматически изменять размер устройства:

  • never —  размер устройств всегда должен изменяться вручную с помощью команды multipathd resize map <name>;
  • grow_only —  при обнаружении, что размер всех путей устройства увеличился, он автоматически увеличит размер устройства до нового значения;
  • grow_shrink —  при обнаружении, что размер всех путей устройства уменьшился, он автоматически уменьшит размер устройства до нового значения.

Значение по умолчанию —never

enable_foreign

Регулярное выражение, включающее сторонние библиотеки

recheck_wwid
  • yes — при восстановлении пути, по которому произошел сбой, его WWID проверяется повторно. Также проверяется WWID пути, если он добавляется вручную;
  • no — WWID не проверяется

Значение по умолчанию — no

blacklist
blacklist {
    devnode "^sda"
    wwid "3600.*"
}
CODE




devnodeРегулярное выражение для исключения устройств (например, ^sda для исключения локального диска)
wwidИсключение по уникальному идентификатору устройства (WWID)
deviceРегулярное выражение для исключения устройств по vendor и product
propertyРегулярное выражение для исключения устройств по udev
protocolРегулярное выражение для исключения устройства по протоколу
blacklist_exceptions
blacklist_exceptions {
devnode "^sda"
wwid "3600508b1001c.*"
}
CODE





devnodeРегулярное выражение для исключения устройств из blacklist (например, ^sda для исключения локального диска)
wwid Исключение из blacklist по уникальному идентификатору устройства (WWID)
deviceРегулярное выражение для исключения устройств из blacklist по vendor и product
propertyРегулярное выражение для исключения устройств из blacklist по udev
protocolРегулярное выражение для исключения устройства из blacklist по протоколу

multipath

Атрибуты, заданные в секции multipath , имеют приоритет над всеми остальными настройками конфигурации, в том числе над настройками из секции overrides.

если нескольким подразделам multipath соответствует один и тот же WWID, содержимое этих разделов объединяется, а настройки из более поздних записей приоритетнее предыдущих.

multipath {
wwid 1DEC_____321816758474
alias red
rr_weight priorities
}
CODE


wwidУникальный идентификатор устройства, для которого применяется параметр (WWID)
aliasСимволическое имя для устройства, для которого применяется параметр. Имеет приоритет над записью для того же WWID в файле bindings_file
  • path_grouping_policy;
  • path_selector;
  • prio;
  • prio_args;
  • failback;
  • rr_weight;
  • no_path_retry;
  • rr_min_io;
  • rr_min_io_rq;
  • flush_on_last_del;
  • features;
  • reservation_key;
  • user_friendly_names;
  • deferred_remove;
  • san_path_err_threshold;
  • san_path_err_forget_rate;
  • san_path_err_recovery_time;
  • marginal_path_err_sample_time;
  • marginal_path_err_rate_threshold;
  • marginal_path_err_recheck_gap_time;
  • marginal_path_double_failed_time;
  • delay_watch_checks;
  • delay_wait_checks;
  • skip_kpartx;
  • max_sectors_kb;
  • ghost_delay
Необязательные параметры. если они не заданы, значения берутся из секций devicesoverrides или defaults
devices
devices {
    device {
        vendor "DELL"
        product "MD36.*"
        path_grouping_policy group_by_prio
        path_selector "round-robin 0"
        no_path_retry 5
    }
}
CODE



vendor    Имя производителя устройства
productНазвание продукта устройства
revisionИдентификатор версии устройства
product_blacklistРегулярное выражение для блокировки устройства по его названию
alias_prefixПрефикс user_friendly_names, который следует использовать для этого типа устройств вместо стандартного mpath
vpd_vendorИнформация о странице vpd конкретного производителя
  • path_grouping_policy;
  • uid_attribute;
  • path_selector;
  • path_checker;
  • prio;
  • prio_args;
  • features;
  • failback;
  • rr_weight;
  • no_path_retry;
  • rr_min_io;
  • rr_min_io_rq;
  • fast_io_fail_tmo;
  • dev_loss_tmo;
  • eh_deadline;
  • flush_on_last_del;
  • user_friendly_names;
  • retain_attached_hw_handler;
  • detect_prio;
  • detect_checker;
  • deferred_remove;
  • san_path_err_threshold;
  • san_path_err_forget_rate;
  • san_path_err_recovery_time;
  • marginal_path_err_sample_time;
  • marginal_path_err_rate_threshold;
  • marginal_path_err_recheck_gap_time;
  • marginal_path_double_failed_time;
  • delay_watch_checks;
  • delay_wait_checks;
  • skip_kpartx;
  • max_sectors_kb;
  • ghost_delay;
  • all_tg_pt
Необязательные параметры. если они не заданы, значения берутся из секции defaults
overrides
  • path_grouping_policy;
  • uid_attribute;
  • path_selector;
  • path_checker;
  • alias_prefix;
  • features;
  • prio;
  • prio_args;
  • failback;
  • rr_weight;
  • no_path_retry;
  • rr_min_io;
  • rr_min_io_rq;
  • flush_on_last_del;
  • fast_io_fail_tmo;
  • dev_loss_tmo;
  • eh_deadline;
  • user_friendly_names;
  • retain_attached_hw_handler;
  • detect_prio;
  • detect_checker;
  • deferred_remove;
  • san_path_err_threshold;
  • san_path_err_forget_rate;
  • san_path_err_recovery_time;
  • marginal_path_err_sample_time;
  • marginal_path_err_rate_threshold;
  • marginal_path_err_recheck_gap_time;
  • marginal_path_double_failed_time;
  • delay_watch_checks;
  • delay_wait_checks;
  • skip_kpartx;
  • max_sectors_kb;
  • ghost_delay;
  • all_tg_pt

Необязательные параметры. если они не заданы, значения берутся из секций devices или

defaults

Пример вида конфигурационного файла:

defaults {
    user_friendly_names yes # Для удобочитаемых имен устройств
    find_multipaths yes
    polling_interval 10
    path_selector "round-robin 0"
    path_grouping_policy multibus # Для балансировки нагрузки между всеми путями
    path_checker tur # Метод проверки доступности пути (tur – Test Unit Ready)
}

blacklist {
    devnode "^sd[a-z]" # Исключение локальных дисков из multipath
}

multipaths {
    multipath {
        wwid 36001405a6b1c7dc5d1a43fa9b0441a7a
        alias mydisk
}
}

devices {
    device {
        vendor "DELL"
        product "MD36.*"
        path_grouping_policy group_by_prio
        path_selector "round-robin 0"
        no_path_retry 5
    }
}
CODE


Изменения в файле multipath.conf не вступают в силу, пока запущен сервис multipathd. После изменений нужно:

  • остановить сервис multipathd;
  • очистить старые привязки multipath командой /sbin/multipath -F;
  • создать новые привязки multipath командой /sbin/multipath -v2 -l;
  • запустить сервис multipathd.