Show Table of Contents
4.3. 配置檔案的預設值
/etc/multipath.conf 配置檔案包括 defaults(預設值)一節,可以將 user_friendly_names 設為 yes,語法如下。
defaults {
user_friendly_names yes
}
這會覆蓋
user_friendly_names 參數的預設值。
這配置檔案包括了所有預設設定的範本。這一部份如下所示,已被設為註解。
#defaults {
# polling_interval 10
# path_selector "round-robin 0"
# path_grouping_policy multibus
# uid_attribute ID_SERIAL
# prio alua
# path_checker readsector0
# rr_min_io 100
# max_fds 8192
# rr_weight priorities
# failback immediate
# no_path_retry fail
# user_friendly_names yes
#}
若要覆蓋任何參數的預設值,您可將此範本裡的相關資訊複製至
defaults 一節裡,並拿掉註解符號。舉例來說,要覆蓋 path_grouping_policy 的原有參數 multibus,使其成為 failover,請將範本中相對應的部份複製至配置檔案的 defaults 一節裡,拿掉註解符號,如同以下顯示:
defaults {
user_friendly_names yes
path_grouping_policy multibus
}
表格 4.1, “Multipath 配置預設值” 描述了
multipath.conf 配置檔案中,defaults 一節裡所設定的屬性。DM Multipath 會使用這些值,除非它們被 multipath.conf 檔案中的 devices 與 multipaths 兩節裡所指定的屬性覆蓋過去。
表格 4.1. Multipath 配置預設值
| 屬性 | 描述 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
polling_interval | 以秒為單位指定兩條路徑之間的檢查時間間隔。對於正確運作的路徑來說,檢查程序之間的時間間隔會逐漸增加(4 * polling_interval)。預設值為 5。 | |||||||||
multipath_dir | 存放動態共享物件的目錄。預設值根據系統而定,一般為 /lib/multipath。 | |||||||||
find_multipaths |
| |||||||||
verbosity | 預設資料詳細等級。愈大的值便會增加資料詳細度的等級。有效的等級範圍為 0 到 6 之間。預設值為 2。 | |||||||||
path_selector |
| |||||||||
path_grouping_policy |
| |||||||||
prio |
| |||||||||
features |
| |||||||||
path_checker |
| |||||||||
failback |
| |||||||||
rr_min_io | 指定欲路由轉送至某路徑的 I/O 請求數量(在切換至目前路徑群組中的下個路徑之前)。這項設定僅適用於執行比 2.6.31 還要舊的 kernel 的系統上。較新的系統應使用 rr_min_io_rq。預設值為 1000。 | |||||||||
rr_min_io_rq | 使用基於請求的 device-mapper-multipath 來指定欲路由轉送至某路徑的 I/O 請求數量(在切換至目前路徑群組中的下個路徑之前)。這項設定應使用於執行最新 kernel 的系統上。在執行比 2.6.31 還要舊的 kernel 的系統上,請使用 rr_min_io,預設值為 1。 | |||||||||
rr_weight | 如果設為 priorities,那麼與其在調用 path_selector 以選擇下個路徑之前發送 rr_min_io 請求至某個路徑,這項請求數量會相當於 rr_min_io 乘以路徑的優先順序;這乃透過 prio 功能所決定。若設為 uniform,所有的路徑皆會擁有相等的權重。預設值為 uniform。 | |||||||||
no_path_retry |
| |||||||||
user_friendly_names | 如果設為 yes,這表示系統應該使用 /etc/multipath/bindings 檔案來指定一個永續性且獨一無二的別名給 multipath 使用,格式為 mpathn。若設為 no,則表示系統應使用 WWID 來作為 multipath 的別名。無論是何種情況,在此所進行的設定,會被您在配置檔案的 multipaths 部份中,所指定的任何裝置特屬別名取代。預設值為 no。 | |||||||||
queue_without_daemon | 若設為了 no,當 multipathd daemon 關閉時,它將會停用所有裝置的排程。預設值為 no。 | |||||||||
flush_on_last_del | 若設為 yes,當連上裝置的最後一條路徑被刪除時,multipathd daemon 便會停用佇列功能。預設值為 no。 | |||||||||
max_fds | 設置 multipath 以及 multipathd daemon 所能開啟的最大數量 open file descriptor。這與 ulimit -n 指令相等。由 RHEL 6.3 發行版起,預設值乃 max,並透過 /proc/sys/fs/nr_open 來將系統設為最大值。在較早的發行版中,若未進行這項設置,open file descriptor 的最大值將會由調用程序取得;一般乃 1024。若該數量大於 1024,為安全起見,應設為路徑的最大值加 32。 | |||||||||
checker_timeout | 使優先權設定程式與路徑檢查程式發出 SCSI 指令和明確逾時(秒)的逾時功能。預設值乃透過 sys/block/sdx/device/timeout 取得。 | |||||||||
fast_io_fail_tmo | 當在一個 FC 遠端連接埠上偵測到錯誤時,SCSI 層在傳輸失效 I/O 給該遠端連接埠上的裝置之前,所等待的秒數。此數值應比 dev_loss_tmo 的值還要小。若將此設為 off 將會停用逾時功能。預設值是由 OS 所決定的。 | |||||||||
dev_loss_tmo | 當在一個 FC 遠端連接埠上偵測到錯誤時,SCSI 層將該連接埠由系統移除之前,所等待的秒數。將此設為無限制,會將其設為 2147483647 秒,或 68 年。預設值乃透過 OS 所決定的。 | |||||||||
hwtable_string_match |
| |||||||||
retain_attached_hw_handler | 如果此參數設為 yes,並且 SCSI 層已經設為路徑裝置的硬體處理程式,那麼 multipath 不會強迫裝置使用 multipath.conf 檔案所指定的 hardware_handler。如果 SCSI 層並未連結硬體處理程式,multipath 會繼續如常使用其配置的硬體處理程式。預設值為 no。 | |||||||||
detect_prio | 若設為 yes,multipath 會先檢查裝置是否支援 ALUA,如果支援的話,multipath 會自動指定裝置為 alua 優先程式。如果裝置不支援 ALUA,multipath 會如常決定優先程式。預設值為 no。 | |||||||||
reload_readwrite | 若設為 yes,multipathd daemon 會監聽路徑裝置的變更事件,如果裝置變成可讀寫,就會重新載入 multipath 裝置。 | |||||||||
uid_attribute | 提供一項獨特的路徑識別子。預設值為 ID_SERIAL。 | |||||||||
force_sync | (適用 RHEL 7.1 或以上)如果設為 yes,這會避免路徑檢查程式在非同步模式下執行。 | |||||||||
delay_watch_checks | (Red Hat Enterprise Linux Release 7.2 與更新版本)若設為了大於零的值,multipathd daemon 將會以指定的檢查次數來監視近期成為有效的路徑。若這些路徑在被監視時再度失效,當它們下次成為有效時,在通過連續的檢測(透過 delay_wait_checks 指定)前,都不會再被使用。這能避免信賴度低的路徑在重新啟用後被即刻使用。預設值為 no。 | |||||||||
delay_wait_checks | (Red Hat Enterprise Linux 發行版 7.2 與更新版本)若設為一個大於 0 的值,當一個近期重新啟用的裝置在指定次數的檢測(透過 delay_watch_checks 指定)進行中再次失效時,下次它再重新啟用時便會被標記和延緩,並且在它通過了 delay_wait_checks 中所指定得檢測次數之前,它將不會被使用。預設值為 no。 | |||||||||
ignore_new_boot_devs | (Red Hat Enterprise Linux 發行版 7.2 與更新版本)若設為了 yes,當節點早期開機時依然在 initramfs 檔案系統中的時候,multipath 不會建立任何 WWID 不存在 /etc/multipath/wwids 的 initramfs copy 中的裝置。這項功能可用來在安裝時進行啟動,否則 multipath 將會試圖在當時透過 udev 規則顯示、但未宣告的裝置上自行進行設置。這項參數可設為 yes 或 no。若未設置的話,預設值將會是 no。 | |||||||||
retrigger_tries、retrigger_delay | (Red Hat Enterprise Linux 發行版 7.2 與更新版本)若 udev 無法完整處理原始的 uevent 而使得 multipath 無法使用裝置,retrigger_tries 和 retrigger_delay 參數會被結合使用來令 multipathd 重新啟動這些 uevent。若裝置未完整設定,retrigger_tries 參數可被用來設置 multipath 嘗試重新啟動一項 uevent 的次數。retrigger_delay 參數則用來設置重新嘗試之間的間隔(秒)。這兩項選項皆接受大於或等於零的數字。將 retrigger_tries 參數設為零會停用重新嘗試。將 retrigger_delay 參數設為零會使 uevent 在下個路徑檢查的循環中重新發送。若未設置 retrigger_tries 參數,它將會被預設為 3。若未設置 retrigger_delay 參數,它則會被預設為 10。 | |||||||||
new_bindings_in_boot | (Red Hat Enterprise Linux 發行版 7.2 與更新版本)new_bindings_in_boot 這個參數主要用來防止 multipath 在 initramfs 檔案系統中提供一組 user_friendly_name(早已由正規檔案系統中的綁定檔案所提供),這會產生問題因為 initramfs 檔案系統中的 user_friendly_names 綁定僅會在 initramfs 檔案系統重新建立時,才會與正規檔案系統中的綁定同步。當此參數設為 no 時,multipath 將不會在 initramfs 檔案系統中建立新的綁定。若一項裝置在 /etc/multipath/bindings 的 initramfs 副本中不存在綁定,multipath 將會使用其 WWID 作為別名,而非提供一組 user_friendly_name。在啟動程序後續進行時,當節點掛載了正規檔案系統後,multipath 便會提供一組 user_friendly_name 給裝置。此參數能設為 yes 或 no。若未設置的話,預設值將會是 no。 | |||||||||
deferred_remove | 若設為 yes,當最後的路徑裝置被移除後,multipathd 將會進行一項延期的移除,而非正常的移除程序。這可確保當進行正常移除時,若有 multipath 裝置正被使用中而移除程序失敗的情況下,裝置將會在最後一個使用者關閉裝置時被自動移除。預設值為 no。 | |||||||||
log_checker_err | 若設為 once,multipathd 便會以等級 2 的詳細程度紀錄第一項路徑檢查程式錯誤。之後所有的錯誤皆會以等級 3 的詳細程度紀錄,直到裝置復原。若設為 always,multipathd 總是會以等級 2 的詳細程度紀錄路徑檢查程式錯誤。預設值為 always。 |

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.