multipath配置詳細參考

sqysl發表於2020-01-21

 

1.配置檔案結構及位置
multipath配置檔案/etc/multipath.conf由節(section),子節(sub-section),屬性(atribute)和屬性值(value)等組成,其結構具體如下所示:
<section> {
    <attribute> <value>
    ...
    <subsection> {
    <attribute> <value>
    ...
    }
}
配置檔案的模板預設位於/usr/share/doc/device-mapper-multipath-X.Y.Z/multipath.conf(X,Y,Z為multipath的實際版本號),配置multipath配置檔案時,可以將該檔案複製於/etc/multipath.conf,
然後,在進行定製配置。

其中,可用的節關鍵字如下:
1)defaults:全域性屬性的預設設定。
2)blacklist:黑名單,multipath會忽略黑名單中的裝置。
3)blacklist_exceptions:免除黑名單,加入黑名單內,但包含在這裡的裝置不會被忽略。
4)multipaths:多路徑相關配置。
5)devices:儲存裝置相關配置。

2.defaults節可用屬性
1)polling_interval:路徑檢查的時間間隔,單位秒(s)。
2)max_polling_interval:路徑檢查的最大時間間隔,預設為polling_interval的4倍,單位秒(s)。
3)multipath_dir:多路徑共享庫的路徑,具體與系統相關,預設為/lib/multipath或/lib64/multipath。
4)find_multipaths:預設值no,這將為黑名單外的所有裝置建立多路徑裝置。如置為yes,則將為3種場景建立多路徑裝置:不在黑名單的兩個路徑的wwid相同;使用者手動強制建立;一個路徑的wwid與之前已經建立的多路徑裝置相同。
5)verbosity:資訊輸出等級,最低為0,最高為6,預設為2。
6)path_selector:路徑選擇演算法,其中,“round-robin 0”表示在多個路徑間不斷迴圈;“queue-length 0”表示選擇當前處理IO數最少的路徑;“service-time 0”表示選擇IO服務時間最短的路徑。
7)path_grouping_policy:路徑分組策略,其中,“failover” 表示一條路徑一個組(預設值);“multibus”表示所有路徑在一個組;“group_by_serial”表示根據序列號分組;“group_by_prio”表示根據優先順序分組;
  “group_by_node_name”表示根據名字分組。
8)uid_attribute:用udev的哪個屬性唯一標識一個裝置,預設值為ID_SERIAL。
9)prio:路徑優先順序獲取方法,其中,“const”返回1(預設值);“emc”為emc盤陣生成優先順序;“alua”基於SCSI-3 ALUA配置生成優先順序;“ontap”為NetAPP盤陣生成優先順序;
  “rdac”為LSI/Engenio/NetApp E-Series RDAC控制器生成優先順序;“hp_sw”根據Compaq/HP控制器active/standby模式生成優先順序;“hds”為日立HDS模組化陣列生成優先順序;
  “random”隨機生成優先順序,其值在1到10間;“weightedpath”根據正規表示式及prio_args引數值生成優先順序。
10)prio_args:計算優先順序函式的引數。
11)features:指定使用Device Mapper的特性,其中,“queue_if_no_path”表示沒有可用路徑時,將請求加入佇列;“no_partitions”表示禁止使用kpartx生成分割槽。
12)path_checker:路徑檢查方法,其中,“readsector0”表示透過讀取裝置的第一扇區來決定路徑狀態,已廢棄,用directio替代;“tur”表示執行“TEST UNIT READY”命令來決定路徑狀態;
   “emc_clariion”表示執行“EMC Clariion specific EVPD page 0xC0”來決定路徑的狀態;“hp_sw”表示檢查惠普Active/Standby盤陣;“rdac”表示檢查“LSI/Engenio/NetApp E-Series RDAC”儲存控制器的狀態;
   “direction”表示用DirectIO讀取裝置的第一個扇區。
13)failback:恢復路徑的方法,其中,“Immediate”表示立即恢復到包含活動路徑的高優先順序路徑組;“manual”表示手動恢復(預設值);“followover”表示只有路徑組的第一條路徑可用時才恢復;
   “values>0”表示延遲恢復。
14)rr_min_io:切換到當前路徑組中下一條路徑前進行的IO數,僅用於2.6.31的核心版本號,預設值為1000。
15)rr_min_io_rq:切換到當前路徑組中下一條路徑前進行IO數,僅用於2.6.31及以後的核心版本號,預設值為1。
16)no_path_retry:禁用佇列前系統重試的次數,“fail”表示直接返回錯誤,“queue”表示全部加入佇列,預設值為0。
17)user_friendly_names:如為yes,則用/etc/multipath/bindings中的設定命名;如為no,則使用wwid命名(可被multipaths中的設定覆蓋),預設值為no。
18)max_fds:multipathd和multipath可開啟的最大檔案描述符數。
19)checker_timeout:路徑檢查的超時時間,單位秒(s),預設值為/sys/block/sd<x>/device/timeout值。
20)fast_io_fail_tmo:SCSI IO錯誤超時,應比dev_loss_tmo小,為off則禁用超時。
21)dev_loss_tmo:SCSI裝置移除超時,Linux下的預設為為300,單位秒(s)。
22)queue_without_daemon:如置為no,如multipathd沒啟動,則禁止所有裝置的IO加入佇列。
23)bindings_file:設定了user_friendly_names時,名稱繫結檔案的路徑,預設值為/etc/multipath/bindings。
24)wwids_file:wwids跟蹤檔案路徑,預設為/etc/multipath/wwids。
25)log_checker_err:路徑檢查出錯時的日誌記錄方式,預設為always。
26)reservation_key:為mpathpersist命令指定的key。
27)retain_attached_hw_handler:是否繼續使用hardware_handler,預設為no。
28)detect_prio:如置為yes,則首先嚐試使用alua檢測,預設為no。
29)hw_str_match:如置為yes,則優先使用字串匹配名稱、廠商等資訊,預設為no。
30)force_sync:如置為yes,則強制使用同步模式檢查路徑,預設為no。
31)deferred_remove:如置為yes,則延遲刪除沒有路徑的裝置,預設為no。
32)config_dir:指定配置檔案的目錄,如不為“”,則按照字母排序搜尋目錄中的*.conf檔案,像使用/etc/multipath.conf一樣對其進行讀取,預設為/etc/multipath/conf.d。
33)delay_watch_checks:如大於0,則只有連續delay_watch_checks檢查路徑有效時,才認為有效,預設為no。
34)delay_wait_checks: 如大於0,經過delay_watch_check檢查有效後,延遲delay_wait_checks次檢查後,才正式重新啟用,預設為no。
35)missing_uev_msg_delay:   當一個新的裝置被建立後,在延遲missing_uev_msg_delay秒後開始接受udev資訊,預設值是30。

3.blacklist配置
blacklist內的裝置將會被多路徑忽略,有三種格式:
1)wwid後跟裝置的WWID;
2)devnode後跟裝置名稱的正規表示式;
3)device裝置描述,為一個子節(Subsection),其需包含vendor、product,詳細可參考devices節的描述。
blacklist_exceptions語法與blacklist相同,表示取消對blacklist中裝置的忽略。

4.multipaths配置
multipaths單獨配置單條路徑,每條路徑單獨使用multipath子節,其可包含如下屬性:
1)wwid:路徑WWID(必選),可用命令/lib/udev/scsi_id -g -u /dev/sdX獲取。
2)alias:裝置別名。
3)path_grouping_policy
4)path_selector    
5)prio    
6)prio_args    
7)failback    
8)rr_weight    
9)flush_on_last_del    
10)no_path_retry    
11)rr_min_io    
12)rr_min_io_q    
13)features    
14)reservation_key    
15)deferred_remove    
16)delay_watch_checks    
17)delay_wait_checks    

5.devices配置
devices節中每個device子節用於描述一個裝置,其主要屬性如下:
1)vendor:生產商(必選)。
2)product:產品型號。
3)revision:版本號。
4)product_blacklist:產品型號黑名單。
5)alias_prefix:裝置名稱字首,預設為mapth。
6)hardware_handler:硬體相關操作的型號,主要有:
  "emc":Hardware handler for EMC storage arrays.
  "rdac":Hardware handler for LSI/Engenio/NetApp E-Series RDAC storage controller.
  "hp_sw":Hardware handler for Compaq/HP storage arrays in active/standby mode.
  "alua":Hardware handler for SCSI-3 ALUA compatible arrays.
7)path_grouping_policy    下面的與defaults節說明相同。
8)uid_attribute    
9)path_selector    
10)path_checker    
11)prio    
12)prio_args    
13)features    
14)failback    
15)rr_weight    
16)no_path_retry    
17)rr_min_io    
18)rr_min_io_rq    
19)fast_io_fail_tmo    
20)dev_loss_tmo    
21)flush_on_last_del    
22)retain_attached_hw_handler    
23)detect_prio    
24)deferred_remove    
25)delay_watch_checks    
16)delay_wait_checks   


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2674228/,如需轉載,請註明出處,否則將追究法律責任。

相關文章