linux之 multipath 多路徑

張衝andy發表於2017-10-19

一、什麼是多路徑


普通的電腦主機都是一個硬碟掛接到一個匯流排上,這裡是一對一的關係。而到了有光纖組成的SAN環境,或者由iSCSI組成的IPSAN環境,由於主機和儲存透過了光纖交換機或者多塊網路卡及IP來連線,這樣的話,就構成了多對多的關係。也就是說,主機到儲存可以有多條路徑可以選擇。主機到儲存之間的IO由多條路徑可以選擇。每個主機到所對應的儲存可以經過幾條不同的路徑,如果是同時使用的話,I/O流量如何分配?其中一條路徑壞掉了,如何處理?還有在作業系統的角度來看,每條路徑,作業系統會認為是一個實際存在的物理盤,但實際上只是通向同一個物理盤的不同路徑而已,這樣是在使用的時候,就給使用者帶來了困惑。多路徑軟體就是為了解決上面的問題應運而生的。

多路徑的主要功能就是和儲存裝置一起配合實現如下功能:
1.故障的切換和恢復
2.IO流量的負載均衡
3.磁碟的虛擬化

由於多路徑軟體是需要和儲存在一起配合使用的,不同的廠商基於不同的作業系統,都提供了不同的版本。並且有的廠商,軟體和硬體也不是一起賣的,如果要使用多路徑軟體的話,可能還需要向廠商購買license才行。比如EMC公司基於linux下的多路徑軟體,就需要單獨的購買license。好在, RedHat和Suse的2.6的核心中都自帶了免費的多路徑軟體包,並且可以免費使用,同時也是一個比較通用的包,可以支援大多數儲存廠商的裝置,即使是一些不是出名的廠商,透過對配置檔案進行稍作修改,也是可以支援並執行的很好的。

 二、 配置多路徑

1. 配置 yum 源 

2. 安裝multipath軟體

yum install device-mapper device-mapper-multipath

3. 設定

3.1 multipath設定

接著透過命令:multipath –ll 檢視多路徑狀態檢視模組是否載入成功

[root@liujing ~]#  multipath –ll   檢視多路徑狀態

Mar 10 19:18:28 | /etc/multipath.conf does not exist, blacklisting all devices.

Mar 10 19:18:28 | A sample multipath.conf file is located at

Mar 10 19:18:28 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

Mar 10 19:18:28 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf

Mar 10 19:18:28 | DM multipath kernel driver not loaded    ----DM模組沒有載入

如果模組沒有載入成功請使用下列命初始化DM,或重啟系統

---Use the following commands to initialize and start DM for the first time:

modprobe dm-multipath

modprobe dm-round-robin

service multipathd start

multipath –v2

初始化完了之後再透過multipath -ll命令檢視是否載入成功

[root@liujing ~]#  multipath -ll

Mar 10 19:21:14 | /etc/multipath.conf does not exist, blacklisting all devices.

Mar 10 19:21:14 | A sample multipath.conf file is located at

Mar 10 19:21:14 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

Mar 10 19:21:14 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf

DM multipath kernel driver not loaded    ----這個提示沒了說明DM模組已載入成功。

從上面的提示可以看到,DM模組是成功載入,但是/etc/下沒有multipath.conf 配置檔案,下一步介紹如何配置multipath.conf 檔案。

3.2. 配置multipath:

透過vi命令建立一個Multipath的配置檔案路徑是/etc/multipath.conf ,在配置檔案中新增multipath正常工作的最簡配置如下:

vi /etc/multipath.conf

blacklist {

devnode "^sda"

}

defaults {

user_friendly_names yes

path_grouping_policy multibus

failback immediate

no_path_retry fail

}

multipaths {

    multipath {

        wwid 360080e50002c4bbc00000c8159836588

        alias mpath1

    }

    multipath {

        wwid 360080e50002c4bbc00000c7f59836554

        alias mpath2

}

    multipath {

        wwid 360080e50002c4bbc00000c55597945ee

        alias mpath3

    }

    multipath {

        wwid 360080e50002c4df200000c4359794ebc

        alias mpath4

}

    multipath {

        wwid 360080e50002c4df200000c4759794ff2

        alias mpath5

    }

}

service multipathd restart

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2146165/,如需轉載,請註明出處,否則將追究法律責任。

相關文章