CentOS6.x操作系統自帶的 DM Multipath(DMMP)多路徑軟件配置說明。


CentOS系統下的多路徑軟件是操作系統自帶的 DM Multipath(DMMP)工具。
------------------------------------------------------------------------------------------------------------------
DM-Multipath 組件介紹:
dm-multipath: 內核模塊 為路徑和路徑組群重新指定 I/O 並支持出錯冗余。
mpathconf: 程序 配置並啟用設備映射器多路徑
multipath: 命令 列出並配置 multipath 設備。通常使用 /etc/rc.sysinit 啟動,還可以在添加塊設備時使用 udev 程序啟動。
multipathd: 守護進程 監視器路徑,如果路徑故障並返回,它可能會啟動路徑組群切換。可為多路徑設備提供互動修改。
                      對 /etc/multipath.conf 文件的任何修改都必須啟動它。
kpartx: 命令 為設備中的分區生成設備映射器設備。這個命令對帶 DM-MP 的 DOS 分區
是很必要的。kpartx 在其自身軟件包中就存在,但 devicemapper-multipath 軟件包要依賴它。
-------------------------------------------------------------------------------------------------------------------
一、首先檢查系統是否已安裝了 DMMP 軟件包,如果沒有從系統安裝光盤上找到並且安裝相應軟件包。
[root@pipci ~]# rpm -qa | grep device-mapper-multipath
[root@pipci ~]#                                  #沒有返回值說明沒有安裝

二、安裝 device-mapper-multipath
1、通過yum源安裝,如果操作系統可以連接外網通過網絡yum源最方便,如果不能連外網,可以通過DVD光驅掛載系統iso鏡像文件實現本地yum源安裝,
掛載DVD源的方法CentOS源的文章已經介紹這里不再介紹了。

[root@pipci ~]# yum search device-mapper-multipath                       #搜索軟件包

device-mapper-multipath-libs.x86_64 : The device-mapper-multipath modules and shared                  
device-mapper-multipath.x86_64 : Tools to manage multipath devices using device-mapper

[root@pipci ~]# yum install device-mapper-multipath.x86_64             #安裝軟件包


安裝device-mapper-multipath.x86_64軟件包,會依賴device-mapper-multipath-libs.x86_64庫軟件包
這兩個軟件包會一起安裝上。

2、通過rpm包直接安裝。我們可以在系統iso鏡像中Packages目錄下找到對應的安裝包,分別是下面兩個
device-mapper-multipath-0.4.9-100.el6.x86_64.rpm                           #主軟件包
device-mapper-multipath-libs-0.4.9-100.el6.x86_64.rpm                    #主軟件包賴的庫軟件包

將上面兩個軟件包復制到/opt目錄下進行安裝
[root@pipci opt]# rpm -ivh device-mapper-multipath-libs-0.4.9-100.el6.x86_64.rpm
[root@pipci opt]# rpm -ivh device-mapper-multipath-0.4.9-100.el6.x86_64.rpm

3、查看軟件是否安裝成功
[root@pipci opt]# rpm -qa | grep device-mapper-multipath
device-mapper-multipath-0.4.9-100.el6.x86_64      
device-mapper-multipath-libs-0.4.9-100.el6.x86_64  
顯示上面兩個軟件說明已經安裝成功

三、設置 DMMP 服務在每次系統啟勱時自動開啟。
[root@pipci ~]# chkconfig multipathd on                    #在運行級別2、3、4、5上設置為自動運行
[root@pipci ~]# chkconfig --list multipathd                 #檢查ntp服務是否開機啟動
multipathd      0:關閉  1:關閉  2:啟用  3:啟用  4:啟用  5:啟用  6:關閉

四、DMMP 需要建立一個配置文件/etc/multipath.conf,默認情況下是沒有的,創建的方法有兩種。
1、通過命令創建
[root@pipci ~]# mpathconf --enable
這種方法CentOS6.x版本可以5.x應該不可以

2、可以將模板配置文件復制到/etc 目錄下,模板配置文件/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
[root@pipci ~]#cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc
這種方法比較通用。

五、修改配置文件/etc/multipath.conf添加下面的內容

defaults {
        user_friendly_names yes             #如果是集群環境yes最好改成no,下面有解釋。
        find_multipaths yes
        path_grouping_policy  multibus
}

如果您在啟動 multipath 守護進程后發現需要編輯 multipath 配置文件,則必須執行
service multipathd reload 命令方可使更改生效。


六、啟勱 multipathd 服務,守護進程。
[root@pipci ~]# service multipathd start
正在啟動守護進程multipathd:                               [確定]

七、檢查 DMMP 模塊是否正常加載
[root@pipci ~]# lsmod |grep dm_multipath
dm_multipath           17916  1 dm_round_robin
dm_mod                102467  3 dm_multipath,dm_mirror,dm_log

八、安裝配置成功后,可以查看到 DMMP 管理了一個名稱為 mpathn 的多路徑設備,此設備包含有兩個 路徑。
[root@pipci ~]#multipath -ll               #user_friendly_names yes(別名設置)

mpathc (36505dac1002fc54b0bfca55c00000011) dm-0 HUAWEI,XSG1
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:7 sdh 8:112 active ready running
  `- 2:0:0:7 sdp 8:240 active ready running
mpathb (36505dac1002fc54b0bfc0b9c0000000d) dm-1 HUAWEI,XSG1
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:3 sdd 8:48  active ready running
  `- 2:0:0:3 sdl 8:176 active ready running

[root@pipci ~]#multipath -ll                 #user_friendly_names no(未別名設置)
36505dac1002fc54b0bfc0b500000000b dm-0 HUAWEI,XSG1
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:1 sdb 8:16  active ready running
  `- 2:0:0:1 sdj 8:144 active ready running
36505dac1002fc54b0bfca5190000000f dm-1 HUAWEI,XSG1
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:5 sdf 8:80  active ready running
  `- 2:0:0:5 sdn 8:208 active ready running


九、使用 fdisk 查看硬盤會多出存儲設備/dev/mapper/36505dac1002fc54b0bfca4f10000000e (沒用別名),這個是多路徑軟件生成的設備,在分區或其他針對硬盤的操作時請 使用這個設備,不要使用/dev/sdb 和/dev/sdc等設備,除非是服務器本地磁盤。
[root@pipci ~]#fdisk -l
Disk /dev/sdb: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/36505dac1002fc54b0bfca4f10000000e: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000



十、對修改配置文件multipath.conf添加下面的內容說明
-----------------------------------------------------------------------------------------
1、user_friendly_names yes
每個多路徑設備都有一個全球識別符(WWID),它是一個全球唯一的無法更改的號碼。默認情況下會將
多路徑設備的名稱設定為它的 WWID。另外,您還可以在多路徑配置文件中設置
user_friendly_names 選項,該選項可將別名設為格式為 mpathn 的節點唯一名稱
當在 DM-Multipath中添加新設備時,這些新設備會位於 /dev 目錄的兩個不同位
置:/dev/mapper/mpathn 和 /dev/dm-n。
/dev/mapper 中的設備是在引導過程中生成的。可使用這些設備訪問多路徑設備,例如在生成
邏輯卷時。
所有 /dev/dm-n 格式的設備都只能是作為內部使用,請不要使用它們。
*在集群中保持多路徑設備名稱一致(重點)
當將 user_friendly_names 配置選項設為 yes 時,該多路徑設備的名稱對於節點來說是唯一的,但不
保證對使用多路徑設備的所有節點都一致。同樣,如果您為 multipath.conf 配置文件的 multipaths
部分中的設備設定 alias 選項,該名稱不會自動在集群的所有節點中保持一致。如果您使用 LVM 在多路
徑設備中創建邏輯設備,這不應是問題。但如果您需要將您的多路徑設備名稱在集群中的每個節點上都保
持一致,請不要將 user_friendly_names 選項設定為 yes,且不要為那些設備配置別名。默認情況
下,如果您不將 user_friendly_names 設定為 yes,或者為某個設備配置別名,則設備名稱將是該設
備的 WWID,它是不會變的。
如果您要系統定義的用戶友好名稱在集群的所有節點中都一致,您可按照以下步驟操作:
1. 在一台機器中設定所有多路徑設備。
2. 運行以下命令在其他機器中禁用所有 multipath 設備:
# service multipathd stop
# multipath -F
3. 將第一台機器中的 /etc/multipath/bindings 文件復制到集群中的其它所有機器中。
4. 使用以下命令在集群的其他機器中重新 multipathd 守護進程:
設備映射多路徑
 
# service mutipathd start
如果您添加新設備,您將需要重復這個過程。
同樣,如果您為某個設備配置別名以便在集群的節點中使其保持一致,您應確定
/etc/multipath.conf 文件對於集群中的每個節點都是一樣的,步驟如下:
1. 為機器 multipath.conf 文件中的多路基功能設備配置別名。
2. 運行以下命令在其他機器中禁用所有 multipath 設備:
# service multipathd stop
# multipath -F
3. 將第一台機器中的 /etc/multipath.conf 文件復制到集群中的其它所有機器中。
4. 使用以下命令在集群的其他機器中重新 multipathd 守護進程:
# service mutipathd start
當您添加新設備時,您將需要重復這個過程。
-----------------------------------------------------------------------------------------------

2、find_multipaths yes
在舊版CentOS(5版本以下,包括5) Linux 中,multipath 總是嘗試為每個沒有明確放入黑名單的路
徑創建 multipath 設備。但在CentOS Linux 6 中,如果將 find_multipaths 配置參數設定
為 yes,默認為no,那么 multipath 將只在滿足以下三個條件之一時創建設備:
1、至少有兩個沒有列入黑名單的路徑使用同一 WWID。
2、用戶使用 multipath 命令指定設備強制手動生成該設備。
3、路徑擁有與之前創建的多路徑設備相同的 WWID(即使該多路徑設備目前不存在)。如果您
之前在沒有設定 find_multipaths 參數的情況下創建了多路徑設備

可以通過下面的命令查看所以磁盤的wwid號。

#scsi_id --whitelist /dev/sda       #單個磁盤


# ll /dev/disk/by-id/                      #會顯示所有磁盤

-----------------------------------------------------------------------------------------------
3、path_grouping_policy  multibus

DM-Multipath 可在主動/被動配置中提供出錯冗余。在主動/被動配置中,只有一半的路徑在每次
I/O 時都使用。如果 I/O 路徑的任意元素(電纜、交換機或者控制器)出現故障,就會將 DMMultipath 切換到備用路徑。
也可將 DM-Multipath 配置為主動/主動模式,其中將 I/O 以輪叫調度算法方式分布到所有路徑中。
在有些配置中,DM-Multipath 可在 I/O 路徑中檢測負載並動態重新平衡負載
默認配置path_grouping_policy  failover  主備模式
配置成  path_grouping_policy  multibus  負載模式

十一、常用命令

# multipath -ll     #顯示現有多路徑配置
# multipath -F      #刪除全部路徑  
# multipath -v2     #格式化路徑,格式化后會生成新路徑,另外的解釋掃描磁盤,系統中會出現鏈路聚合之后的dm設備,同時也會在/dev/mapper/、/dev/mpath/目錄下生成相應的設備,這個需要驗證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM