多路径介绍及使用

上传人:d**** 文档编号:123657331 上传时间:2022-07-22 格式:DOCX 页数:8 大小:26.54KB
返回 下载 相关 举报
多路径介绍及使用_第1页
第1页 / 共8页
多路径介绍及使用_第2页
第2页 / 共8页
多路径介绍及使用_第3页
第3页 / 共8页
点击查看更多>>
资源描述
普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境, 由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以 有多条路径可以选择。主机到存储之间的 IO 由多条路径可以选择,如下图:根据上图所示,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,1/0流量如何分 配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实 际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来 了困惑。多路径软件就是为了解决上面的问题应运而生的。多路径的主要功能就是和存储设备一起配合实 现如下功能:1.故障的切换和恢复2.10流量的负载均衡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设备时,会调用scsid,从其标准输出中获 得该设备的scsi id。在改写时,需要修改scsid程序的返回值为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 -22. 下载并安装 HPDM Multipath Enablement Kit for HP StorageWorks Disk Arrays v4.2.0 available at 3、修改配置文件/etc/multipath.conf ,主要是针对multipaths字段,定义各wwid别名(文章后部有详细说 明);其他字段使用默认设定即可,当然也可按照硬件设备自定义。4、mulitipath 服务# /etc/init.d/multipathd start5、使用 multipath -F 删除现有路径6、multipath -v2 格式化路径-Run command /sbin/multipath -2. This will invoke multipathd daemon to re-read the multipath.conf file and generate the /dev/mapper/ (/dev/mapper/alias) and /dev/dm -x device nodes.7、使用 multipath -ll 查看多路径# multipath -llocs1 (3600508b40006ea6e0001a000002a0000) dm-2 HP,HSV210size=500Gfeatures=1 queue_if_no_pathhwhandler=0_ round-robin 0 prio=100active_ 0:0:2:1 sdc 8:32 activeready_ 0:0:3:1 sdd 8:48 activeready_ round-robin 0 prio=20enabled_ 0:0:0:1 sda 8:0 activeready_ 0:0:1:1 sdb 8:16 activeready7、使用fdisk -l查看多路径的情况# fdisk -lDisk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes255 heads, 63 sectors/track, 17844 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/cciss/c0d0p1 *113104391 83 Linux/dev/cciss/c0d0p21417844 143227507+ 8e Linux LVMDisk /dev/sda: 536.8 GB, 536870912000 bytes255 heads, 63 sectors/track, 65270 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sda doesnt contain a valid partition tableDisk /dev/sdb: 536.8 GB, 536870912000 bytes255 heads, 63 sectors/track, 65270 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdb doesnt contain a valid partition table8. 对于Oracle安装中的Storage使用,如OCR & VOTE、ASM等应用,建议都使用独立LUN,这样在 LUN 的权限分配等方面更灵活。9.后续Oracle等应用安装,参考Oracle或第三方说明文件 1002_USEN 1002_USEN 00_1.html?rssid=valconfig ASM_on_Linux%20.pdf r%20HP%20StorageWorks%20Arrays.pdf 202a6d5918625735d0058fee0/$FILE/10GRAC_SLES10_R4.pdf-在/etc/multipath.conf中定义各LUN别名的方式:1.在系统中,执行fdisk -l可以看到Disk /dev/sda: 145.9 GB, 145999527936 bytes255 heads, 63 sectors/track, 17750 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice BootStartEnd/dev/sda1 *125/dev/sda2263849/dev/sda338504893/dev/sda4489417750/dev/sda5489417750Blocks Id System200781 83 Linux30716280 83 Linux8385930 82 Linux swap / Solaris103273852+ 5 Extended103273821 83 LinuxDisk /dev/sdb: 1395.8 GB, 1395864371200 bytes255 heads, 63 sectors/track, 169704 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdb doesnt contain a valid partition table Disk /dev/sdc: 1395.8 GB, 1395864371200 bytes255 heads, 63 sectors/track, 169704 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdc doesnt contain a valid partition tableDisk /dev/sdd: 1395.8 GB, 1395864371200 bytes255 heads, 63 sectors/track, 169704 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdd doesnt contain a valid partition tableDisk /dev/sde: 1395.8 GB, 1395864371200 bytes255 heads, 63 sectors/track, 169704 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sde doesnt contain a valid partition table其中,sdb, sdc, sdd, sde为通过多路径看到的两块磁盘,此处显示为4块。输入 multipath -v3 可以看到rootmailMx1 etc# multipath -v3dm-0: blacklistedsdb: path checker = hp_sw (controller setting)sdb: getprio = /sbin/mpath_prio_alua /dev/%n (controller setting)sdb: getuid = /sbin/scsi_id -g -u -s /block/%n (controller setting)sdb: uid = 3600508b4001013f70001900004230000 (callout)sdc: vendor = COMPAQsdc: product = HSV111 (C)COMPAQsdc: rev = 4100maildata2: set ACT_NOTHING (map unchanged)根据以上信息,就可以直接编辑配置文件,位于/etc/multipath.conf,主要修改以下部分将本机硬盘从多路径中去掉,blacklist devnode Asda添加多路径映射设备,其中别名alias可以自己起。multipaths multipath wwid3600508b4001013f70001900004230000aliasmaildata1 path_grouping_policy multibuspath_checker path_selector multipath wwidaliasturround-robin 03600508b4001013f70001900004320000maildata2path_grouping_policy multibus path_checkerturpath_selectorround-robin 0添加多路径设备,注意要用到前面收集的信息,特别是path_checker要和前面一致devices device vendorproduct path_grouping_policy getuid_callout path_checker path_selector prio_callout failback/厂商名称/产品型号/默认的路径组策略COMPAQ|HP HSV111 (C)COMPAQgroup_by_prio/sbin/scsi_id -p 0x80 -g -u -s /block/%n /获得唯一设备号使用的默认程序 hp_sw/决定路径状态的方法round-robin 0选择那条路径进行下一个IO操作的方法/获取有限级数值使用的默认程序/sbin/mpath_prio_alua /dev/%n immediate hardware_handler0/故障恢复的模式/确认用来在路径切换和 IO 错误时,执行特定的操作的模块。no_path_retry数值rr_min_io数目queue/在 disable queue 之前系统尝试使用失效路径的次数的100/在当前的用户组中,在切换到另外一条路径之前的 IO 请求的这样,使用 multipath -ll 就可以看到rootmailMx1 etc# multipath -llmaildata2 (3600508b4001013f70001900004320000) dm-1 COMPAQ,HSV111 (C)COMPAQ size=1.3Tfeatures=1 queue_if_no_pathhwhandler=0_ round-robin 0 prio=60active_ 3:0:0:2 sdc 8:32 activeready_ 3:0:1:2 sde 8:64 activereadymaildata1 (3600508b4001013f70001900004230000) dm-0 COMPAQ,HSV111 (C)COMPAQ size=1.3Tfeatures=1 queue_if_no_pathhwhandler=0_ round-robin 0 prio=60active_ 3:0:0:1 sdb 8:16 activeready_ 3:0:1:1 sdd 8:48 activeready说明设备已经配置完毕,可以看到,我们将4个设备聚合成了两个设备,分别是maildatal和maildata2。 这两个设备的位置在/dev/mapper下。2. 默认情况下,将使用 /var/lib/multipath/bindings 内的配置 设定具体每个多路径设备名, 如果在 /etc/multipath.conf 中有设定各 wwid 别名,别名会覆盖此设定。负载均衡测试使用dd命令来对设备进行写操作,并同时通过iostat来查看I / 0状态,命令及输出如下:#dd if=/dev/zero of=/dev/vgtest/lvtest1avg-cpu: %user %nice %sys %iowait %idle0.50 0.00 3.47 48.51 47.52Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 0.00 0.00 0.00 0 0sdf 756.57 6044.44 0.00 5984 0sdh 0.00 0.00 0.00 0 0sdj 0.00 0.00 0.00 0 0sdl 334.34 2682.83 0.00 2656 0通过上述输出,我们看到,在对/dev/vgtest/lvtest1读写时,实际上是通过对/dev/md-0包含的当前active的所有设备,即/dev/sdf,/dev/sdl这2条路径来完成对实际的LUN的写过程。-路径切换测试首先 我们拔掉服务器上A 口的光纤线 经过不到10秒 我们看到MPIO成功地从上述“失败”的路径/dev/sdl 切换到了另外一条路径/dev/sdf上。其输出样本如下:iostat 1avg-cpu: %user %nice %sys %iowait %idle0.50 0.00 6.47 46.77 46.27Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnsda 0.98 0.00 7.84 0 8sdf 1709.80 13678.43 0.00 13952 0sdh 0.00 0.00 0.00 0 0sdj 0.00 0.00 0.00 0 0sdl 0.00 0.00 0.00 0 0When devices are brought under the control of device-mapper-multipath the new multipathed devices can be seen in three different places under the /dev directory: /dev/dm-N, /dev/mapper/mpathN and /dev/mpath/mpathN.-The /dev/dm-N devices are internal to device mapper and should never be used. These de vices are not persistent. Starting with Red Hat Enterprise Linux 5, these devices are no longer created by udev.-The /dev/mpath/mpathN devices are provided so that all the multipathed devices can be seen in one place. However, these device nodes may not be created on boot before the system needs to access them. Therefore they should not be used for creating logical volumes or filesystems.-The /dev/mapper/mpathN devices are persistent and they are created early in the boot process. Therefore these are the device names that should be used to access the multipathed devices.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!