Red Hat Training

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

4.4. Multipath 裝置配置的屬性

表格 4.2, “Multipath 的屬性” 顯示了各個特定 multipath 裝置在 multipath.conf 配置檔案的 multipaths 一節中,您可設定的屬性。這些屬性只會用在該節所指定的 multipath 上。這些預設值會由 DM Multipath 所使用,並覆寫設定於 multipath.conf 檔案中的 defaultsdevices 這兩節裡的屬性。

表格 4.2. Multipath 的屬性

屬性描述
wwid 指定了 multipath 屬性所會套用的 multipath 裝置 WWID。此參數在 multipath.conf 檔案中的此部份中是必要的。
alias 為 multipath 裝置指定 multipath 屬性適用的符號名稱。若您正在使用 user_friendly_names,請勿將這個值設為 mpathn;這可能會造成與自動指定的使用者易記得名稱之間的衝突,並提供您錯誤的裝置節點名稱。
path_grouping_policy
指定預設路徑群組政策,以套用至未指定的 multipath。可用的值包含了:
failover = 每個優先群組一條路徑
multibus = 所有合於規定的路徑歸類在一個優先群組
group_by_serial = 每個偵測到的序號一個優先群組
group_by_prio = 每個路徑優先值一個優先群組
group_by_node_name = 每個目標節點名稱一個優先群組
path_selector
指定用來決定下一項 I/O 作業時,該使用何路徑的預設演算法則。有效的值包含了:
round-robin 0:在路徑群組中的所有路徑之間進行循環,並將相同的 I/O 數量傳送至各個路徑。
queue-length 0:將下個 I/O 量傳送至含有最少未處理之 I/O 請求數量的路徑。
service-time 0:將下個 I/O 量傳送至含有最短預估服務時間的路徑,這是透過將未處理的 I/O 總數,除以各個路徑的傳輸量來取得的。
failback
管理路徑群組的容錯回復。
immediate 值可指定即刻容錯回復至包含了已啟用路徑的最高優先權之路徑群組。
manual 這個值指定容錯回復不會即刻發生,只有在運算子干預時,容錯回復才會發生。
followover 值指定當某個路徑群組中的第一條路徑啟用時,自動容錯回復便會進行。這會避免當有個節點請求容錯回復時,另一個節點自動進行容錯回復。
超過零的數值表示遞延的容錯回復,單位為秒數。
prio
指定欲調用的預設函式,以取得路徑優先值。舉例來說,SPC-3 中的 ALUA 位元提供了一組可供利用的 prio 值。可使用的值包含了:
const:將所有路徑的優先值設為 1。
emc:為 EMC 陣列產生路徑優先權。
alua:根據 SCSI-3 ALUA 設定產生路徑優先權。
ontap:為 NetApp 陣列產生路徑優先權。
rdac:為 LSI/Engenio RDAC 控制器產生路徑優先權。
hp_sw:為 active/standby 模式的 Compaq/HP 控制器產生路徑優先權。
hds:為 Hitachi HDS Modular 儲存裝置陣列產生路徑優先權。
no_path_retry
這個屬性是用數字表示,它指定了系統在停用佇列之前,應試圖使用失效路徑的次數。
fail 表示立即失效,不進入佇列。
queue 值代表排程不應停止,直到路徑修正為止。
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,所有路徑的權重皆會相等。
flush_on_last_del 若設為 yes,multipath 將會在某個裝置的最後一條路徑被刪除時,停用佇列。
user_friendly_names 如果設為 yes,這表示系統應該使用 /etc/multipath/bindings 檔案來指定一個永續性且獨一無二的別名供 multipath 使用,格式為 mpathn。若設為 no,則表示系統應使用 WWID 來作為 multipath 的別名。無論是何種情況,在此所進行的設定,會被您在配置檔案的 multipaths 部份中,所指定的任何裝置特屬別名取代。
delay_watch_checks (Red Hat Enterprise Linux Release 7.2 與更新版本)若設為了大於零的值,multipathd daemon 將會以指定的檢查次數來監視近期成為有效的路徑。若這些路徑在被監視時再度失效,當它們下次成為有效時,在通過連續的檢測(透過 delay_wait_checks 指定)前,都不會再被使用。這能避免信賴度低的路徑在重新啟用後被即刻使用。
delay_wait_checks (Red Hat Enterprise Linux 發行版 7.2 與更新版本)若設為一個大於 0 的值,當一個近期重新啟用的裝置在指定次數的檢測(透過 delay_watch_checks 指定)進行中再次失效時,下次它再重新啟用時便會被標記和延緩,並且在它通過了 delay_wait_checks 中所指定得檢測次數之前,它將不會被使用。
config_dir (Red Hat Enterprise Linux 發行版 7.2 與更新版本)若設為 "" 以外的項目,multipath 將會以字母順序在此目錄中搜尋副檔名為 ".conf" 的檔案,並讀取其配置資訊,如同資訊在 /etc/multipath.conf 檔案中一般。這能讓您在使用多個機器特屬的配置檔案之外,亦可使用一個主要配置以共享於機器之間。config_dir 這個參數必須是 "" 或是一組完整的目錄名稱。此參數僅能在設置於主要的 /etc/multipath.conf 檔案中,而不可在指定於 config_dir 檔案裡的檔案中設置。預設值為 /etc/multipath/conf.d
deferred_remove若設為 yes,當最後的路徑裝置被移除後,multipathd 將會進行一項延期的移除,而非正常的移除程序。這可確保當進行正常移除時,若有 multipath 裝置正被使用中而移除程序失敗的情況下,裝置將會在最後一個使用者關閉裝置時被自動移除。
以下範例顯示了 multipath 配置檔案裡面,針對兩個特定 multipath 裝置的屬性。第一個裝置的 WWID 是 3600508b4000156d70001200000b0000,符號名稱為 yellow
例子中第二個 multipath 裝置的 WWID 為 1DEC_____321816758474,符號名稱是 red。在這個例子中,rr_weight 這項屬性是設定為 priorities
multipaths {
       multipath {
              wwid                  3600508b4000156d70001200000b0000
              alias                 yellow
              path_grouping_policy  multibus
              path_selector         "round-robin 0"
              failback              manual
              rr_weight             priorities
              no_path_retry         5
       }
       multipath {
              wwid                  1DEC_____321816758474
              alias                 red
              rr_weight             priorities
        }
}