修改配置文件/etc/multipath.conf
找到以下内容并将其注释:
- #blacklist {
- # devnode "*"
- #}
这是设备的黑名单列表,系统中可能存在多个可进行绑定的磁盘设备,此列表可以对那些不要求绑定的设备进行过滤,以避免使用中的误操作。配置文件在默认情况下会过滤所有设备,因此系统不会为任何设备匹配绑定链接,将这个部分注释掉之后,multipath会为系统中除本地磁盘以外的所有磁盘设备匹配绑定链接。
启动多路径绑定
- [root@localhost ~]# /etc/init.d/multipathd start
- [root@localhost ~]# multipath -ll
- 14945540000000000000000000100000005004d000000d00f
dm-3 IET,VIRTUAL-DISK - [size=5.9G][features=0][hwhandler=0]
- \_ round-robin 0 [prio=1][active]
- \_ 2:0:0:0 sdc 8:32 [active][ready]
- \_ round-robin 0 [prio=1][enabled]
- \_ 1:0:0:0 sdd 8:48 [active][ready]
- 0QEMU_QEMU_HARDDISK_scsi0-hd1dm-2 QEMU,QEMU HARDDISK
- [size=100M][features=0][hwhandler=0]
- \_ round-robin 0 [prio=1][active]
- \_ 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项解开注释,并修改为:
- blacklist {
- wwid 0QEMU_QEMU_HARDDISK_scsi0-hd1
- }
清空所有磁盘绑定设备:
- [root@localhost ~]# multipath -F
重启多路径绑定服务,并使此服务自动启动:
- [root@localhost ~]# /etc/init.d/multipathd restart
- [root@localhost ~]# chkconfig multipathd on
- [root@localhost ~]# multipath -ll
- 14945540000000000000000000100000005004d000000d00f dm-2 IET,VIRTUAL-DISK
- [size=5.9G][features=0][hwhandler=0]
- \_ round-robin 0 [prio=1][active]
- \_ 2:0:0:0 sdc 8:32 [active][ready]
- \_ round-robin 0 [prio=1][enabled]
- \_ 1:0:0:0 sdd 8:48 [active][ready]
挂载多路径设备:
- [root@localhost ~]# mkfs.ext3 /dev/dm-2
- [root@localhost ~]# mkdir /mnt/multipath
- [root@localhost ~]# mount /dev/dm-2 /mnt/multipath
如果需要启动自动挂载,请在/etc/fstab中添加相应的挂载项。
multipath.conf配置文件详解(以下内容可以不作修改)
除blacklist外,此配置文件中还有一个比较重要的配置项--defaults,用于定义多路径绑定的运行策略。
- defaults {
- udev_dir /dev #设备所在的位置
- polling_interval 10 #路径检查间隔
- selector "round-robin 0" #路径间的轮询操作算法
- path_grouping_policy failover #路径冗
余策略(配置默认:multibus) - getuid_callout "/sbin/scsi_id -g -u -s /block/%n" #判
断相同设备的规则 - prio_callout /bin/true #判断设备优先级的方式
- path_checker readsector0 #路径状态的检查模式
- rr_min_io 100 #I/O论询的路径切换间隔
- max_fds 8192 #允许同时打开
的最大文件描述符 - rr_weight priorities #轮询时是否使用加权方式
- failback immediate #发现路径
失效时的操作方式 - no_path_retry fail #路径失效重试
- 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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/196700/viewspace-765201/