多路径(multi-path)介绍及使用

  • 格式:doc
  • 大小:50.00 KB
  • 文档页数:8

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择,如下图:

根据上图所示,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多路径软件就是为了解决上面的问题应运而生的。多路径的主要功能就是和存储设备一起配合实现如下功能:

1.故障的切换和恢复

2.IO流量的负载均衡

3.磁盘的虚拟化

由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license 才行。比如EMC公司基于linux下的多路径软件,就需要单独的购买license。好在,RedHat和Suse 的2.6的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。

---Linux 内置HBA 驱动程序和内置多路径计划(HP)

从Red Hat RHEL 5.2 和Novell SLES 10 SP2 开始的惠普支持的客户选项

选项一:惠普提供的Emulex HBA 驱动程序和Multipulse 故障转移,或者惠普提供的Emulex HBA 驱动程序和内置Device Mapper Multipathing

选项二:惠普提供的QLogic HBA 驱动程序和QLogic 故障转移,或者惠普提供的单一路径模式QLogic HBA 驱动程序和内置Device Mapper Multipathing

选项三:内置HBA 驱动程序和内置Device Mapper Multipathing。该选项仅用于非生产环境

---Linux的multipath需要以下工具包:

1. multipath-tools 应该也就是rpm包device-mapper-multipath。主要提供multipathd和multipath等工具和multipath.conf等配置文件。这些工具通过device mapper的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库。创建的多路径设备会在/dev /mapper中)。

2. device-mapper.linux device mapper主要包括两大部分:内核部分和用户部分。内核部分主要由device mapper核心(dm.ko)和一些target driver(md-multipath.ko)。核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappered device 下来的i/o。同时,在核心部分,提供了一个接口,用户通过ioctr可和内核部分通信,以指导内核驱动的行为,比如如何创建mappered device,这些divece的属性等。linux device mapper的用户空间部分主要包括device-mapper这个包。其中包括dmsetup工具和一些帮助创建和配置mappered device的库。这些库主要抽象,封装了与ioctr通信的接口,以便方便创建和配置mappered device。multipath-tool的程序中就需要调用这些库。

3. dm-multipath.ko和dm.ko。dm.ko是device mapper驱动。它是实现multipath的基础。dm-multipath 其实是dm的一个target驱动。

4. scsi_id 包含在udev程序包中,可以在multipath.conf中配置该程序来获取scsi设备的序号。通过序号,便可以判断多个路径对应了同一设备。这个是多路径实现的关键。scsi_id是通过sg驱动,向设备发送EVPD page80或page83 的inquery命令来查询scsi设备的标识。但一些设备并不支持EVPD 的inquery命令,所以他们无法被用来生成multipath设备。但可以改写scsi_id,为不能提供scsi设备标识的设备虚拟一个标识符,并输出到标准输出。multipath程序在创建multipath设备时,会调用scsi_id,从其标准输出中获得该设备的scsi id。在改写时,需要修改scsi_id程序的返回值为0。因为在multipath程序中,会检查该直来确定scsi id是否已经成功得到。

---具体安装过程描述如下:

RHEL4U7 & 光纤网卡等驱动已经安装完成后。

1. 多路径软件包的构成(都在光盘目录内)

device-mapper-1.02.13xxx.rpm,该软件运行在底层,主要进行设备虚拟化和映射(系统已经自动安装)。device-mapper-multipath-0.4.7xxx.rpm(Debian等版本Linux内的软件包命名为:multipath-tools-xxx),这个软件包可以在多路径的管理和监控工具,主要进行路径状态的检测,管理工作.安装完成后,使用命令modprobe dm_multipath来加载相应的模块,可以使用lsmod |grep dm_multipath来检查安装是否正常。

---It is recommended that DM be integrated into the boot sequence using the following commands: # chkconfig --add multipathd

# chkconfig multipathd on

---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

2. 下载并安装HPDM Multipath Enablement Kit for HP StorageWorks Disk Arrays v4.2.0 available at /go/devicemapper.

3、修改配置文件/etc/multipath.conf , 主要是针对multipaths 字段,定义各wwid别名(文章后部有详细说明);其他字段使用默认设定即可,当然也可按照硬件设备自定义。

4、mulitipath服务

# /etc/init.d/multipathd start

相关主题