ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 磁盘多路径绑定配置

磁盘多路径绑定配置

原创 Linux操作系统 作者:shilei1 时间:2013-07-01 06:23:23 0 删除 编辑


修改配置文件/etc/multipath.conf

找到以下内容并将其注释:

  1. #blacklist {  
  2. #        devnode "*"  
  3. #} 

这是设备的黑名单列表,系统中可能存在多个可进行绑定的磁盘设备,此列表可以对那些不要求绑定的设备进行过滤,以避免使用中的误操作。配置文件在默认情况下会过滤所有设备,因此系统不会为任何设备匹配绑定链接,将这个部分注释掉之后,multipath会为系统中除本地磁盘以外的所有磁盘设备匹配绑定链接。

启动多路径绑定

  1. [root@localhost ~]# /etc/init.d/multipathd start  
  2. [root@localhost ~]# multipath -ll  
  3. 14945540000000000000000000100000005004d000000d00f
    dm-3 IET,VIRTUAL-DISK  
  4. [size=5.9G][features=0][hwhandler=0]  
  5. \_ round-robin 0 [prio=1][active]  
  6.  \_ 2:0:0:0 sdc 8:32  [active][ready]  
  7. \_ round-robin 0 [prio=1][enabled]  
  8.  \_ 1:0:0:0 sdd 8:48  [active][ready]  
  9. 0QEMU_QEMU_HARDDISK_scsi0-hd1dm-2 QEMU,QEMU HARDDISK  
  10. [size=100M][features=0][hwhandler=0]  
  11. \_ round-robin 0 [prio=1][active]  
  12.  \_ 0:0:1:0 sdb 8:16  [active][ready] 

此时系统发现了两组磁盘,一组的wwid是0QEMU_QEMU_HARDDISK_scsi0-hd1,绑定了服务器中名为sdb的USB设备;另一组的wwid是14945540000000000000000000100000 005004d000000d00f,绑定了服务器通过两路HBA或iSCSI连接的相同磁盘设备,设备名分另为sdc和sdd。在系统运行过程中,为USB设备配置多路径绑定很明显是没有必要的,通过/etc/multipath.conf中的blacklist列表可以过滤此设备。

再次修改/etc/multipath.conf,找到blacklist项解开注释,并修改为:

  1. blacklist {  
  2.         wwid 0QEMU_QEMU_HARDDISK_scsi0-hd1  

清空所有磁盘绑定设备:

  1. [root@localhost ~]# multipath -F 

重启多路径绑定服务,并使此服务自动启动:

  1. [root@localhost ~]# /etc/init.d/multipathd restart  
  2. [root@localhost ~]# chkconfig multipathd on  
  3. [root@localhost ~]# multipath -ll  
  4. 14945540000000000000000000100000005004d000000d00f dm-2 IET,VIRTUAL-DISK  
  5. [size=5.9G][features=0][hwhandler=0]  
  6. \_ round-robin 0 [prio=1][active]  
  7.  \_ 2:0:0:0 sdc 8:32  [active][ready]  
  8. \_ round-robin 0 [prio=1][enabled]  
  9.  \_ 1:0:0:0 sdd 8:48  [active][ready] 

挂载多路径设备:

  1. [root@localhost ~]# mkfs.ext3 /dev/dm-2  
  2. [root@localhost ~]# mkdir /mnt/multipath  
  3. [root@localhost ~]# mount /dev/dm-2 /mnt/multipath 

如果需要启动自动挂载,请在/etc/fstab中添加相应的挂载项。

multipath.conf配置文件详解(以下内容可以不作修改)

除blacklist外,此配置文件中还有一个比较重要的配置项--defaults,用于定义多路径绑定的运行策略。

  1. defaults {  
  2. udev_dir                /dev                    #设备所在的位置  
  3. polling_interval        10                  #路径检查间隔  
  4. selector                "round-robin 0"     #路径间的轮询操作算法  
  5. path_grouping_policy    failover                #路径冗
    余策略(配置默认:multibus)  
  6. getuid_callout      "/sbin/scsi_id -g -u -s /block/%n" #判
    断相同设备的规则  
  7. prio_callout            /bin/true           #判断设备优先级的方式  
  8. path_checker            readsector0         #路径状态的检查模式  
  9. rr_min_io           100                 #I/O论询的路径切换间隔  
  10. max_fds             8192                    #允许同时打开
    的最大文件描述符  
  11. rr_weight           priorities          #轮询时是否使用加权方式  
  12. failback                immediate           #发现路径
    失效时的操作方式  
  13. no_path_retry       fail                    #路径失效重试  
  14. user_friendly_names yes                 #是否使用友好的设备名  

主要参数如下:

path_grouping_policy:路径冗余策略。

multibus-在同一个绑定设备中,所有路径均拥有相同的优先级,因此读写操作通过多路径来实现负载均衡。一旦某一路径失效,访问便会被分流到其他的可用路径。

failover-在同一个绑定设备中,只有一个路径拥有优先权,因此磁盘操作都使用同一个路径,一旦此路径失效,操作便会重定向到另一个可用路径。

默认值为multibus。

建议:与网卡bonding中的模式选择类似,在磁盘I/O低于单个HBA卡的I/O处理能力时,建议使用failover模式,这是因为multibus会消耗额外的CPU资源以进行计算。

path_checker:路径状态的检查模式。
readsector0-通过0扇区检查磁盘连路的可用状态,这是一个十分通用的模式。
directio-以直接I/O方式检查磁盘连路的可用状态。
除以上两个模式外,还有tur、emc_clariion、hp_sw模式,它们适用于不同的设备。
默认值为:readsector0。

rr_min_io :I/O轮询的路径切换间隔。
此值定义了在multibus模式中多个路径之间切换的密度,意思为每N次I/O操作后切换到下一个路径后再进行操作。此值过小会导致I/O路径的频繁切换;过大则会导致在大规模操作时切换延迟,发挥不了应有的性能。只有当path_grouping_policy为multibus时才有效。
默认值为1000。

max_fds:允许同时打开的最大文件描述符,此参数只在RHEL 5.2及之后版本中有效。

user_friendly_names:设为yes时系统会自动使用/dev/dm-X作为绑定的设备名;如果设为no,系统将会使用当前磁盘的wwid作为设备名

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/196700/viewspace-765201/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-10-10

  • 博文量
    546
  • 访问量
    24378