Show Table of Contents
4.5. 配置檔案裝置
表格 4.3, “裝置屬性” 顯示了
multipath.conf 配置檔案的 devices 部份中,您可為各個儲存裝置所設定的屬性。這些屬性會由 DM Multipath 所使用,除非它們被(包含了裝置的路徑所屬的)multipath.conf 配置檔案的 multipaths 一節中所指定的屬性覆寫。這些屬性會蓋過設定於 multipath.conf 檔案的 defaults 一節中的屬性。
就預設值,許多支援 multipath 的裝置皆包含在一個 multipath 配置中。欲取得更多有關於預設配置值(包括受支援的裝置)上的相關資訊,請執行下列指令之一。
#multipathd show config#multipath -t
您也許不用修改這些裝置的值,但如果您打算修改的話,您可覆寫這些預設值,方法是在配置檔案中為一項裝置寫入一條項目,覆蓋過這些值。您可從
multipathd show config 指令顯示的輸出複製某個裝置的裝置配置預設值,並覆寫您所希望改變的值。
若要在配置檔案的本節中,新增一項就預設值不會自動配置的裝置,您需要設定
vendor 與 product 參數。您可以尋找 /sys/block/device_name/device/vendor 與 /sys/block/device_name/device/model,以取得這些值,其中 device_name 代表需 multipath 的裝置,如以下範例所示:
#cat /sys/block/sda/device/vendorWINSYS #cat /sys/block/sda/device/modelSF2372
需指定的額外參數取決於您的裝置。若裝置為 active/active,那麼您一般不需要設置額外的參數。您可能需要將
path_grouping_policy 設為 multibus。其它您可能會需要設置的參數包括 no_path_retry 與 rr_min_io,如〈表格 4.3, “裝置屬性”〉中所述。
若裝置為 active/passive,但會自動將 I/O 切換至 passive 路徑,那麼您便需要將檢查功能改變為不會發送 I/O 至路徑,以測試它是否能成功運作(否則,您的裝置將會持續進入備援狀態)。這意味著您幾乎總是要將
path_checker 設為 tur;這對所有支援 Test Unit Ready 指令的 SCSI 裝置(大部分皆支援)來說皆通用。
若裝置需要特殊的指令來切換路徑,那麼為這項裝置配置 multipath,便需要硬體 kernel 處理模組。目前可用的硬體處理程式為
emc。若這對於您的裝置來說不夠用,您可能無法為裝置配置 multipath。
表格 4.3. 裝置屬性
| 屬性 | 描述 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
vendor | 指定儲存裝置的製造商名稱,供 device 屬性使用;例如 COMPAQ。 | ||||||||
product | 指定 device 屬性所使用的儲存裝置之產品名稱,例如 HSV110 (C)COMPAQ。 | ||||||||
revision | 指定儲存裝置的產品修訂識別子。 | ||||||||
product_blacklist | 指定常規表示式,藉由產品名稱將裝置納入黑名單。 | ||||||||
hardware_handler |
| ||||||||
path_grouping_policy |
| ||||||||
path_selector |
| ||||||||
path_checker |
| ||||||||
features |
| ||||||||
prio |
| ||||||||
failback |
| ||||||||
rr_weight | 如果設為 priorities,那麼與其在調用 path_selector 以選擇路徑之前發送 rr_min_io 請求至一條路徑上,此請求數量會取決於 rr_min_io 乘以路徑的優先值,如 prio 函式所決定。若設為了 uniform,所有路徑的權重皆會相等。 | ||||||||
no_path_retry |
| ||||||||
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。 | ||||||||
fast_io_fail_tmo | 在一個 FC 遠端連接埠上偵測到問題後,SCSI 層在使該遠端連接埠上的裝置 I/O 失效前,所會等待的秒數。這個值應比 dev_loss_tmo 的值還要小。把這設為 off 將會停用逾時。 | ||||||||
dev_loss_tmo | 當在一個 FC 遠端連接埠上偵測到錯誤時,SCSI 層將該連接埠由系統移除之前,所等待的秒數。將此設為無限制,會將其設為 2147483647 秒,或 68 年。 | ||||||||
flush_on_last_del | 若設為 yes,當連上裝置的最後一條路徑被刪除時,multipathd daemon 便會停用佇列功能。 | ||||||||
user_friendly_names | 如果設為 yes,這表示系統應該使用 /etc/multipath/bindings 檔案來指定一個永續性且獨一無二的別名供 multipath 使用,格式為 mpathn。若設為 no,則表示系統應使用 WWID 來作為 multipath 的別名。無論是何種情況,在此所進行的設定,會被您在配置檔案的 multipaths 部份中,所指定的任何裝置特屬別名取代。預設值為 no。 | ||||||||
retain_attached_hw_handler | 如果此參數設為 yes,並且 SCSI 層已經設為路徑裝置的硬體處理程式,那麼 multipath 不會強迫裝置使用 multipath.conf 檔案所指定的 hardware_handler。如果 SCSI 層並未連結硬體處理程式,multipath 會繼續如常使用其配置的硬體處理程式。預設值為 no。 | ||||||||
detect_prio | 若設為 yes,multipath 會先檢查裝置是否支援 ALUA,如果支援的話,multipath 會自動指定裝置為 alua 優先程式。如果裝置不支援 ALUA,multipath 會如常決定優先程式。 | ||||||||
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 中所指定得檢測次數之前,它將不會被使用。 | ||||||||
deferred_remove | 若設為 yes,當最後的路徑裝置被移除後,multipathd 將會進行一項延期的移除,而非正常的移除程序。這可確保當進行正常移除時,若有 multipath 裝置正被使用中而移除程序失敗的情況下,裝置將會在最後一個使用者關閉裝置時被自動移除。 |
以下範例顯示了 multipath 配置檔案中,
device 一節。
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# path_checker tur
# rr_weight priorities
# }
#}
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.