Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.6. queue_if_no_path 功能上的問題

如果 /etc/multipath.conf 檔案裡面指定了 features "1 queue_if_no_path",那麼任何發出 I/O 的程序都會暫停,直到一或多條路徑回復了為止。若要避免此問題,您可以在 /etc/multipath.conf 檔案中設定 no_path_retry N 參數(其中 N 代表系統重新嘗試路徑的次數)。
當您設置 no_path_retry 參數時,請也將 features "1 queue_if_no_path" 選項由 /etc/multipath.conf 檔案中移除。不過,若您正在使用一個 features "1 queue_if_no_path" 選項被設為編譯預設值的 multipath 裝置(許多 SAN 裝置皆是如此),您必須明確地附加 features "0" 以置換此預設值。若要這麼作,您可藉由 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults 將您裝置既有的裝置部份複製至 /etc/multipath.conf 中,並視需求進行編輯。
如果您需要使用 features "1 queue_if_no_path" 選項,同時也遇到此處所述的問題,請使用 dmsetup 指令,並在 runtime 時為特定的 LUN(也就是針對所有無法使用的路徑)編輯政策。舉例來說,如果您想要將 mpathc multipath 裝置上的政策由 "queue_if_no_path" 改變成 "fail_if_no_path",請執行下列指令。
dmsetup message mpathc 0 "fail_if_no_path"
請注意,您必須指定 mpathn 的別名,而不是路徑。