欢迎来到天天文库
浏览记录
ID:6056843
大小:60.00 KB
页数:12页
时间:2018-01-01
《linux 使用multiipath》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、[原]红旗上使用multipath复合多条路径linuxing,13:29,基础知识»硬件处理,评论(1),引用(0),阅读(1151),Via本站原创大
2、中
3、小引用地址:注意:该地址仅在今日23:59:59之前有效 某项目用到HDS(HitachiStorageSystems)的一款高端存储UniversalStoragePlatformVM(USPVM),其支持多个链路以负载均衡的方式同时访问存储上的逻辑设备。这里,我会使用linux下的device-multipath来符合各条链路。一、什么是multipath普通的电脑主
4、机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。既然,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多路径软件就是为了解决上面
5、的问题应运而生的。多路径的主要功能就是和存储设备一起配合实现如下功能:引用1.故障的切换和恢复2.IO流量的负载均衡3.磁盘的虚拟化二、为什么使用multipath由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。比如EMC公司基于linux下的多路径软件,就需要单独的购买license。其中,EMC提供的就是PowerPath,HDS提供的就是HDLM,更多的存储厂商提供的软件,可参考
6、这里。所以说,除了我下面使用的device-multipath方式外,对于HDS存储来说,还可以使用HDLM软件(驱动)来处理。但涉及的问题有两个:引用1.HDLM没有提供源码,而自带的核心模块又没有对应红旗的核心版本,也就是说,如果要用的话,必须把红旗的核心改为红帽的核心才能加载该驱动;2.HDLM的光盘坏了,这CDR光盘拿到手上就是坏的,后来又代理商从网上下载的镜像也是坏的。%>_<%当然,使用系统自带的免费多路径软件包,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,
7、也是可以支持并运行的很好的。※请与IBM的RDAC、Qlogic的failover驱动区分开,它们都仅提供了Failover的功能,不支持LoadBalance方式。但multipath根据选择的策略不同,可支持多种方式,如:Failover、Multipath等。三、multipath的组成我这里以红旗DCServer5.0SP2forx86_64为例,虽然版本比较老,但下面的配置方式基本适用后面的所有版本,Asianux3.0也自带该套件。引用#cat/etc/redflag-releaseRedFlagDCServerrelea
8、se5.0(TrinitySP2)#uname-aLinuxlocalhost.localdomain2.6.9-42.7AXsmp#1SMPTueJan919:47:42EST2007x86_64x86_64x86_64GNU/Linux#rpm-qa
9、grepdevicedevice-mapper-1.02.07-4.0device-mapper-multipath-0.4.5-16.1device-mapper-1.02.07-4.0可见,一套完整的multipath由下面几部分组成:1.device-mapper-multip
10、ath提供multipathd和multipath等工具和multipath.conf等配置文件。这些工具通过devicemapper的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库。创建的多路径设备会在/dev/mapper中);2.device-mapperdevice-mapper包括两大部分:内核部分和用户部分。内核部分由device-mapper核心(multipath.ko)和一些targetdriver(dm-multipath.ko)构成。dm-mod.ko是实现multi
11、path的基础,dm-multipath其实是dm的一个target驱动。核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappereddevice下来的i/o。同时,在核心部分,提供了一个接口,用户
此文档下载收益归作者所有