Linux 主機的設定

為了確保在失效接手實務範例中進行路徑回復,建議使用某些「裝置對映器多重路徑 (DMMP)」設定及 udev 規則,將 Linux® 主機連接至系統。 這些設定適用於 IBM® System x、所有 Intel 或 AMD 型伺服器,以及 Power ® 平台。

完成下列兩個步驟之後,必須重新啟動主機:
  • 在中編輯多路徑設定/etc/multipath.conf
  • 編輯 SCSI 指令逾時的 udev 規則

對於發行套件內的每一個 Linux 發行套件及發行套件,請參閱下的預設值[/usr/share/doc/device-mapper-multipath.*]適用於 Red Hat 及[/usr/share/doc/packages/multipath-tools]適用於 Novell SuSE。 請確定新增至的項目multipath.conf符合所需 Linux 發行套件的格式和語法。 請利用multipath.conf僅來自您的相關發行套件。 請勿複製multipath.conf從一個配送或釋放到另一個配送或釋放的檔案。

對於部分作業系統層次,polling_interval需要位於預設值下,而不是位於 裝置設定下。 如果polling_interval在裝置區段中,註銷polling_interval使用 # 鍵。

例如:
Under Device Section
# 		polling_interval 30,

Under Defaults Section
defaults {
		user_friendly_names yes
		polling_interval  30
}

特定 Linux 發行套件和版本的多重路徑設定

編輯/etc/multipath.conf使用下列參數,並輸入下列指令來確認變更:
multipathd -k
multipathd> show config
附註: Oracle Linux 版本與 Red Hat Linux 版本相同。
Red Hat Linux 5.x 版、6.0 版和 6.1 版
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0"
     prio_callout "/sbin/mpath_prio_alua /dev/%n" #Used by Red Hat 5.x
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io 1000
     dev_loss_tmo 120	
Red Hat Linux 6.2 版和更新版本
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0" # Used by Red Hat 6.2
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
Red Hat Linux 7.x 版及 8.x 版
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" # Used by Red Hat 7.x
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
SUSE Linux 10.x 版、11.0 版和第 11 版 SP1
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0"
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io 1000
     dev_loss_tmo 120	
SUSE Linux 第 11 版 SP2
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0" # Used by SLES 11 SP2
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
SUSE Linux 第 11 版 SP3+
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" # Used by SLES 11 SP3+
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120	
SUSE Linux 第 12 版及第 15 版
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" 
     prio "alua"
     path_checker "tur"
     failback "immediate"
     retain_attached_hw_handler "yes"
     no_path_retry 5 # or no_path_retry "fail"
     fast_io_fail_tmo 5
     rr_min_io 1000
     rr_min_io_rq 1
     rr_weight "uniform"	
Ubuntu
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" 
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5 # or no_path_retry "fail"
     retain_attached_hw_handler "yes"
     fast_io_fail_tmo 5
     rr_min_io 1000
     rr_min_io_rq 1
     rr_weight "uniform"	

dev_loss_tmo 的 DM-MPIO

在光纖通道埠上偵測到問題並設為無限後,SCSI 層可以等候 2147483647 秒(68 年),之後才將其從系統中移除。 預設值由 OS 決定。

所有 Linux 主機都應該具有 dev_loss_tmo 設定,但值 (以秒為單位) 是等待刪改裝置/路徑的時間長度。 建議期間為 120-150 秒,但也支援延長的期間。

如果它太低,則需要注意,因為如果刪改了路徑,則還需要重新探索它們;如果太低,則可能需要稍後手動重新掃描。 如果查詢超時是正確的,則還原 SVC 節點後,主機應能夠重新新增路徑。

如果查詢太短(例如 20 秒),則查詢可能會在路徑備妥之前逾時。

多路徑驅動程式

如果您遺失路徑並且沒有自動還原,則可以透過以下程序手動將其找回。

  • 如果您使用 Linux dm-multipath 作為multipathing主機上的軟體,以及 SVC 上已停用 NPIV ,在每一個節點還原其路徑之後,可能需要重新掃描埠。
  • 如果您在 SVC 上停用了 NPIV,則需要其他配置。 在升級期間,已停用 NPIV 的 SVC 將會長時間關閉埠,這可能會導致 Linux 移除埠。
  • 此設定可以套用至執行中系統,但也必須套用至GRUB配置,以確保它在重新開機時持續保存。
  • 可能的情況是,即使採用此設定,SVC 升級仍可能保持埠關閉,關閉時間長於逾時設定所容許。 SVC 节点還原作業後,可能有必要重新扫描埠。
  • 一旦 SVC 節點完成升級,請在更新下一個節點之前使用 multipath 指令檢查路徑狀態:
    # multipath -ll /dev/mapper/mpatha 
    (360050768028211d8b000000000000061) dm-11 IBM,2145
    size=10G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
    |-+- policy='service-time 0' prio=50 status=enabled
    | |- 4:0:1:0  sder    129:48  failed faulty running
    | `- 5:0:1:0  sdfb    129:208 failed faulty running
    `-+- policy='service-time 0' prio=10 status=active 
     |- 4:0:0:0  sdem    128:224 active ready running 
     `- 5:0:0:0  sdew    129:128 active ready running#

在上面的範例中,選擇裝置名稱(而不是 mpatha)以符合正在執行升級的 SVC 所利用的裝置。 failedfaulty 狀態,指出 Linux的路徑仍在關閉中。 您可以使用 multipath -ll 指令來列出所有裝置名稱,然後在輸出中掃描失敗路徑,確認失敗路徑位於 SVC 升級的關聯裝置上。

若要重新掃描 Red Hat® Enterprise Linux 或 SUSE Linux Enterprise Server 上的所有 SCSI 目標和埠,請使用 rescan-scsi-bus.sh 指令 (屬於sg3_utils套件。

如果您的 Linux 發行套件不包含 rescan-scsi-bus.sh 指令,請使用 SCSI-rescan 指令重新掃描所有 SCSI 目標。