ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:177.60KB ,
资源ID:10407725      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10407725.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Linux Device Mapper Multipathing技术.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Linux Device Mapper Multipathing技术.docx

1、Linux Device Mapper Multipathing技术Linux Device Mapper Multipathing技术在SAN存储网络中,冗余地访问存储设备是整个系统的关键技术之一,在Linux平台,开源的解决方案之一是DM-Multipath。Device Mapper Multipathing ( DM-Multipath )允许在服务器节点和存储阵列之间配置多个I/O路径但仍视为一个单一存储设备。这些I/O路径是物理SAN连接,可以包含独立的数据线,交换机和控制 器。多路径集成了I/O路径,创建了包含集成多路径的一个新设备。本文主体是基于Red Hat管理手册 Red

2、Hat Enterprise Linux 5 DM Multipath DM Multipath Configuration and Administration Edition 3 结合项目实施过程中的实践撰写的。文档以Red Hat英文管理手册翻译为主,并完整经过实践。DM-Multipath 概述 DM-Multipath 可以提供:冗余DM-Multipath 可以在 active/passive 配置中提供failover。在一个 active/passive 配置中,对于I/O任何时候只使用一半的路径。如果一个I/O路径的任何组成部分(数据线,交换机或控制器)出现故障, DM-Mu

3、ltipath将切换到一个替换路径上。性能提高DM-Multipath 可以配置为 active/active 模式,这样I/O采用 round-robin 方式分摊到多路径上。在一些配置中, DM-Multipath 可以检测到I/O路径的负载并可以动态重平衡负载。Active/Passive Mulstipath Configuration with one RAID Devices配置说明:o提供了HBA,FC cable,SAN switch和阵列控制器failover o不支持硬件存储阵列故障failover更为复杂的 Active/Passive Mulstipath Config

4、uration with one RAID Devices配置说明:o支持全冗余硬件failover o数据冗余需要通过软件来实现存储阵列支持 默认情况 下, DM-Multipath 支持大多数支持 DM-Multipath 技术的常用存储。所有支持的存储设备可以在multipath.conf.defaults 文件中查询。如果所使用的存储阵列没有在默认配置文件中列出,可能需要添加到 DM-Multipath 配置文件 multipaht.conf中。一些存储阵列需要处理特殊的I/O错误 和路径切换,这些请求需要特定的引见处理内核模块。DM-Multipath 模块 组件描述dm-multi

5、path内核模块重 路由I/O和支持对路径和路径组的failovermultipath命令列出和配置多路径设备。通常使用 /etc/rc.sysinit 来启动,也可以使用 udev 程序在添加一个块设备时启动,或者通过 initramfs 文件系统来运行multipathddaemon监 控路径;当路径失效或恢复, multipathd 服务会初始化路径组切换。提供对多路径的交互式修改。任何 /etc/multipath.conf 的配置修改都要重启该服务kpatx创 建设备映射设备用于一个设备的分区,对于使用基于DOS分区的 DM-MP 是必要的命令。kpartx 基于自己的软件包,但是

6、device-mapper-multipath 软件包以来此软件包DM-Multipath 设置概览 DM-Multipath 包括内编译( compiled-in )的默认设置,适合常规的多路径配置。设置 DM-Multipath 通常是一个简单的过程。基本的 DM-Multipath 配置过程如下安装 device-mapper-multipath 软件包 编辑 multipath.conf 配置文件: o去掉默认的blacklist o修改需要的现有默认配置 o保存配置文件启动multipath服务 使用 multipath 命令创建多路径设备多路径设备 当没有使用 DM-Multipa

7、th 时,任何从服务器节点到一个存储控制器的路径都会被视为系统一个独立的设备,甚至这些I/O路径连接相同的服务器节点到相同的存储控制器。 DM-Multipath 通过创建在底层设备上再一个多路径设备,提供了一个在逻辑上组织I/O路径的方法。多路径设备标识 每个多路径设备都具备一个 全局标识(WWID, World Wide Identifir),这个标识生成后是全局唯一并且不能修改。默认情况下,一个多路径设备是设置为它的WWID。不过,也可以设置多路径配置文件中的user_friendly_names 参数,这样可以设置类似 mpathn 这样的节点唯一别名。例如,一个节点通 过一个单一的非

8、区域光纤(FC)交换机使用双HBA卡连接诶到一个存储控制器的两个接口上,则服务器可以看到4个设备: /dev/sda , /dev/sdb , /dev/sdc , /dev/sdd 。 DM-Multipath 使用一个唯一的WWID创建一个单一设备,这样可以重路由I/O到这4个符合多路径配置的底层设备。当设置user_friendly_names 配置参数被设置为 yes ,则多路径设备命名将设置为 mpathn 。当一个信设备被连接到 DM-Multipath 控制,这个新设备可能被可以在 /dev 目录下3个不同的设备位置查看到:/dev/mapper/mpathn , /dev/mp

9、ath/mpathn 和 /dev/dm-n位于 /dev/mapper 的设备是最早在启动过程中创建的。这些设备用于multipathed设备访问,例如当创建逻辑卷。 位于 /dev/mpath 的设备是便于所有多路径设备在统一目录下检查而提供的。这些设备由 udev 设备管理器创建,并且可能在启动时不可用。不要使用这些设备来构建逻辑卷或者文件系统。 所有类似 /dev/dm-n 的设备只能内部使用,不能由用户使用。在一个群集中一致的多路径设备命名 当在配置文件中设置 user_friendly_names 配置参数为 yes ,这个多路径设备的命名将对一个节点将是唯一的,但是不能保证对所有

10、节点这个命名也是唯一的。这样对于在多路径设备上使用LVM创建逻辑设备虽然不会导致 困难,但是如果要求群集所有节点都使用一致的命名来访问多路径设备,则需要执行以下步骤:在多路径配置文件中的 multipaths 配置段使用 alias 选项来设置多路径设备。这个多路径设备的 alias 命名对于一个群集的节点是完全一致的。 如果需要在系统定义的用户友好命名上对群集所有节点使用统一命名,则在一个主机上设置所有多路径设备。然后将 /var/lib/multipath/binding 配置文件从这台服务器复制到群集的所有其他节点上。多路径设备特性 在附加的 user_friendly_names 和

11、alias 选项,一个多路径设备具有数字属性。可以在多路径配置文件的multipaths 部分对一个特定的多路径设备创建一个设备项来修改这些属性。在逻辑卷中使用多路径设备 在创建多路径设备后,可以使用多路径设 备作为一个物理设备命名来创建一个LVM逻辑卷管理。例如,如果/dev/mapper/mpath0 是一个多路径设备,则以下命令可以把 /dev/mapper/mpath0 作为一个物理卷。1pvcreate /dev/mapper/mpath0可以在创建LVM卷组的时候像使用其他LVM物理卷设备以上使用以上LVM物理卷设备。注意如 果一个物理设备上已经配置了分区,则在整个设备上创建一个L

12、VM物理卷, pvcreate 命令会失败。注意Anaconda 和 Kickstart 安装程序会在每个没有标记的块设备上创建一个空的分区表。如果希望使用整个物理设备而不是一个分区,则需要在这个设备上删除所有存在的分区。可以使用 kpartx -d 命令或 fdisk 命令来 现有分区。如果系统是哟给你大于 2Tb 的块设别,可以使用 parted 命令来删除分区。当创建一个LVM卷管理来使用 active/passive 多路径存储作为底层物理设备,则需要在 lvm.conf 配置中包含过滤设置以去除这些多路径设备。这是因为无论何时LVM扫描到没有过滤的后备路径设备,则阵列就会在接收到故障

13、失效信号时自动修改了活动路径到 后备路径。对于 active/passive 阵列要求一个命令来使后备路径激活,LV会在这个情况下打印一条告警信息。要在LVM配置文件( lvm.conf )中过滤掉所有SCSI设备,则包含以下过滤到 devices 配置部分1filter = r/disk/, r/sd.*/, a/.*/ 注意在实际环境中,需要指定特定的SCSI设备设置 DM-Multipath在设置系统的DM-Multipath之前,确保系统已经 升级并包括 device-mapper-mulipath 软件包。 使用以下过 程设置 DM-Multipath 的一个基本failover配置

14、编辑 /etc/multipath.conf 启用文件的头部配置,配置文件的部分,在初始状态,blacklist所有设备。必须先注释掉以下配置启用来激活multipath。将1blacklist 2 devnode *3修改为1# blacklist 2# devnode *3# 默认的DM-Multipath配置已经编译到系统中并且不需要预先在 /etc/multipath.conf 配置中设置。默认的 path_grouping_policy 已经设置了 failover ,所以在配置中不需要修改默认值。配置文件中的初 始默认部分配置了系统的多路径设备格式 mpathn ,没有这个配置,那

15、么多路径设备的名字将被设置为WWID的别名。执行以下命令1modprobe dm-multipath2service multipathd start3multipath -v2以上命令 multipath -v2 打印出具备多路径的设备。如果该命令没有输出任何信息,则要确认所有的SAN连接已经正确设置并且系统是 multipathed 的。o执行 multipath -v2 显示输出1multipath -v2sdc: checker msg is readsector0 checker reports path is downsdd: checker msg is readsector0

16、checker reports path is down 此时,再使用 fdisk -l 命令,则原来显示的Disk /dev/sda: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks IdSystem/dev/sda1 * 1 2087 16763796 83Linux/dev/sda2 2088 2609 4192965 82Linux swap

17、/ SolarisDisk /dev/sdb: 577.4 GB, 577404665856 bytes255 heads, 63 sectors/track, 70198 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks IdSystemDisk /dev/sdc: 2199.0 GB, 2199023255552 bytes255 heads, 63 sectors/track, 267349 cylindersUnits = cylinders of 16065 *

18、 512 = 8225280 bytesDisk /dev/sdc doesnt contain a valid partition tableDisk /dev/sdd: 2199.0 GB, 2199023255552 bytes255 heads, 63 sectors/track, 267349 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdd doesnt contain a valid partition table 则在后面增加显示了Disk /dev/dm-0: 577.4 GB, 57

19、7404665856 bytes255 heads, 63 sectors/track, 70198 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks IdSystemDisk /dev/dm-1: 2199.0 GB, 2199023255552 bytes255 heads, 63 sectors/track, 267349 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/dm-1

20、doesnt contain a valid partition table 这表明默认情况下,所有没有分配的块设备都被识别为多路径设备。但是,需要注意的是readsector0 checker reports path is down这表明SAN设备尚不能判断路径是否可用。o使用 multipath -l 检查设备1multipath -lmpath2 (360022a11000120094e3181b800000000) dm-1 HUAWEI,S5600size=2.0Tfeatures=0hwhandler=0rw_ round-robin 0 prio=0active _ 3:0:0

21、:0 sdc 8:32activeundef_ round-robin 0 prio=0enabled _ 3:0:1:0 sdd 8:48activeundefmpath1 (360026b90596a0f00134750591a3c2a3c) dm-0 DELL,PERC 6/isize=538Gfeatures=0hwhandler=0rw_ round-robin 0 prio=0active _ 0:2:1:0 sdb 8:16activeundef 其中,前者是华为SAN存储输出的多路径存储阵列,其中 /dev/sdc 和 /dev/sdd 是同一个设备(WWID相同)。后者是本地

22、设备由Dell PERC 6内建的RAID1 SCSI存储。单路径配置 有关如何显示 SCSI设备的UUID或WWID,参考 7.3. Configuring persistent storage in a Red Hat Enterprise Linux 5 environment在不使用multipath的系统中,udev是一个实现LUN永久化的 好方法。编辑 /etc/scsi_id.config 配置文件,确保注释掉如下配置1# options=-b添加以下行到 /etc/scsi_id.config1options=-g以上配置可以让udev假设所有连接的SCSI设备将返回UUID(

23、唯一设备标识)。通过执行以下命令 scsi_id -g -s /block/sdc 来显示类似1scsi_id -g -s /block/sdb360026b90596a0f00134750591a3c2a3c 可以看到就是前述使用 multipath -l 显示的WWID。此外,对于multipath自动推 测并忽略的sda,也能够显示UUIDscsi_id -g -s /block/sda 这样,就可以在多路径配置中,通过设置WWID的blacklist来过滤掉本地SCSI磁盘。另外,对于各种cluster群集, 如果要使用iSCSI等设备,为了能够固定映射名称,需要创建/etc/udev

24、/rules.d/20-names.rules ,在其中添加命名规则类似KERNEL=sd*, BUS=scsi, PROGRAM=/sbin/scsi_id -g -s, RESULT=UUID, NAME=devicename 将以上的规则中 UUID 替换为前面查询出来的指定设备UUID(例如/dev/sdb), 名称设置 devicename 替换为需要指定的设备名称,如 asm1这将迫使系统识 别所有相应的块设备( /dev/sd* )给出相应的UUID。当系统找到匹配的设备,将创建一个设备节点命名为 /dev/devicename。 例如,这个设备可以命名为 /dev/asm1 。

25、最后,添加命令行到 /etc/rc.local1/sbin/start_udev多路径配置 在一个多路径环境中实现LUN永久化,需要定义多路径设备的别名。要标识一个设备的UUID或WWID则遵循上 述的单路径配置部分。多路径设备将创建在 /dev/mpath 目录下。例如,以下在 /dev/multipath.conf 配置中定义4个设备:01multipaths 02 multipath 03 wwid 3600805f30015987000000000768a001904 alias oramp105 06 multipath 07 wwid 3600805f300159870000000

26、00d643001a08 alias oramp209 10 mulitpath 11 wwid 3600805f3001598700000000086fc001b12 alias oramp313 14 mulitpath 15 wwid 3600805f300159870000000000984001c16 alias oramp417 18则以上配置将创建4个LUN设备,分别命名为 /dev/mpath/oramp1,/dev/mpath/oramp2,/dev/mpath/oramp3 和/dev/mpath/oramp4 。系统重启后,这些新命名将持久化。执行以下命令确保多路径服务在

27、启动时启动1chkconfig multipathd on由于 user_friendly_name 设置为 yes ,所以多路径设备创建为 /dev/mapper/mpathn 。昵称: gunguymadman 时间: 2010-07-28 16:38:00在 生成多路径设备时忽略本地磁盘 一些主机已经具备了本地SCSI磁盘作为内部磁盘。对于这些磁盘设备不建议使用 DM-Multipath。 以下过程展示如何修改多路径配置文件以忽略本地磁盘:检查哪些磁盘是本地磁盘,并标记这些磁盘到blacklist中。例如, /dev/sda 是本地内部磁盘。注意,在默认的多路径配置中,例 如,在本例中,

28、上述 multipath -l 命令输出的 WWID 360026b90596a0f00134750591a3c2a3c (即磁盘/dev/sdb) 就是本地磁盘,需要从多路径配置文件中排除。在 /etc/multipath.conf 配置中添加1blacklist 2 wwid 360026b90596a0f0013475046191d4cdb3 wwid 360026b90596a0f00134750591a3c2a3c4配置完成后,需要手工通知 multipathd 服务重新加载配置文件。1service multipathd reload执行以下命令1multipath -F2mult

29、ipath -v2create: mpath2 (360022a11000120094e3181b800000000)HUAWEI,S5600size=2.0Tfeatures=0hwhandler=0n/a_ round-robin 0 prio=1undef _ 3:0:0:0 sdc 8:32undefready_ round-robin 0 prio=1undef _ 3:0:1:0 sdd 8:48undefready 可以看到,已经排除了本地磁盘 sda 和 sdb ,另外,非常奇特的是,也不再出现 readsector0 checker reports path is down 报错信息。注意,再次使用 multipath -v2 将不再有任何输出,这个命令只在初次使用时创建设备。后续要使用 multipath -l。1multipath -lmpath2 (360022a11000120094e3181b800000000) dm-0 HUAWEI,S5600size=2.0T

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1