Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
DM Multipath
Red Hat Enterprise Linux 6
DM Multipath 的配置與管理
版 1
摘要
本書提供了在 Red Hat Enterprise Linux 6 中,使用 Device-Mapper Multipath 功能的資訊。
前言
本書描述了 Red Hat Enterprise Linux(簡稱 RHEL)6 發行版的 Device Mapper Multipath(簡稱 DM-Multipath)之功能。
1. 適用讀者
本書的適用讀者為管理 Linux 作業系統的系統管理員。閱讀本書的系統管理員應對 Red Hat Enterprise Linux 有一定的熟悉程度。
2. 相關文件
欲取得更多有關於 Red Hat Enterprise Linux 的資訊,請參閱以下資源:
- 安裝指南 — 記載了有關於安裝 Red Hat Enterprise Linux 6 的相關資訊。
- 建置指南 — 記載了有關於建置、配置與管理 Red Hat Enterprise Linux 6 的相關資訊。
- 儲存裝置管理指南 — 提供了有關於如何在 Red Hat Enterprise Linux 6 上,有效率地管理儲存裝置和檔案系統的相關資訊。
欲取得更多有關於 Red Hat Enterprise Linux 6 的 Red Hat Cluster Suite 的相關資訊,請參閱以下資源:
- 高可用性附加元件總覽 — 提供了 Red Hat 高可用性附加元件(High Availability Add-On)的高階總覽。
- 叢集管理 — 提供了有關於安裝、配置與管理 Red Hat 高可用性附加元件的相關資訊。
- 邏輯卷冊管理員指南 — 提供了邏輯卷冊管理員(LVM,Logical Volume Manager)的詳述,其中包括在叢集環境中執行 LVM 的相關資訊。
- 全球檔案系統 2:設定與管理 — 提供安裝、配置與維護 Red Hat 全球檔案系統(Red Hat GFS2,Red Hat Global File System 2)的相關資訊。
- 負載平衡管理 — 提供了透過負載平衡附加程式(一組整合的軟體元件,在多台實體伺服器之間,透過分配 IP 負載平衡提供 Linux Virtual Server - LVS 功能)配置高效能系統與服務的資訊。
- 發行公告 — 提供了有關於 Red Hat 產品的最新資訊。
Red Hat Cluster Suite 文件以及其它 Red Hat 文件皆擁有 HTML、PDF 以及 RPM 版本,您可以在 Red Hat Enterprise Linux 文件光碟以及〈https://access.redhat.com/site/documentation/〉網站上找到。
3. 我們需要您的意見!
如果您發現本指南中有謬誤之處,或任何能改善本文件的方法,我們竭誠歡迎您的意見。請至 http://bugzilla.redhat.com/ 使用 Bugzilla,並針對於 Red Hat Enterprise Linux 6 產品和 doc-DM_Multipath 元件提交您的意見。當提交錯誤報告時,請記得提供指南的識別元:
rh-DM_Multipath(EN)-6 (2014-10-8T15:15)
如果您有任何改善文件的建議,請盡可能地詳述內容。如果您發現錯誤,請告知我們章節號碼與其附近的本文,如此一來我們便可更容易地找到錯誤。
章 1. Device Mapper Multipathing
Device mapper multipathing(DM-Multipath)能讓您配置伺服器節點與儲存陣列之間的 multipath I/O 路徑,將其整合成一個單一裝置。這些 I/O 路徑是實體的 SAN 連線,包括獨立的網路線、交換器與控制器。multipath 會整合 I/O 路徑,建立包含了已整合路徑的新裝置。
本章節提供了 Red Hat Enterprise Linux 6 初始發行版中的新 DM-Multipath 功能之概述。本章同時提供了高層的 DM-Multipath 與其元件之總覽,以及 DM-Multipath 設定上的總覽。
1.1. 新功能和變更的功能
此部份列出了包含於 Red Hat Enterprise Linux 6 初始發行版與其後的版本中,DM-Multipath 的新功能和變更的功能。
1.1.1. RHEL 6.0 的新功能與變更功能
RHEL 6.0 包括以下更新、變更後的文件與功能。
- 在 Red Hat Enterprise Linux 6 發行版上,基本備援配置的初始 DM-Multipath 設定程序已更改。您現在可透過
mpathconf
配置工具來建立 DM-Multipath 配置檔案,並啟用 DM-Multipath。它亦可載入device-mapper-multipath
模組、啟用multipathd
daemon,和設置chkconfig
,以在重新啟動時自動啟用 daemon。 - Red Hat Enterprise Linux 6 發行版提供了用來設定 multipath 裝置的新模式,並且您可透過
find_multipaths
配置檔案參數來進行這項設置。在先前的 RHEL 發行版中,multipath 總是會嘗試為所有未明確納入黑名單的路徑,建立 multipath 裝置。然而在 RHEL 6 中,若find_multipaths
配置參數設為了yes
,那麼 multipath 便僅會在以下三項條件之一滿足的情況下,建立裝置:- 至少兩個擁有相同 WWID、未納入黑名單的路徑。
- 使用者手動式地透過
multipath
指令來指定裝置,以強制建立裝置。 - 一個路徑擁有與先前建立的 multipath 裝置(儘管該 multipath 裝置目前已不存在)相同的 WWID。若您先前在
find_multipaths
參數尚未設置時建立了 multipath 裝置,請參閱〈節 4.2, “配置檔案的黑名單”〉以取得程序進行上的指示。
此功能應能幫助大部分使用者的 multipath,在無須編輯黑名單的情況下,自動地選擇正確的路徑,以構成 multipath 裝置。欲取得find_multipaths
配置參數上的相關資訊,請參閱〈節 4.3, “配置檔案的預設值”〉。 - Red Hat Enterprise Linux 6 發行版提供了兩個新的路徑選擇演算法,這能判斷下個 I/O 作業該使用哪個路徑:
queue-length
和service-time
。queue-length
演算法會查看路徑的未處理 I/O 數量,以判斷接下來該使用哪個路徑。service-time
演算法會查看未處理 I/O 的數量以及路徑的相聯傳送量,以判斷接下來該使用哪個路徑。欲取得更多有關於配置檔案中,路徑選擇參數上的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。 - 在 Red Hat Enterprise Linux 6 發行版中,優先功能已不再是 callout 程式。它們成為了像是路徑檢查程式功能一般的動態式共享物件。
prio_callout
參數已被prio
參數取代。欲取得受支援的prio
功能上的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。 - 在 Red Hat Enterprise Linux 6 中,
multipath
指令輸出的格式已更改。欲取得multipath
指令輸出上的相關資訊,請參閱〈節 5.7, “Multipath 指令的輸出”〉。 - 在 Red Hat Enterprise Linux 6 發行版中,multipath
bindings
檔案的位置位於/etc/multipath/bindings
。 - Red Hat Enterprise Linux 6 發行版在
multipath.conf
檔案中提供了三個新的defaults
參數:checker_timeout
、fast_io_fail_tmo
以及dev_loss_tmo
。欲取得更多有關於這些參數上的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。 - 當 multipath 配置檔案中的
user_friendly_names
選項被設為yes
時,multipath 裝置的名稱格式便會是mpath
n。在 Red Hat Enterprise Linux 6 發行版上,n 代表數字字元,而 multipath 裝置的名稱則可能會是mpatha
或mpathb
。在先前的發行版中,n 代表一個整數。
1.1.2. RHEL 6.1 的新功能與變更功能
RHEL 6.1 包括以下更新、變更後的文件與功能。
- 本文件包含了新章節〈節 5.2, “將 root 檔案系統從單路徑裝置移到多路徑裝置”〉。
- 本文件包含了新章節〈節 5.3, “將 swap 檔案系統從單路徑裝置移到多路徑裝置”〉。
1.1.3. RHEL 6.2 的新功能與變更功能
RHEL 6.2 包含了下列文件與功能更新及改變。
- RHEL 6.2 發行版提供了一項新的
multipath.conf
參數rr_min_io_rq
,它位於multipath.conf
檔案的defaults
、devices
和multipaths
部分中。rr_min_io
參數在 RHEL 6.2 中已不再會產生影響。欲取得更多有關於rr_min_io_rq
參數上的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。 dev_loss_tmo
配置檔案參數現在已可設為無限制,也就是將實際的sysfs
變數設為 2147483647 秒,或是 68 年。欲取得更多有關於此參數上的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。- 詳述於〈節 5.2, “將 root 檔案系統從單路徑裝置移到多路徑裝置”〉中的程序已更新。
1.1.4. RHEL 6.3 的新功能與變更功能
RHEL 6.3 包含了下列文件與功能更新和變更。
queue_without_daemon
配置檔案參數的值,現在就預設值已設為no
。max_fds
配置檔案參數的值,現在就預設值已設為max
。user_friendly_names
配置檔案參數現在已配置於multipath.conf
配置檔案的defaults
、multipaths
和devices
部分中。multipath.conf
配置檔案的defaults
部分支援了新的hwtable_regex_match
參數。
欲取得更多有關於配置檔案上的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。
1.1.5. RHEL 6.4 的新功能與變更功能
RHEL 6.4 包含了下列文件與功能更新和變更。
multipath.conf
配置檔案中的defaults
與devices
兩節支援新的retain_attached_hardware_handler
與detect_prio
參數。欲知配置檔案的參數資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。- 本文件包含了新章節〈節 3.4, “在 initramfs 檔案系統中設定 multipath”〉。
1.1.6. RHEL 6.5 的新功能與變更功能
Red Hat Enterprise Linux 6.5 包含了下列文件與功能更新和變更。
multipath.conf
配置檔案的defaults
部分支援了新的replace_wwide_whitespace
與新的reload_rewrite
參數。multipath.conf
的defaults
部分之文件記錄在 表格 4.1, “Multipath 配置預設值” 裡。
1.1.7. RHEL 6.6 的新功能與變更功能
Red Hat Enterprise Linux 6.6 包含以下文件、功能上的更新、以及變革。
multipath.conf
配置檔案的defaults
部分支援了新的force_sync
參數。multipath.conf
的defaults
部分之文件記錄在 表格 4.1, “Multipath 配置預設值” 裡。
1.2. DM-Multipath 總覽
DM-Multipath 提供了:
圖形 1.1, “以一個 RAID 裝置來進行 Active/Passive Multipath 的配置” 顯示了 active/passive 配置,其中伺服器有兩條 I/O 路徑連至一組 RAID 裝置。伺服器上有兩組 HBA、兩台 SAN 交換器、以及兩組 RAID 控制器。
圖形 1.1. 以一個 RAID 裝置來進行 Active/Passive Multipath 的配置
在此配置中,有一組 I/O 路徑透過 hba1、SAN1、以及 controller1 連接,第二組 I/O 路徑則透過 hba2、SAN2、以及 controller2 連接。在此配置中,有許多可能失效的情況會發生:
- HBA 失效
- 光纖電纜失效
- SAN 交換器失效
- 陣列控制器連接埠失效
DM-Multipath 配置好之後,以上這些失效皆會導致 DM-Multipath 切換至其它 I/O 路徑。
圖形 1.2, “以兩個 RAID 裝置進行 Active/Passive Multipath 的配置” 顯示了較為複雜的 active/passive 配置,伺服器上有兩組 HBA、兩台 SAN 交換器、兩組 RAID 裝置,並且各有兩組 RAID 控制器。
圖形 1.2. 以兩個 RAID 裝置進行 Active/Passive Multipath 的配置
在 圖形 1.2, “以兩個 RAID 裝置進行 Active/Passive Multipath 的配置” 中所示的範例中,各個 RAID 裝置皆有兩條 I/O 路徑。(類似 圖形 1.1, “以一個 RAID 裝置來進行 Active/Passive Multipath 的配置” 中的範例所示)。當配置了 DM-Multipath 之後,連至 RAID 裝置的 I/O 路徑上的任何失效,皆會造成 DM-Multipath 切換至該裝置的其它 I/O 路徑。
圖形 1.3, “以一個 RAID 裝置來進行 Active/Active Multipath 的配置” 顯示了 active/active 配置,伺服器上有兩組 HBA,一台 SAN 交換器、以及兩組 RAID 控制器。從伺服器到儲存裝置共有四條 I/O 路徑:
- hda1 到 controller1
- hba1 到 controller2
- hba2 到 controller1
- hba2 到 controller2
在此配置中,I/O 可以分散至四條路徑。
圖形 1.3. 以一個 RAID 裝置來進行 Active/Active Multipath 的配置
1.3. 儲存陣列的支援
就預設值,DM-Multipath 支援大部分常見、支援 DM-Multipath 的儲存陣列。受支援的裝置可在
multipath.conf.defaults
檔案中找到。如果您的儲存陣列支援 DM-Multipath,但是就預設值並未配置於此檔案中,您可能需要將其新增至 DM-Multipath 的配置檔案 multipath.conf
中。欲取得更多有關於 DM-Multipath 配置檔案的資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。
某些儲存陣列需要透過一些特別的方式,來處理 I/O 錯誤與路徑切換。這需要個別的硬體處理 kernel 模組。
1.4. DM-Multipath 元件
表格 1.1, “DM-Multipath 元件” 描述了 DM-Multipath 的元件。
表格 1.1. DM-Multipath 元件
元件 | 描述 |
---|---|
dm_multipath kernel 模組 | 將 I/O 重新路由,並支援路徑與路徑群組的備援。 |
mpathconf 工具程式 | 配置並啟用 device mapper multipathing。 |
multipath 指令 | 列出並配置 multipath 裝置。正常來說會以 /etc/rc.sysinit 啟動,但不管何時有區塊裝置加入時,也可以透過 udev 程式來啟動。 |
multipathd daemon | 監控路徑;當路徑失效後又重新啟用,它會切換路徑群組。它也可以用於互動式的變更 multipath 裝置。/etc/multipath.conf 檔案如有任何改變,這 daemon 必須重新啟動。 |
kpartx 指令 | 要為裝置上的分割區建立 device mapper 裝置,您需要用這項指令來分割 DOS 類的分割區給 DM-multipath 使用。kpartx 是個獨立套件,但是 device-mapper-multipath 套件相依於 kpartx 。 |
1.5. DM-Multipath 設定總覽
DM-Multipath 包括已編譯的預設設定,適用於一般的 multipath 環境。設定 DM-multipath 多半是非常容易的步驟。
為您系統設置 DM-Multipath 的基本程序如下:
- 安裝
device-mapper-multipath
rpm。 - 透過
mpathconf
指令建立配置檔案並啟用 multipath。若您無須編輯配置檔案,您亦可透過這項指令來啟用 multipath daemon。 - 視需求編輯
multipath.conf
配置檔案,以修改預設值並儲存已更新的檔案。 - 啟動 multipath daemon。
欲取得 multipath 配置上的詳細設定指示,請參閱〈章 3, 設定 DM-Multipath〉。
章 2. Multipath 裝置
若沒有 DM-Multipath,從伺服器節點到儲存控制器的每條路徑皆會被系統視為各別裝置,即使當 I/O 路徑將同樣的伺服器節點連到同樣的儲存控制器亦然。DM-Multipath 提供了整理 I/O 路徑的邏輯方法,作法是在其下的裝置上方,建立單一的 multipath 裝置。
2.1. Multipath 的裝置識別子
每個 multipath 裝置皆有一個 WWID(World Wide Identifier,全球識別子),它是全世界獨一無二、不會改變的。預設上,multipath 裝置名稱會設定為它的 WWID。您可以設定 multipath 設定檔裡面的
user_friendly_names
選項,以 mpath
n
格式設定別名。
舉例來說,有兩個 HBA 的節點透過單一、不分區的光纖交換器連上擁有兩個連接埠的儲存控制器,會看到四個裝置:
/dev/sda
、/dev/sdb
、dev/sdc
以及 /dev/sdd
。DM-Multipath 會使用一組獨一無二的 WWID 建立單一裝置,並依據 multipath 的設定,將這四組裝置的 I/O 重新導向到這單一裝置上。當 user_friendly_names
設定設為 yes
的時候,multipath 裝置會設成 mpath
n
。
當新裝置納入 DM-Multipath 的控制之下時,新裝置可能會在
/dev
目錄下的兩個地方看到:/dev/mapper/mpath
n
以及 /dev/dm-
n
。
/dev/mapper
裡的裝置是在開機過程中建立的。您可使用這些裝置來存取 multipath 裝置,比方說當建立邏輯卷冊時。- 所有
/dev/dm-
n
裝置都是給內部使用,請不要使用這些裝置。
欲取得更多 multipath 預設配置上的相關資訊,包括
user_friendly_names
配置選項,請參閱〈節 4.3, “配置檔案的預設值”〉。
您亦可依您的選擇來設置 multipath 裝置的名稱,方法就是使用 multipath 配置檔案的
multipaths
部份中的 alias
選項。欲取得更多有關於 multipath 配置檔案中的 multipaths
一節的相關資訊,請參閱〈節 4.4, “Multipath 裝置配置的屬性”〉。
2.2. 叢集裡一致的 Multipath 裝置名稱
當
user_friendly_names
配置選項設為 yes
時,multipath 裝置的名稱對節點來說將會是獨特的;但對使用該 multipath 裝置的所有節點來說,不能保證是唯一的。相同地,若您在 multipath.conf
配置檔案的 multipaths
部份中為某個裝置設置了 alias
選項,該名稱不會自動地在叢集中的所有節點上保持一致。若您使用了 LVM 來由 multipath 裝置建立邏輯裝置的話,這應該不會造成任何問題,不過,如果您希望每個節點中皆使用一致的 multipath 裝置名稱,建議您不要將 user_friendly_names
選項設為 yes
,並且不要為裝置配置別名。就預設值,若您不將 user_friendly_names
設為 yes
或為裝置配置別名的話,裝置名稱將會是裝置的 WWID,並且這將總是相同的。
然而,若您希望叢集中所有節點的系統定義、使用者易記的名稱一致的話,您可依照下列程序進行:
- 在一部機器上設定所有的 multipath 裝置。
- 請透過以下指令來停用您在其它機器上的所有 multipath 裝置:
#
service multipathd stop
#multipath -F
- 將
/etc/multipath/bindings
檔案由第一部機器複製至叢集中所有其它機器上。 - 請透過下列指令來將叢集中,其它機器上的所有
multipathd
daemon 重新啟用:#
service multipathd start
若您新增了裝置,您將需要重複這項程序。
相同地,若您為您希望使其在叢集中所有節點上皆能保持一致的裝置配置了別名,您應依照下列程序,確認叢集中各個節點的
/etc/multipath.conf
檔案皆相同:
- 為一部機器上的
multipath.conf
檔案中的 multipath 裝置配置別名。 - 請透過以下指令來停用您在其它機器上的所有 multipath 裝置:
#
service multipathd stop
#multipath -F
- 由第一部機器將
/etc/multipath.conf
檔案複製至叢集中所有其它機器上。 - 請透過下列指令來將叢集中,其它機器上的所有
multipathd
daemon 重新啟用:#
service multipathd start
當您新增裝置時,您將需要重複這項程序。
2.3. Multipath 裝置屬性
除了
user_friendly_names
與 alias
選項外,multipath 裝置有多種屬性。您可以修改特定 multipath裝置的這些屬性,方法是在 multipath 配置檔的 multipaths
一節裡建立該裝置的條目。預知 multipath 配置檔案的 multipaths
一節之相關資訊,請參閱〈節 4.4, “Multipath 裝置配置的屬性”〉。
2.4. 邏輯卷冊中的 multipath 裝置
建立 multipath 裝置後,您可以使用 multipath 裝置名稱,如建立 LVM 實體卷冊時使用的實體裝置名稱一樣。舉例來說,如果
/dev/mapper/mpatha
是 multipath 裝置的名稱,以下指令會將 /dev/mapper/mpatha
標示為實體卷冊。
pvcreate /dev/mapper/mpatha
當您建立 LVM 卷冊群組時,您可以使用這個產生出來的 LVM 實體裝置,一如您使用其他 LVM 實體裝置一樣。
注意
若您嘗試在您已配置分割區的整個裝置上,建立 LVM 實體卷冊的話,
pvcreate
指令將會失敗。請注意,若您不為各個區塊裝置指定分割表的話,Anaconda 和 Kickstart 安裝程式將會建立空的分割表。若您希望使用整個裝置而不是一個分割區,您必須由裝置上移除現有的分割區。您可透過 kpartx -d
和 fdisk
指令來移除既有的分割區。若您的系統擁有超過 2TB 的區塊裝置,您可使用 parted
指令來移除分割區。
當您建立了使用 active/passive(主動 / 被動)的 multipath 陣列作為實體裝置的 LVM 邏輯卷冊時,您應該在
lvm.conf
裡加入篩選程式,將這些磁碟排除在外。這是因為如果陣列在收到 I/O 時,自動改變了主動路徑至被動路徑,multipath 會在 LVM 掃描被動路徑時進行障礙復原。對於需要指令來啟動被動路徑的 active/passive(主動 / 被動)陣列,LVM 會顯示警告訊息。
若要篩選 LVM 配置檔案(
lvm.conf
)中的所有 SCSI 裝置,請將以下篩選程式附加至該檔案的 devices
一節中。
filter = [ "r/block/", "r/disk/", "r/sd.*/", "a/.*/" ]
章 3. 設定 DM-Multipath
本章的範例會逐步帶領您配置 DM-Multipath。其中包含了以下程序:
- 基本的 DM-Multipath 設定
- 忽略本機磁碟
- 新增更多裝置至配置檔案中
- 在
initramfs
檔案系統中啟動 multipath
3.1. 設定 DM-Multipath
要在系統上設定 DM-Multipath 之前,請確定您的系統已安裝
device-mapper-multipath
套件,或已更新至最新版。
您透過
mpathconf
工具程式來設定 multipath,這將會建立 multipath 配置檔案 /etc/multipath.conf
。
- 若
/etc/multipath.conf
檔案已存在,mpathconf
工具程式便會編輯該檔案。 - 若
/etc/multipath.conf
檔案不存在的話,mpathconf
工具程式將會使用/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
檔案來作為起始檔案。 - 若
/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
檔案不存在的話,mpathconf
工具程式將會重新建立一個/etc/multipath.conf
檔案。
若您不需要編輯
/etc/multipath.conf
檔案,您可透過執行下列指令來為基本備援配置設定 DM-Multipath。這項指令將啟用 multipath 配置檔案並啟動 multipathd
daemon。
# mpathconf --enable --with_multipathd y
若您在啟動
multipathd
daemon 之前,需要編輯 /etc/multipath.conf
檔案的話,請使用下列程序來為基本備援配置設定 DM-Multipath。
- 請執行
mpathconf
指令,並指定--enable
選項:#
mpathconf --enable
欲取得更多有關於mpathconf
指令選項上的相關資訊,您可能需要參閱mpathconf
的 man page 或是執行mpathconf
指令並指定--help
選項。#
mpathconf --help
usage: /sbin/mpathconf <command> Commands: Enable: --enable Disable: --disable Set user_friendly_names (Default n): --user_friendly_names <y|n> Set find_multipaths (Default n): --find_multipaths <y|n> Load the dm-multipath modules on enable (Default y): --with_module <y|n> start/stop/reload multipathd (Default n): --with_multipathd <y|n> chkconfig on/off multipathd (Default y): --with_chkconfig <y|n> - 請視需求編輯
/etc/multipath.conf
檔案。DM-Multipath 的預設設定會被編譯入系統中,並且無須明確地設置於/etc/multipath.conf
檔案中。path_grouping_policy
的預設值設為failover
,因此在本範例中,您無須編輯/etc/multipath.conf
檔案。欲取得如何將配置檔案中的預設值改為其它值的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。配置檔案的預設值一節會將 multipath 裝置名稱設為mpath
n 此格式;若沒有這項設定,multipath 裝置的名稱將會是裝置 WWID 的別名。 - 視需求儲存配置檔案並退出文字編輯器。
- 執行下列指令:
#
service multipathd start
由於配置檔案中,
user_friendly_name
的值被設為了 yes
,因此 multipath 裝置會以 /dev/mapper/mpath
n 格式被建立。欲取得如何為裝置名稱設置別名的相關資訊,請參閱〈章 4, DM-Multipath 配置檔案〉。
若您不希望使用使用者容易記得的名稱,您可執行下列指令:
# mpathconf --enable --user_friendly_names n
注意
如果您需要在 multipath darmon 啟動後編輯 multipath 配置檔,那麼在編輯後請務必執行
service multipathd reload
指令,好讓變更生效。
3.2. 產生 multipath 裝置時,忽略本機磁碟
有些電腦上的內部磁碟含有本機 SCSI 卡。不建議為這些裝置使用 DM-Multipath。若您將
find_multipaths
配置參數設為 yes
,您便無須將這些裝置納入黑名單中。欲取得更多有關於 find_multipaths
配置參數上的相關資訊,請參閱〈節 4.3, “配置檔案的預設值”〉。
若您不將
find_multipaths
配置參數設為 yes
,您可使用下列程序來修改 multipath 配置檔案,以在配置 multipath 時忽略本機磁碟。
- 決定哪些磁碟為本機磁碟,並將這些磁碟標示於黑名單中。在此範例中,
/dev/sda
是內部磁碟。請注意預設的 multipath 配置檔案中原有的值為何,執行multipath -v2
會在 multipath 映射中顯示本機硬碟/dev/sda
。欲取得更多有關於multipath
指令輸出的相關資訊,請參閱〈節 5.7, “Multipath 指令的輸出”〉。#
multipath -v2
create: SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 undef WINSYS,SF2372 size=33 GB features="0" hwhandler="0" wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 0:0:0:0 sda 8:0 [--------- device-mapper ioctl cmd 9 failed: Invalid argument device-mapper ioctl cmd 14 failed: No such device or address create: 3600a0b80001327d80000006d43621677 undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:0 sdb 8:16 undef ready running `- 3:0:0:0 sdf 8:80 undef ready running create: 3600a0b80001327510000009a436215ec undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:1 sdc 8:32 undef ready running `- 3:0:0:1 sdg 8:96 undef ready running create: 3600a0b80001327d800000070436216b3 undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:2 sdd 8:48 undef ready running `- 3:0:0:2 sdg 8:112 undef ready running create: 3600a0b80001327510000009b4362163e undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:3 sdd 8:64 undef ready running `- 3:0:0:3 sdg 8:128 undef ready running - 為了要避免裝置映射程式映射
/dev/sda
,請編輯/etc/multipath.conf
檔案裡的黑名單(blacklist)一節,以包含此裝置。雖然您可透過使用devnode
類型來將sda
裝置納入黑名單中,但這並不安全,因為重新開機之後,/dev/sda
並不一定會是同一台磁碟機。若要將各別裝置納入黑名單中,您可使用該裝置的 WWID。請注意multipath -v2
指令的執行結果。/dev/sda
裝置的 WWID 是「SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1」。要將此裝置納入黑名單中,請在/etc/multipath.conf
檔案中加入以下幾行。blacklist { wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 }
- 在您升級了
/etc/multipath.conf
檔案之後,您必須手動告訴multipathd
daemon 重新載入這檔案。以下指令可以重新載入更新過的/etc/multipath.conf
檔案。#
service multipathd reload
- 請執行下列指令,以移除 multipath 裝置:
#
multipath -f SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
- 若要檢查裝置移除是否成功,您可執行
multipath -ll
指令以顯示目前的 multipath 配置。若希望取得multipath -ll
指令上的相關資訊,請參閱〈節 5.8, “使用 multipath 指令來進行 Multipath 查詢”〉。若要檢查被納入黑名單中的裝置是否沒有被加回,您可執行multipath
指令,如以下範例所示。若您沒有指定-v
選項的話,multipath
指令的資訊詳細等級預設值將會是v2
。#
multipath
create: 3600a0b80001327d80000006d43621677 undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:0 sdb 8:16 undef ready running `- 3:0:0:0 sdf 8:80 undef ready running create: 3600a0b80001327510000009a436215ec undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:1 sdc 8:32 undef ready running `- 3:0:0:1 sdg 8:96 undef ready running create: 3600a0b80001327d800000070436216b3 undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:2 sdd 8:48 undef ready running `- 3:0:0:2 sdg 8:112 undef ready running create: 3600a0b80001327510000009b4362163e undef WINSYS,SF2372 size=12G features='0' hwhandler='0' wp=undef `-+- policy='round-robin 0' prio=1 status=undef |- 2:0:0:3 sdd 8:64 undef ready running `- 3:0:0:3 sdg 8:128 undef ready running
3.3. 配置儲存裝置
預設上,DM-Multipath 支援大部分支援 DM-Multipath 的儲存陣列。預設配置值,包括受支援的裝置,可在
multipath.conf.defaults
檔案中找到。
如果您需要新增預設上不支援的儲存裝置,使其成為 multipath 裝置的一員,請編輯
/etc/multipath.conf
檔案,加入適當的裝置資訊。
舉例來說,若要新增有關於 HP Open-V 系列裝置的相關資訊,此項目將會看似(%n 代表裝置名稱):
devices { device { vendor "HP" product "OPEN-V." getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" } }
欲取得更多配置檔案的
devices
一節的相關資訊,請參閱〈節 4.5, “配置檔案裝置”〉。
3.4. 在 initramfs 檔案系統中設定 multipath
您可以在
initramfs
檔案系統中設定 multipath。配置 multipath 之後,您可以使用 multipath 配置檔案重建 initramfs
檔案系統,方法適用以下選項執行 dracut
指令:
# dracut --force --add multipath --include /etc/multipath /etc/multipath
如果您是從
initramfs
檔案系統上執行 multipath,並變更了 multipath 配置檔案,那您必須重建 initramfs
檔案系統,好讓變更生效。
章 4. DM-Multipath 配置檔案
就預設值,DM-Multipath 提供的配置值足以應付 multipath 大部分的一般使用方式。除此之外,DM-Multipath 支援大部分有 DM-Multipath 功能的儲存裝置陣列。預設的配置值與受支援的裝置可在
/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults
檔案中找到。
您可以編輯
/etc/multipath.conf
配置檔,覆寫 DM-Multipath 的預設配置值。如果需要的話,您也可以新增配置檔預設值裡面,不支援的儲存陣列。
注意
您可以在
initramfs
檔案系統上執行設定 multipath。如果您可以從 initramfs
檔案系統上執行 multipath,並更改了任何 multipath 配置檔,那就必須重建 initramfs
檔案系統,好讓變更生效。欲知重建使用 multipath 的 initramfs
檔案系統的方法,請參閱〈節 3.4, “在 initramfs 檔案系統中設定 multipath”〉。
本章提供了關於剖析與修改
multipath.conf
檔案的資訊,其中包含了以下章節:
- 配置檔案總覽
- 配置檔案黑名單
- 配置檔案預設值
- 配置檔案 multipath
- 配置檔案裝置
在 multipath 配置檔案中,您只需要設定所需的部份,或改變
multipath.conf.defaults
中的預設值。如果配置檔案中有些部份與您的使用環境無關,或者您不想要蓋過預設值,您可將這些部份設為註釋,就如在初始檔案中一樣。
您可使用正規表示式(regular expression)語法來撰寫配置檔案。
此配置檔案的註釋版本可在
/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.annotated
中找到。
4.1. 配置檔案總覽
multipath 的配置檔案可分成以下幾節:
- blacklist
- 不會被用來作為 multipath 的特定裝置清單。
- blacklist_exceptions
- 根據 blacklist 一節的參數,列出 multipath 黑名單以外的裝置。
- defaults
- DM-Multipath 的一般預設設定。
- multipaths
- 設定每個 multipath 裝置的特性。這些值會覆蓋過配置檔案中
defaults
與devices
兩節中的設定。 - devices
- 設定每個儲存控制卡。這些值會覆蓋過配置檔案中
defaults
一節中的設定。如果預設設定並不支援您使用的儲存陣列,您可能需要為其建立devices
一節。
當系統決定了一組 multipath 裝置的屬性,它會先檢查 multipath 的設定,然後每個裝置的設定,接下來則是 multipath 的系統預設值。
4.2. 配置檔案的黑名單
multipath 配置檔案的
blacklist
(黑名單)一節詳述了當系統配置 multipath 裝置時,不會被使用的裝置。在此清單中的裝置將不會被納入 multipath 裝置的群組中。
在較舊的 RHEL 發行版中,multipath 總是會嘗試為每個未明確納入黑名單中的路徑,建立 multipath 裝置。然而在 RHEL 6 中,若
find_multipaths
配置參數設為了 yes
,multipath 僅會在滿足了下列三項條件之一的情況下建立裝置:
- 至少兩個擁有相同 WWID、未納入黑名單的路徑。
- 使用者透過
multipath
指令來指定裝置,以手動式強制建立裝置。 - 一個含有與先前建立之 multipath 裝置相同 WWID 的路徑(儘管該 multipath 裝置目前已不存在)。每當某個 multipath 裝置被建立時,multipath 會記得裝置的 WWID,如此一來當它看見含有該 WWID 的路徑時,它便會自動地再次建立裝置。這能讓 multipath 自動地選擇正確的路徑,在無須編輯 multipath 黑名單的情況下,製成 multipath 裝置。若您先前在未使用
find_multipaths
參數的情況下建立 multipath 裝置,而之後將參數設為yes
的話,您可能需要由/etc/multipath/wwids
檔案中,移除任何您不希望將其建立為 multipath 裝置的裝置 WWID。以下顯示了範例/etc/multipath/wwids
檔案。WWID 包含在斜線符號之間(/):# Multipath wwids, Version : 1.0 # NOTE: This file is automatically maintained by multipath and multipathd. # You should not need to edit this file in normal circumstances. # # Valid WWIDs: /3600d0230000000000e13955cc3757802/ /3600d0230000000000e13955cc3757801/ /3600d0230000000000e13955cc3757800/ /3600d02300069c9ce09d41c31f29d4c00/ /SWINSYS SF2372 0E13955CC3757802/ /3600d0230000000000e13955cc3757803/
若
find_multipaths
參數設為了 yes
,您只需要將含有多重路徑,而您不希望 multipath 這些路徑的裝置納入黑名單中。因為如此,一般來講您無須將裝置納入黑名單中。
若您需要將裝置納入黑名單中,您可根據下列條件進行:
- 根據 WWID,如〈節 4.2.1, “根據 WWID 建立黑名單”〉中所描述
- 根據裝置名稱,如〈節 4.2.2, “根據裝置名稱來建立黑名單”〉中所描述
- 根據裝置類型,如〈節 4.2.3, “根據裝置類型來建立黑名單”〉中所描述
就預設值,即使您將配置檔案中的黑名單一節標記為註解,多種裝置類型依然還是會位於黑名單中。欲取得更詳盡的資訊,請參閱〈節 4.2.2, “根據裝置名稱來建立黑名單”〉。
4.2.1. 根據 WWID 建立黑名單
您可以根據裝置的 WWID(World-Wide IDentification)將裝置放入黑名單中,方法是在配置檔案的
blacklist
(黑名單)一節裡放入 wwid
這個項目。
以下範例顯示配置檔案如何將 WWID 為 26353900f02796769 的裝置加入黑名單中。
blacklist { wwid 26353900f02796769 }
4.2.2. 根據裝置名稱來建立黑名單
您可根據裝置名稱將裝置類型納入黑名單中,如此一來這些裝置便不會被併入 multipath 裝置的群組中,方法是在配置檔案的
blacklist
一節中,指定 devnode
項目。
下列範例顯示了在配置檔案中,所有 SCSI 裝置皆納入了黑名單中,因為它將所有 sd* 裝置納入了黑名單中。
blacklist { devnode "^sd[a-z]" }
您可以在配置檔案的
blacklist
一節中,使用 devnode
項目來指定各別的裝置以納入黑名單中,而非納入某種類的所有裝置。然而我們並不建議這麼作。除非某個裝置是以 udev
規則靜態對映,否則系統無法保證重新開機後,該裝置能保有原來的名稱。舉例來說,重新開機後,某個裝置可能會從 /dev/sda
變為 /dev/sdb
。
就預設值,以下
devnode
項目會被編譯入預設的黑名單中;在黑名單中的裝置一般不支援 DM-Multipath。若要啟用這些裝置的 multipath 功能,您需要將它們指定於配置檔案的 blacklist_exceptions
部份中,如〈節 4.2.4, “黑名單的例外”〉中所述。
blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^(td|hd)[a-z]" }
4.2.3. 根據裝置類型來建立黑名單
您可在配置檔案中的
blacklist
的 device
部分中,指定特定裝置類型。下列範例將所有 IBM DS4200 和 HP 裝置納入了黑名單。
blacklist { device { vendor "IBM" product "3S42" #DS4200 Product 10 } device { vendor "HP" product "*" } }
4.2.4. 黑名單的例外
您可透過使用配置檔案的
blacklist_exceptions
部份,啟用那些就預設值被納入黑名單中的裝置的 multipath 功能。
比方說,若您擁有大量裝置並且僅希望 multipath 其中之一(以 WWID 3600d0230000000000e13955cc3757803),與其各別將除了您所希望 multipath 的裝置之外的所有裝置納入黑名單中,您可將所有裝置納入黑名單中,然後透過在
/etc/multipath.conf
檔案中附加下列行列,以允許您所希望 multipath 的裝置。
blacklist { wwid "*" } blacklist_exceptions { wwid "3600d0230000000000e13955cc3757803" }
在指定配置檔案中
blacklist_exceptions
一節裡的裝置時,您必須用處理黑名單的同樣方式,將其指定至此。舉例來說,WWID 的例外並不會套用至 devnode
黑名單項目中的裝置上,即使這黑名單上的裝置與這 WWID 有所聯繫亦然。同樣,devnode
的例外也僅套用於 devnode
項目上,同時 device
的例外也僅及於裝置項目。
4.3. 配置檔案的預設值
/etc/multipath.conf
配置檔案包括 defaults
(預設值)一節,可以將 user_friendly_names
設為 yes
,語法如下。
defaults { user_friendly_names yes }
這會覆蓋
user_friendly_names
參數的預設值。
這配置檔案包括了所有預設設定的範本。這一部份如下所示,是被註解掉的。
#defaults { # udev_dir /dev # polling_interval 5 # path_selector "round-robin 0" # path_grouping_policy failover # getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n" # prio const # path_checker directio # rr_min_io 1000 # rr_weight uniform # failback manual # no_path_retry fail # user_friendly_names no #}
要覆蓋任何參數的預設值,您可以複製這範本裡的相關資訊至
defaults
一節裡,並拿掉註解符號。舉例來說,要覆蓋 path_grouping_policy
的原有參數 multibus
,使其成為 failover
,請從範本中複製相對應的部份至配置檔案的 defaults
一節裡,拿掉註解符號,如同以下顯示:
defaults { user_friendly_names yes path_grouping_policy multibus }
表格 4.1, “Multipath 配置預設值” 描述了
multipath.conf
配置檔案中,defaults
一節裡面所設定的屬性。DM-Multipath 會使用這些值,除非它們被 multipath.conf
檔案中的 devices
與 multipaths
兩節裡所指定的屬性覆蓋過去。
注意
由 RHEL 6.0 發行版起,
mode
、uid
以及 gid
參數已淘汰。device-mapper 裝置(包括 mulitpath 對映)的權限,乃透過 udev
規則設置。/usr/share/doc/device-mapper-version
中有個範本檔案名為 12-dm-permissions.rules
,並且您可使用它而將它放置在 /etc/udev/rules.d
目錄中,使其生效。
表格 4.1. Multipath 配置預設值
屬性 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
polling_interval | 以秒為單位指定兩條路徑之間的檢查的時間間隔。對於正確運作的路徑來說,檢查程序之間的時間間隔會逐漸增加(4 * polling_interval )。預設值為 5。 | ||||||||||
udev_dir | 建立了 udev 裝置節點的目錄。預設值為 /dev 。 | ||||||||||
multipath_dir | 存放動態共享物件的目錄。預設值根據系統而定,一般為 /lib/multipath 。 | ||||||||||
find_multipaths |
| ||||||||||
verbosity | 預設資料詳細等級。愈大的值便會增加資料詳細度的等級。有效的等級範圍為 0 到 6 之間。預設值為 2 。 | ||||||||||
path_selector |
| ||||||||||
path_grouping_policy |
| ||||||||||
getuid_callout |
| ||||||||||
prio |
| ||||||||||
features |
| ||||||||||
path_checker |
| ||||||||||
failback |
| ||||||||||
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 ,所有的路徑皆會擁有相等的權重。預設值為 uniform 。 | ||||||||||
no_path_retry |
| ||||||||||
user_friendly_names | 如果設為 yes ,這表示系統應該使用 /etc/multipath/bindings 檔案來指定一個永續性且獨一無二的別名給 multipath 使用,格式為 mpath n 。若設為 no ,則表示系統應使用 WWID 來作為 multipath 的別名。無論是何種情況,在此所進行的設定,會被您在配置檔案的 multipaths 部份中,所指定的任何裝置特屬別名取代。預設值為 no 。 | ||||||||||
queue_without_daemon | 若設為了 no ,當 multipathd daemon 關閉時,它將會停用所有裝置的排程。預設值為 no 。 | ||||||||||
flush_on_last_del | 若設為 yes ,當連上裝置的最後一條路徑被刪除時,multipathd daemon 便會停用佇列功能。預設值為 no 。 | ||||||||||
max_fds | 設置 multipath 以及 multipathd daemon 所能開啟的最大數量 open file descriptor。這與 ulimit -n 指令相等。由 RHEL 6.3 發行版起,預設值乃 max ,並透過 /proc/sys/fs/nr_open 來將系統設為最大值。在較早的發行版中,若未進行這項設置,open file descriptor 的最大值將會由調用程序取得;一般乃 1024。若該數量大於 1024,為安全起見,應設為路徑的最大值加 32。 | ||||||||||
checker_timeout | 使優先權設定程式與路徑檢查程式發出 SCSI 指令和明確逾時(秒)的逾時功能。預設值乃透過 sys/block/sdx/device/timeout 取得。 | ||||||||||
fast_io_fail_tmo | 當在一個 FC 遠端連接埠上偵測到錯誤時,SCSI 層在傳輸失效 I/O 給該遠端連接埠上的裝置之前,所等待的秒數。此數值應比 dev_loss_tmo 的值還要小。若將此設為 off 將會停用逾時功能。預設值是由 OS 所決定的。 | ||||||||||
dev_loss_tmo | 當在一個 FC 遠端連接埠上偵測到錯誤時,SCSI 層將該連接埠由系統移除之前,所等待的秒數。將此設為無限制,會將其設為 2147483647 秒,或 68 年。預設值乃透過 OS 所決定的。 | ||||||||||
hwtable_regex_match |
| ||||||||||
retain_attached_hw_handler | (適用 RHEL 6.4 以上)如果此參數設為 yes ,並且 scsi 層已經設為路徑裝置的硬體處理程式,那麼 multipath 不會強迫裝置使用 multipath.conf 檔案所指定的 hardware_handler 。如果 scsi 層並未連結硬體處理程式,multipath 會繼續如常使用其配置的硬體處理程式。預設值為 no 。 | ||||||||||
detect_prio | (適用 RHEL 6.4 以上)如果設為 yes ,multipath 會先檢查裝置是否支援 ALUA,如果支援的話,multipath 會自動指定裝置為 alua 優先程式。如果裝置不支援 ALUA,multipath 會如常決定優先程式。預設值為 no 。 | ||||||||||
replace_wwid_whitespace | (適用 RHEL 6.5 以上)如果設為 yes ,所有使用此預設 getuid_callout 參數的裝置會變為納入 --replace-whitespace 。 | ||||||||||
reload_readwrite | (適用 RHEL 6.5 以上)如果設為 yes ,multipathd daemon 會聆聽路徑裝置的變更事件,如果裝置變成可讀寫,就會重新載入 multipath 裝置。 | ||||||||||
force_sync | (適用 RHEL 6.6 以上)如果設為 yes ,這會避免路徑檢查程式在非同步模式中執行。 |
4.4. Multipath 裝置配置的屬性
表格 4.2, “Multipath 的屬性” 顯示了各個特定 multipath 裝置在
multipath.conf
配置檔案的 multipaths
一節中,您可設定的屬性。這些屬性只會用在該節所指定的 multipath 上。這些預設值會由 DM-Multipath 所使用,並覆蓋 multipath.conf
檔案中 defaults
與 devices
這兩節所設定的屬性。
表格 4.2. Multipath 的屬性
屬性 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
wwid | 指定了 multipath 屬性所會套用的 multipath 裝置 WWID。此參數在 multipath.conf 檔案中的此部份中是必要的。 | |||||||||
alias | 為 multipath 裝置指定 multipath 屬性所會套用的符號名稱。若您正在使用 user_friendly_names ,請勿將這個值設為 mpathn ;這可能會造成與自動指定的使用者易記得名稱之間的衝突,並給予您錯誤的裝置節點名稱。 | |||||||||
path_grouping_policy |
| |||||||||
path_selector |
| |||||||||
failback |
| |||||||||
prio |
| |||||||||
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。 | |||||||||
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 使用,格式為 mpath n 。若設為 no ,則表示系統應使用 WWID 來作為 multipath 的別名。無論是何種情況,在此所進行的設定,會被您在配置檔案的 multipaths 部份中,所指定的任何裝置特屬別名取代。 |
以下範例顯示了 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 } }
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 # } #}
章 5. DM-Multipath 管理和疑難排解
本章將提供關於 DM-Multipath 的管理資訊,包括以下主題:
- 重設線上 Multipath 裝置的大小
- 將 root 裝置從單路徑裝置移到多路徑裝置
- 將 swap 裝置從單路徑裝置移到多路徑裝置
- Multipath Daemon
- 大量 LUN 的問題
- queue_if_no_path 功能上的問題
multipath
指令的輸出- 使用
multipath
指令來進行 Multipath 查詢 multipath
指令的選項- 使用
dmsetup
指令來進行 multipath 查詢 - 使用
multipathd
的互動式主控台進行疑難排解
5.1. 重設線上 Multipath 裝置的大小
若您需要重設一個線上 multipath 裝置的大小,請依照下列程序進行。
- 重設您實體裝置的大小。
- 執行下列指令來找出 LUN 的路徑:
#
multipath -l
- 重設您路徑的大小。若是 SCSI 裝置的話,請將 1 寫至造成 SCSI 重新掃描的裝置的
rescan
檔案中,如下列指令所示:#
echo 1 > /sys/block/device_name/device/rescan
- 請藉由執行
multipathd resize
指令來重設您 multipath 裝置的大小:#
multipathd -k'resize map mpatha'
- 重設檔案系統的大小(假設未使用 LVM 或 DOS 分割區):
#
resize2fs /dev/mapper/mpatha
5.2. 將 root 檔案系統從單路徑裝置移到多路徑裝置
如果您在單一路徑的裝置上安裝系統,之後加入另一個路徑指向 root 檔案系統,您就需要將 root 檔案系統移到多路徑的裝置上。本節記述了從單路徑移到多路徑裝置的步驟。
確定安裝了
device-mapper-multipath
套件之後,請進行以下步驟:
- 執行以下指令以建立
/etc/multipath.conf
配置檔、載入 multipath 模組、並使用chkconfig
指令將multipathd
服務設為on
:#
mpathconf --enable
欲取得更多有關於使用multipath
指令來設定 multipath 的相關資訊,請參閱〈節 3.1, “設定 DM-Multipath”〉。 - 要確認您的配置檔設定正確,請執行
/sbin/multipath
指令,加上-v3
選項以檢查 multipath daemon 是否試圖在您的 root 裝置上,建立 multipath 裝置。因為 root 裝置正在使用中,所以指令會失敗;但指令輸出會顯示路徑清單中的 root 裝置。請從指令的輸出資訊中,尋找以下格式的一行:WWID H:B:T:L devname MAJOR:MINOR
舉例來說,如果您的 root 檔案系統設在sda
或其分割區之一,您會看到類似以下的一行:===== paths list ===== ... 1ATA WDC WD800JD-75MSA3 WD-WMAM9F 1:0:0:0 sda 8:0 ...
在輸出尾端,您應該會看見分配給 multipath 裝置的 root 裝置:time | devname: ownership set to mpathdev
比方說,輸出內容可能會看似:Jun 14 06:48:21 | sda: ownership set to mpatha
您也會看見一則指令無法成功建立 multipath 裝置的通知,其格式為:time | mpathdev: domap (0) failure for create/reload map
在以上的例子裡,您會在指令輸出中看到以下一行:Jun 14 06:48:21 | mpatha: domap (0) failure for create/reload map
- 若要以
multipath
重建initramfs
檔案系統,請搭配下列選項執行dracut
指令:#
dracut --force --add multipath --include /etc/multipath /etc/multipath
- 如果您的 root 裝置不是 LVM 卷冊,而且是透過裝置名稱掛載,那麼請編輯
fstab
檔案切換到適當的 multipath 裝置名稱。如果您的 root 裝置是 LVM 裝置,或透過類似 UUID 掛載,那就不用執行此步驟。- 請使用步驟三所描述的程序,執行
/sbin/multipath
指令加上-v3
選項,以決定 root 裝置的 WWID。 - 為
multipath.conf
檔案中的 root 裝置配置別名。multipaths { multipath { wwid WWID_of_root_device alias rootdev } }
- 編輯
/etc/fstab
,用 root 裝置的 multipath 裝置取代舊的裝置路徑。舉例來說,如果您的/etc/fstab
檔案有以下項目:/dev/sda1 / ext4 defaults 1 1
請改為:/dev/mapper/rootdev / ext4 defaults 1 1
若您需要編輯/etc/fstab
檔案,您也將需要編輯/etc/grub/grub.conf
檔案,並將 root 參數由root=/dev/sda1
更改為root=/dev/mapper/rootdev
。下列範例顯示了此grub.conf
檔案,在您進行編輯前所包含的內容。title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/sda1 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
下列範例顯示了grub.conf
檔案在您進行編輯前所包含的內容。title Red Hat Enterprise Linux FoundationServer (2.6.32-71.24.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.24.1.el6.x86_64 ro root=/dev/mapper/rootdev rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us console=ttyS0,115200n8 crashkernel=auto initrd /initramfs-2.6.32-71.24.1.el6.x86_64.img
- 將電腦關機。
- 配置光纖交換器,讓電腦可以看到其它路徑。
- 將電腦開機。
- 檢查 root 檔案系統(
/
)是否位於多路徑的裝置上。
5.3. 將 swap 檔案系統從單路徑裝置移到多路徑裝置
預設上,swap 裝置設於邏輯卷冊上。這並不需要特別的步驟,也不需要將其配置為多路徑裝置;只要您將多路徑設在含有邏輯卷冊群組的那個實體卷冊即可。然而,如果您的 swap 裝置不是 LVM 卷冊,而且是透過裝置名稱掛載,請編輯
fstab
檔案,切換到適當的多路徑裝置名稱。
- 執行
/sbin/multipath
指令與-v3
選項,決定 swap 裝置的 WWID。指令輸出會在路徑清單中,顯示 swap 裝置。請看看指令輸出中,類似以下格式的一行,尋找 swap 裝置:WWID H:B:T:L devname MAJOR:MINOR
舉例來說,如果您的 swap 檔案系統設在sda
或sda
的分割區上,您會看到類似以下一行:===== paths list ===== ... 1ATA WDC WD800JD-75MSA3 WD-WMAM9F 1:0:0:0 sda 8:0 ...
- 在
/etc/multipath.conf
檔案中,設定 swap 裝置的別名:multipaths { multipath { wwid WWID_of_swap_device alias swapdev } }
- 編輯
/etc/fstab
,用 root 裝置的 multipath 裝置取代舊的裝置路徑。舉例來說,如果您的/etc/fstab
檔案有以下項目:/dev/sda2 swap ext4 defaults 0 0
請改為:/dev/mapper/swapdev swap ext4 defaults 0 0
5.4. Multipath Daemon
如果您在實做 multipath 配置時遇到困難,請確認 multipath daemon 運作正常,如〈章 3, 設定 DM-Multipath〉所述。若要使用 multipath 裝置,必須執行
multipathd
daemon。
5.5. 大量 LUN 的問題
當大量的 LUN 加入節點時,使用 multipath 裝置會明顯增加
udev
裝置管理員為這些 LUN 建立裝置節點的時間。如果您遇到此問題,修正方式是刪除 /etc/udev/rules.d/40-multipath.rules
裡面的一行:
KERNEL!="dm-[0-9]*", ACTION=="add", PROGRAM=="/bin/bash -c '/sbin/lsmod | /bin/grep ^dm_multipath'", RUN+="/sbin/multipath -v0 %M:%m"
這一行會導致每次一個區塊裝置加入節點時,
udev
裝置管理員就會執行 multipath
。即使此行被移除,multipathd
daemon 仍然會自動建立 multipath 裝置,同時 multipath
還是會由搭配 multipath 的 root 檔案系統之節點開機程序所執行。唯一不同的是,當 multipathd
daemon 沒有被執行時,multipath 裝置不會自動建立,這對大部分 multipath 使用者來說,不會造成問題。
5.6. queue_if_no_path 功能上的問題
如果
/etc/multipath.conf
檔案裡面指定了 features "1 queue_if_no_path"
,那麼任何發出 I/O 的程序都會暫停,直到一或多條路徑回復了為止。若要避免此問題,您可以在 /etc/multipath.conf
檔案中設定 no_path_retry
N
參數(其中 N
代表系統重新嘗試路徑的次數)。
當您設置
no_path_retry
參數時,請也將 features "1 queue_if_no_path"
選項由 /etc/multipath.conf
檔案中移除。不過,若您正在使用一個 features "1 queue_if_no_path"
選項被設為編譯預設值的 multipath 裝置(許多 SAN 裝置皆是如此),您必須明確地附加 features "0"
以置換此預設值。若要這麼作,您可藉由 /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf.defaults
將您裝置既有的裝置部份複製至 /etc/multipath.conf
中,並視需求進行編輯。
如果您需要使用
features "1 queue_if_no_path"
選項,同時也遇到此處所述的問題,請使用 dmsetup
指令,並在 runtime 時為特定的 LUN(也就是針對所有無法使用的路徑)編輯政策。舉例來說,如果您想要將 mpathc
multipath 裝置上的政策由 "queue_if_no_path"
改變成 "fail_if_no_path"
,請執行下列指令。
dmsetup message mpathc 0 "fail_if_no_path"
請注意,您必須指定
mpath
n
的別名,而不是路徑。
5.7. Multipath 指令的輸出
當您建立、修改、或列出 multipath 裝置時,您會看到目前裝置設定的訊息輸出,格式如下。
每個 multipath 裝置都有:
action_if_any: alias (wwid_if_different_from_alias) dm_device_name_if_known vendor,product size=size features='features' hwhandler='hardware_handler' wp=write_permission_if_known
每個路徑群組都有:
-+- policy='scheduling_policy' prio=prio_if_known status=path_group_status_if_known
每個路徑都有:
`- host:channel:id:lun devnode major:minor dm_status_if_known path_status online_status
舉例來說,multipath 指令的輸出可能看似:
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372 size=269G features='0' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=1 status=active | `- 6:0:0:0 sdb 8:16 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 7:0:0:0 sdf 8:80 active ready running
如果路徑已經啟動、也準備好給 I/O 使用,那麼路徑的狀態會顯示
ready
或 ghost
;反之會顯示 faulty
或 shaky
。路徑狀態會由 multipathd
daemon 定期更新,更新的頻率是在 /etc/multipath.conf
檔案中決定。
dm 狀態跟路徑狀態類似,但是從核心的觀點來看則否。dm 狀態有兩種狀態:
failed
(相當於 faulty
)與 active
(包含所有其他的路徑狀態)。偶爾,裝置的路徑狀態與 dm 狀態會暫時不同步。
online_status
可使用的值為 running
和 offline
。offline
狀態代表此 SCSI 裝置已停用。
注意
當 multipath 裝置被建立或修改時,路徑群組的狀態、dm 裝置名稱、寫入權限和 dm 狀態都是未知的。同時,這些功能並不永遠都是正確的。
5.8. 使用 multipath 指令來進行 Multipath 查詢
您可以使用
multipath
指令的 -l
與 -ll
選項來顯示目前的 multipath 設定。-l
選項會顯示自 sysfs
與 device mapper 蒐集而來的 multipath 拓樸。-ll
選項會顯示 -l
選項的資訊,加上所有系統的其它元件資訊。
當顯示 multipath 設定時,您可以用
multipath
指令的 -v
選項,顯示三種訊息等級。使用 -v0
表示沒有任何輸出。-v1
會列出已建立、以更新的 multipath 名稱,您可以將這些名稱導向到其它程式去,例如 kpartx
。使用 -v2
會列出所有已偵測到的路徑、multipath、以及 device map。
以下範例顯示
multipath -l
指令的輸出。
# multipath -l
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 7:0:0:0 sdf 8:80 active ready running
以下範例顯示了
multipath -ll
指令的輸出。
# multipath -ll
3600d0230000000000e13955cc3757801 dm-10 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 18:0:0:1 sdh 8:112 active ready running
3600d0230000000000e13955cc3757803 dm-2 WINSYS,SF2372
size=125G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 19:0:0:3 sde 8:64 active ready running
`- 18:0:0:3 sdj 8:144 active ready running
5.9. Multipath 的指令選項
表格 5.1, “實用的
multipath
指令選項” 詳述了一些您可能會覺得有幫助的 multipath
指令選項。
表格 5.1. 實用的 multipath
指令選項
選項 | 描述 |
---|---|
-l | 顯示從 sysfs 與 device mapper 蒐集而來的 multipath 設定。 |
-ll | 顯示從 sysfs 、device mapper、與其它系統的可用元件蒐集而來的 multipath 設定。 |
-f 裝置 | 移除指定的 multipath 裝置。 |
-F | 移除所有未使用的 multipath 裝置。 |
-w device | (Red Hat Enterprise Linux 6.6 以上)移除 wwids 檔案中特定裝置的 wwid 。 |
-W | (Red Hat Enterprise Linux 6.6 以上)重新設定 wwids 檔案,以僅納入現有的 multipath 裝置。 |
5.10. 使用 dmsetup 指令,決定 device mapper 的條目
您可以使用
dmsetup
指令,找出哪個 device mapper 條目與 multipath 裝置相符。
以下指令顯示所有 device mapper 裝置與其主要及次要號碼。次要號碼決定了 dm 裝置的名稱。舉例來說,次要號碼「3」指得是 multipath 裝置
/dev/dm-3
。
# dmsetup ls
mpathd (253:4)
mpathep1 (253:12)
mpathfp1 (253:11)
mpathb (253:3)
mpathgp1 (253:14)
mpathhp1 (253:13)
mpatha (253:2)
mpathh (253:9)
mpathg (253:8)
VolGroup00-LogVol01 (253:1)
mpathf (253:7)
VolGroup00-LogVol00 (253:0)
mpathe (253:6)
mpathbp1 (253:10)
mpathd (253:5)
5.11. 使用 multipathd 的互動式主控台進行疑難排解
multipathd -k
指令是 multipathd
daemon 的互動式介面。執行這個指令會帶出互動式 multipath 主控台。執行這個指令之後,您可以輸入 help
取得可用指令的清單,您可以輸入互動式的指令,或按下 CTRL-D
離開。
multipathd
互動式主控台可以用來為系統進行疑難排解。舉例來說,以下指令會在離開主控台之前,顯示 multipath 設定(包括預設設定)。
#multipathd -k
> >show config
> >CTRL-D
以下指令會確保 multipath 取得
multipath.conf
的任何改變。
#multipathd -k
> >reconfigure
> >CTRL-D
使用以下指令可以確保路徑檢查程式運作正常。
#multipathd -k
> >show paths
> >CTRL-D
附錄 A. 修訂記錄
修訂記錄 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
修訂 7.0-6.1 | Thu Feb 5 2015 | Chester Cheng | |||||||||
| |||||||||||
修訂 7.0-6 | Tue Dec 16 2014 | Steven Levine | |||||||||
| |||||||||||
修訂 7.0-4 | Thu Aug 7 2014 | Steven Levine | |||||||||
| |||||||||||
修訂 7.0-3 | Thu Aug 7 2014 | Steven Levine | |||||||||
| |||||||||||
修訂 7.0-1 | Mon Jul 7 2014 | Steven Levine | |||||||||
| |||||||||||
修訂 6.0-7 | Wed Apr 10 2014 | Steven Levine | |||||||||
| |||||||||||
修訂 6.0-6 | Wed Nov 13 2013 | Steven Levine | |||||||||
| |||||||||||
修訂 6.0-5 | Fri Sep 27 2013 | Steven Levine | |||||||||
| |||||||||||
修訂 6.0-3 | Fri Sep 27 2013 | Steven Levine | |||||||||
| |||||||||||
修訂 6.0-1 | Tue Sep 10 2013 | Steven Levine | |||||||||
| |||||||||||
修訂 5.0-9 | Mon Feb 18 2013 | Steven Levine | |||||||||
| |||||||||||
修訂 5.0-7 | Mon Nov 26 2012 | Steven Levine | |||||||||
| |||||||||||
修訂 5.0-6 | Tue Nov 13 2012 | Steven Levine | |||||||||
| |||||||||||
修訂 4.0-3 | Fri Jun 15 2012 | Steven Levine | |||||||||
| |||||||||||
修訂 4.0-2 | Wed Apr 25 2012 | Steven Levine | |||||||||
| |||||||||||
修訂 4.0-1 | Wed Mar 28 2012 | Steven Levine | |||||||||
| |||||||||||
修訂 3.0-3 | Thu Dec 1 2011 | Steven Levine | |||||||||
| |||||||||||
修訂 3.0-2 | Fri Oct 7 2011 | Steven Levine | |||||||||
| |||||||||||
修訂 3.0-1 | Mon Sep 19 2011 | Steven Levine | |||||||||
| |||||||||||
修訂 2.0-1 | Thu May 19 2011 | Steven Levine | |||||||||
| |||||||||||
修訂 1.0-1 | Wed Nov 10 2010 | Steven Levine | |||||||||
|
索引
符號
- /etc/multipath.conf 套件, 設定 DM-Multipath
- 使用 multipath 的 root 檔案系統, 將 root 檔案系統從單路徑裝置移到多路徑裝置
- 使用 multipath 的 swap 檔案系統, 將 swap 檔案系統從單路徑裝置移到多路徑裝置
- 備援, DM-Multipath 總覽
- 儲存裝置陣列
- 儲存陣列的支援, 儲存陣列的支援
- 意見
- 本指南的聯絡資訊, 我們需要您的意見!
- 新功能與變更功能, 新功能和變更的功能
- 本機磁碟,忽略, 產生 multipath 裝置時,忽略本機磁碟
- 總覽
- 新功能和變更的功能, 新功能和變更的功能
- 裝置
- 裝置名稱, Multipath 的裝置識別子
- 設定
- DM-Multipath, 設定 DM-Multipath
- 配置
- DM-Multipath, 設定 DM-Multipath
- 配置檔
- force_sync 參數, 配置檔案的預設值
- retain_attached_hw_handler 參數, 配置檔案的預設值, Multipath 裝置配置的屬性
- 配置檔案
- alias 參數, Multipath 裝置配置的屬性
- blacklist, 配置檔案的黑名單
- checker_timeout 參數, 配置檔案的預設值
- dev_loss_tmo 參數, 配置檔案的預設值, 配置檔案裝置
- failback 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- fast_io_fail_tmo 參數, 配置檔案的預設值, 配置檔案裝置
- features 參數, 配置檔案的預設值, 配置檔案裝置
- flush_on_last_del 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- getuid_callout 參數, 配置檔案的預設值, 配置檔案裝置
- hardware_handler 參數, 配置檔案裝置
- hwtable_regex_match 參數, 配置檔案的預設值
- max_fds 參數, 配置檔案的預設值
- no_path_retry 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- path_checker 參數, 配置檔案的預設值, 配置檔案裝置
- path_grouping_policy 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- path_selector 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- polling-interval 參數, 配置檔案的預設值
- prio 參數, 配置檔案的預設值, 配置檔案裝置
- product 參數, 配置檔案裝置
- product_blacklist 參數, 配置檔案裝置
- queue_without_daemon 參數, 配置檔案的預設值
- revision 參數, 配置檔案裝置
- rr_min_io 參數, 配置檔案的預設值, Multipath 裝置配置的屬性
- rr_weight 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- udev_dir 參數, 配置檔案的預設值
- user_friendly_names 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
- vendor 參數, 配置檔案裝置
- verbosity 參數, 配置檔案的預設值
- wwid 參數, Multipath 裝置配置的屬性
- 總覽, 配置檔案總覽
- 重設 multipath 裝置的大小, 重設線上 Multipath 裝置的大小
A
- active/active 配置
- 定義, DM-Multipath 總覽
- 描述, DM-Multipath 總覽
- active/passive 配置
- 定義, DM-Multipath 總覽
- 描述, DM-Multipath 總覽
- alias 參數 , Multipath 裝置配置的屬性
- 配置檔案, Multipath 的裝置識別子
B
- blacklist
- WWID, 根據 WWID 建立黑名單
- 裝置名稱, 根據裝置名稱來建立黑名單
- 裝置類型, 根據裝置類型來建立黑名單
- 配置檔案, 配置檔案的黑名單
- 預設裝置, 根據裝置名稱來建立黑名單
- blacklist_exceptions 部份
- multipath.conf 檔案, 黑名單的例外
C
- checker_timeout 參數, 配置檔案的預設值
- configuration file
- detect_prio 參數, 配置檔案的預設值, Multipath 裝置配置的屬性
D
- defaults 部份
- multipath.conf 檔案, 配置檔案的預設值
- detect_prio 參數, 配置檔案的預設值, Multipath 裝置配置的屬性
- dev/mapper 目錄, Multipath 的裝置識別子
- device-mapper-multipath 套件, 設定 DM-Multipath
- devices 部份
- multipath.conf 檔案, 配置檔案裝置
- dev_loss_tmo 參數, 配置檔案的預設值, 配置檔案裝置
- DM-Multipath
- 備援, DM-Multipath 總覽
- 元件, DM-Multipath 元件
- 冗餘, DM-Multipath 總覽
- 定義, Device Mapper Multipathing
- 總覽, DM-Multipath 總覽
- 與 LVM, 邏輯卷冊中的 multipath 裝置
- 裝置, Multipath 裝置
- 裝置名稱, Multipath 的裝置識別子
- 設定, 設定 DM-Multipath
- 設定總覽, DM-Multipath 設定總覽
- 配置, 設定 DM-Multipath
- 配置檔案, DM-Multipath 配置檔案
- dm-n 裝置, Multipath 的裝置識別子
- dmsetup 指令,決定 device mapper 條目, 使用 dmsetup 指令,決定 device mapper 的條目
- dm_multipath kernel 模組 , DM-Multipath 元件
F
I
- initramfs
- 啟動 multipath, 在 initramfs 檔案系統中設定 multipath
K
- kpartx 指令 , DM-Multipath 元件
L
- LVM 實體卷冊
- multipath 裝置, 邏輯卷冊中的 multipath 裝置
- lvm.conf 檔案 , 邏輯卷冊中的 multipath 裝置
M
- max_fds 參數, 配置檔案的預設值
- mpathconf 指令 , DM-Multipath 元件
- multipath daemon(multipathd), Multipath Daemon
- multipath 指令 , DM-Multipath 元件
- multipath 裝置, Multipath 裝置
- LVM 實體卷冊, 邏輯卷冊中的 multipath 裝置
- 邏輯卷冊, 邏輯卷冊中的 multipath 裝置
- multipath.conf 檔案, 儲存陣列的支援, DM-Multipath 配置檔案
- blacklist_exceptions 部份, 黑名單的例外
- defaults 部份, 配置檔案的預設值
- devices 部份, 配置檔案裝置
- multipaths 部份, Multipath 裝置配置的屬性
- multipath.conf.annotated 檔案, DM-Multipath 配置檔案
- multipath.conf.defaults 檔案, 儲存陣列的支援, DM-Multipath 配置檔案
- multipathd
- multipathd daemon , DM-Multipath 元件
- multipathd start 指令, 設定 DM-Multipath
- multipaths 部份
- multipath.conf 檔案, Multipath 裝置配置的屬性
N
- no_path_retry 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
P
Q
- queue_without_daemon 參數, 配置檔案的預設值
R
- retain_attached_hw_handler 參數, 配置檔案的預設值, Multipath 裝置配置的屬性
- revision 參數, 配置檔案裝置
- root 檔案系統, 將 root 檔案系統從單路徑裝置移到多路徑裝置
- rr_min_io 參數, 配置檔案的預設值, Multipath 裝置配置的屬性
- rr_weight 參數, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
S
- swap 檔案系統, 將 swap 檔案系統從單路徑裝置移到多路徑裝置
U
- udev_dir 參數, 配置檔案的預設值
- user_friendly_names 參數 , Multipath 的裝置識別子, 配置檔案的預設值, Multipath 裝置配置的屬性, 配置檔案裝置
W
- World Wide Identifier(WWID), Multipath 的裝置識別子
- wwid 參數, Multipath 裝置配置的屬性
法律聲明
Copyright © 2014 Red Hat, Inc. and others.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.