5.4. Проблемы с «queue_if_no_path»

5.4. Проблемы с «queue_if_no_path»

Если файл /etc/multipath.conf содержит выражение features "1 queue_if_no_path", то любой процесс, отправляющий запросы ввода и вывода, просто зависнет, до тех пор пока не будет восстановлен по крайней мере один путь. Чтобы этого избежать, определите параметр no_path_retry N в файле /etc/multipath.conf (где N — число попыток обращения к пути).
После добавления no_path_retry удалите features "1 queue_if_no_path". Если же для устройства это выражение определено по умолчанию (что довольно распространено для многих SAN-устройств), его можно переопределив с помощью features "0". Для этого надо скопировать существующую секцию devices из /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults в /etc/multipath.conf и откорректировать ее в соответствии со своими требованиями.
Если необходимо использовать выражение features "1 queue_if_no_path" и в то же время вы столкнулись с упомянутой выше проблемой, с помощью dmsetup отредактируйте поведение конкретного LUN, для которого пути недоступны. Например, для изменения поведения "queue_if_no_path" устройства mpath2 на "fail_if_no_path" выполните:
dmsetup message mpathc 0 "fail_if_no_path"
При этом требуется указать имя в формате mpathn.