linux之 multipath 多路徑
一、什麽是多路徑
普通的電腦主機都是一個硬盤掛接到一個總線上,這裏是一對一的關系。而到了有光纖組成的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
linux之 multipath 多路徑