Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
4.5. 配置檔案裝置
表格 4.3, “裝置屬性” 顯示了
multipath.conf
配置檔案的 devices
部份中,您可為各個儲存裝置所設定的屬性。這些屬性會由 DM-Multipath 所使用,除非它們被(包含了裝置的路徑所屬的)multipath.conf
配置檔案的 multipaths
一節中所指定的屬性覆寫。這些屬性會蓋過設定於 multipath.conf
檔案的 defaults
一節中的屬性。
許多支援 multipath 功能的裝置,就預設值皆包含在 multipath 的配置中。就預設值受到支援之裝置的值,皆列於
multipath.conf.defaults
檔案中。您也許不用修改這些裝置的值,但如果您打算修改的話,您可覆寫這些預設值,方法是在配置檔案中為一項裝置寫入一條項目,覆蓋過這些值。您可從 multipath.conf.defaults
檔案複製某個裝置的配置預設值,並覆寫您所希望改變的值。
若要在配置檔案的本節中,新增一項就預設值不會自動配置的裝置,您需要設定
vendor
與 product
參數。您可以尋找 /sys/block/device_name/device/vendor
與 /sys/block/device_name/device/model
,以取得這些值,其中 device_name 代表欲 multipath 的裝置,如以下範例所示:
#cat /sys/block/sda/device/vendor
WINSYS #cat /sys/block/sda/device/model
SF2372
需指定的額外參數取決於您的裝置。若裝置為 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 裝置(大部分皆支援)來說皆通用。
表格 4.3. 裝置屬性
屬性 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
vendor | 指定儲存裝置的製造商名稱,給 device 屬性使用;例如 COMPAQ 。 | |||||||||
product | 指定 device 屬性所使用的儲存裝置之產品名稱,例如 HSV110 (C)COMPAQ 。 | |||||||||
revision | 指定儲存裝置的產品修訂識別元。 | |||||||||
product_blacklist | 指定常規表示式,藉由產品名稱將裝置納入黑名單。 | |||||||||
hardware_handler |
| |||||||||
path_grouping_policy |
| |||||||||
getuid_callout | 指定欲調用的預設程式和引數,以取得獨一無二的路徑識別元。需要絕對路徑。 | |||||||||
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 使用,格式為 mpath n 。若設為 no ,則表示系統應使用 WWID 來作為 multipath 的別名。無論是何種情況,在此所進行的設定,會被您在配置檔案的 multipaths 部份中,所指定的任何裝置特屬別名取代。預設值為 no 。 | |||||||||
retain_attached_hw_handler | (適用 RHEL 6.4 以上)如果此參數設為 yes ,並且 scsi 層已經設為路徑裝置的硬體處理程式,那麼 multipath 不會強迫裝置使用 multipath.conf 檔案所指定的 hardware_handler 。如果 scsi 層並未連結硬體處理程式,multipath 會繼續如常使用其配置的硬體處理程式。 | |||||||||
detect_prio | (適用 RHEL 6.4 以上)如果設為 yes ,multipath 會先檢查裝置是否支援 ALUA,如果支援的話,multipath 會自動指定裝置為 alua 優先程式。如果裝置不支援 ALUA,multipath 會如常決定優先程式。 |
以下範例顯示了 multipath 配置檔案中,
device
一節。
# } # device { # vendor "COMPAQ " # product "MSA1000 " # path_grouping_policy multibus # path_checker tur # rr_weight priorities # } #}