RHEL6使用系統自帶多路徑軟件配置多路徑


1、多路徑的主要功能
多路徑一般配合存儲設備實現如下功能:
  • 故障的切換和恢復 
  • IO流量的負載均衡 
  • 磁盤的虛擬化
 
 
2、查看系統自帶的多路徑軟件是否安裝
[root@cluster01 ~]# rpm -qa |grep device-mapper
device-mapper-event-libs-1.02.79-8.el6.x86_64
device-mapper-event-1.02.79-8.el6.x86_64
device-mapper-persistent-data-0.2.8-2.el6.x86_64
device-mapper-libs-1.02.79-8.el6.x86_64
device-mapper-multipath-0.4.9-72.el6.x86_64
device-mapper-1.02.79-8.el6.x86_64
device-mapper-multipath-libs-0.4.9-72.el6.x86_64
 
查看服務狀態:
[root@cluster01 ~]# chkconfig --list |grep mul
multipathd         0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@cluster01 ~]# chkconfig multipathd on
[root@cluster01 ~]# chkconfig --list |grep mul
multipathd         0:off    1:off    2:on    3:on    4:on    5:on    6:off
 
將服務設置為開機啟動,
 
 
 
3、生成配置文件
[root@cluster01 device-mapper-multipath-0.4.9]# pwd
/usr/share/doc/device-mapper-multipath-0.4.9
 
[root@cluster01 device-mapper-multipath-0.4.9]# ls
AUTHOR  COPYING  FAQ  multipath.conf  multipath.conf.annotated  multipath.conf.defaults  multipath.conf.synthetic
 
[root@cluster01 device-mapper-multipath-0.4.9]# cp  multipath.conf       /etc/multipath/
 
 
4、檢查多路徑模塊是否成功加載
#lsmod |grep dm_multipath  
如果沒有輸出說明沒有安裝多路徑軟件包。那么通過yum功能安裝一下軟件包:
yum –y install device-mapper device-mapper-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模塊已加載成功。
 
multipath基本操作命令 
# multipath -F #刪除現有路徑 
# multipath -v2 #格式化路徑 
# multipath -ll #查看多路徑
 
5、設置DM-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
}
 
編輯完成后保存配置,重啟服務:
# /etc/init.d/multipathd   restart   
 
 
參數解釋:
 
(1)
blacklist {
devnode "^sda"
表示將本地設備加入黑名單【以下摘自官方文檔】:
為防止設備映射器將本地磁盤 /dev/sda 與其多路徑對應,請編輯 /etc/multipath.conf 文件的blacklist 部分,使其包括該設備。
雖然您可以使用 devnode 類型將 sda 設備列入黑名單,但那並不安全,因為重啟時無法保證 /dev/sda 是同一個名稱。
要將單獨的設備列入黑名單,您可以使用那個設備的 WWID 將其列入黑名單。
請注意:在 multipath -v2 命令的輸出中,/dev/sda 設備的 WWID 是 SIBM-ESXSST 336732LC____F3ET 0EP0Q000072428BX1。
要將這個設備列入黑名單,請在/etc/m ultipath.conf 文件中添加以下內容:
blacklist {
wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
}
# service multipathd reload    使配置生效
我們在這里使用的是sda,沒有使用sda的WWID。
 
什么是WWID,什么是UUID?
根據SCSI標准,每個SCSI磁盤都有一個WWID,類似於網卡的MAC地址,要求是獨一無二。
通過WWID標示SCSI磁盤就可以保證磁盤路徑永久不變,Linux系統上/dev/disk/by-id目錄包含每個SCSI磁盤WWID訪問路徑。
 
查看磁盤設備wwid方法:
[root@cluster01 ~]# ll  /dev/disk/by-id/
 
 
UUID是有文件系統在創建時候生成的,用來標記文件系統,類似WWID一樣也是獨一無二的。
因此使用UUID來標示SCSI磁盤,也能保證路徑是永久不變的。Linux上/dev/disk/by-uuid可以看到每個已經創建文件系統的磁盤設備以及與/dev/sd*之間的映射關系。
查看文件系統uuid:  
[root@rcluster01 ~]# ll  /dev/disk/by-uuid/
 
 
(2)user_friendly_names    yes
如果將其設為 yes,即指定該系統應該使用文件 /etc/multipath/bindings 為該多路徑分配一個持久且唯一的別名,
格式為 mpathn。如果設定為 no,即指定該系統應使用 WWID 作為該多路徑的別名。在這兩種情況下,
您在這里指定的數值將被您在配置文件 multipaths 部分指定的具體設備別名覆蓋。默認值為 no。
 
 
(3)path_grouping_policy   multibus
  • 指定用於未指定路徑的默認路徑分組策略,可能的值包括:
  • failover:每個優先組群有一個路徑。
  • multibus:所有有效路徑在一個優先組群中。
  • group_by_serial:每個檢測到的系列號有一個優先組群。
  • group_by_prio:每個優先組群有一個路徑優先值。優先權根據指定為 global、per-controller 或者 per-multipath 選項的調用程序決定。
  • group_by_node_name:每個目標節點名有一個優先組。目標節點名保存在 /sys/class/fc_transport/target*/node_name 文件中。
  • 默認值為 failover。
 
 
(4)failback immediate
  • 管理路徑組群出錯切換。
  • immediate 值指定立即恢復到包含活躍路徑的最高級別路徑組群。
  • manual 值指定不需要立即恢復,只有在操作者干預的情況下會發生恢復。
  • followover 值指定當路徑組的第一個路徑成為活躍路徑時應執行自動恢復。這可讓節點在另一個節點請求故障修復時不會自動恢復。
  • 大於 0 的數字值指定推遲出錯切換,以秒表示。
  • 默認值為 manual。
 
 
(5)no_path_retry  fail
  • 這個屬性的數字值指定系統在禁用隊列前應該試圖使用失敗的路徑的次數。
  • fail 值說明立即失敗,無需排隊。
  • queue 表示固定路徑前排隊不會停止。
  • 默認值為 0。
 
 
6、通過命令查看
[root@liujing mapper]# multipath   -ll
mpatha (360a9800064665072443469563477396c) dm-0 NETAPP,LUN    
size=3.5G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=4 status=active
|- 1:0:0:0 sdb 8:16 active ready  running   ----多路徑下的兩個盤符sdb和sde.
`- 2:0:0:0 sde 8:64 active ready  running
 
目錄/dev/mapper/   下多了兩個文件夾mpatha 和mpathap1。
[root@liujing mapper]# cd /dev/mapper/
[root@liujing mapper]# ls
control  mpatha  
 
同時fdisk –l的命令下也多了兩個設備標識:
[root@liujing~]# fdisk -l
Disk /dev/sda: 146.8 GB, 146815733760 bytes
Disk /dev/sdb: 3774 MB, 3774873600 bytes
Disk /dev/sde: 3774 MB, 3774873600 bytes
 
兩個網卡獲取到同一盤符:
/dev/sde和/dev/sdb.
 
7. multipath磁盤的基本操作
要對多路徑軟件生成的磁盤進行操作直接操作/dev/mapper/目錄下的磁盤就行.
在對多路徑軟件生成的磁盤進行分區之前最好運行一下pvcreate命令:
 
# pvcreate  /dev/mapper/mpatha
# fdisk  /dev/mapper/mpatha  分區時用這個目錄/dev/mapper/mpatha
用fdisk對多路徑軟件生成的磁盤進行分區保存時會有一個報錯,此報錯不用理會.
 
# ls -l /dev/mapper/
[root@liujing mnt]#  ls -l /dev/mapper/
total 0
crw-rw----. 1 root root 10, 58 Mar 10 19:10 control
lrwxrwxrwx. 1 root root      7 Mar 10 20:28 mpatha -> ../dm-0
lrwxrwxrwx. 1 root root      7 Mar 10 20:33 mpathap1 -> ../dm-1
 
mpathap1就是我們對multipath磁盤進行的分區
# mkfs.ext4     /dev/mapper/mpathap1    #對mpath1p1分區格式化成ext4文件系統
# mount     /dev/mapper/mpathap1     /mnt/    #掛載mpathap1分區 ,或者將掛載寫入/etc/fstab文件,開機掛載
 
格式化和掛載時用/dev/mapper/mpathap1 
 
 
參考文章:
 


免責聲明!

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



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