当前位置:文档之家› RHEL_ENTERPRISE_6.4_多路径软件multi-path配置操作手册

RHEL_ENTERPRISE_6.4_多路径软件multi-path配置操作手册

RHEL ENTERPRISE 6.4 多路径软件multi-path配置操作手册目录一、什么是多路径 (1)1.1 多路径的主要功能 (1)1.2 UUID的作用及意义 (2)二、Linux下multipath介绍 (2)2.1 查看multipath是否安装 (2)2.2 Linux下multipath需要以下工具包介绍 (2)三、multipath在Redhat中的基本配置过程 (3)3.1 安装和加载多路径软件包 (3)3.2 设置开机启动 (4)3.3 生成multipath配置文件 (4)四、multipath 高级配置 (4)4.1 获取存储设备的UUID/wwid和路径 (5)4.2 配置/etc/multipath.conf 文件例子 (5)4.3 关于:scsi_id (8)五、multipath 基本命令 (8)六、multipath.conf配置文件说明 (9)七、对multipath磁盘的基本操作 (10)八、使用multipath的一个例子 (12)九、PV/VG/LV常用操作命令 (12)十、使用udev配置固定iSCSI磁盘设备名称 (16)一、什么是多路径普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。

而到了有光纤组成的SAN 环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,就构成了多对多的关系。

也就是说,主机到存储可以有多条路径可以选择。

主机到存储之间的IO由多条路径可以选择。

每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。

多路径软件就是为了解决上面的问题应运而生的。

另外在linux中,同样的设备在重新插拔、系统重启等情况下,自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序,就有可能导致设备名分配不一致。

1.1多路径的主要功能多路径的主要功能就是和存储设备一起配合实现如下功能:1.故障的切换和恢复2.IO流量的负载均衡3.磁盘的虚拟化由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。

并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。

比如EMC公司基于linux下的多路径软件,就需要单独的购买license。

好在,RedHat和Suse的2.6的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。

1.2UUID的作用及意义原因1:它是真正的唯一标志符UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。

如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。

原因2:设备名并非总是不变的自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。

如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。

如何让它保持在任何系统中的标识,那就是UUID唯一性标识。

二、Linux下multipath介绍2.1查看multipath是否安装查看multipath是否安装如下:[root@testvm1 disk]# rpm -qa |grep device-mapperdevice-mapper-event-libs-1.02.74-10.el6.x86_64device-mapper-multipath-libs-0.4.9-56.el6.x86_64device-mapper-event-1.02.74-10.el6.x86_64device-mapper-1.02.74-10.el6.x86_64device-mapper-libs-1.02.74-10.el6.x86_64device-mapper-multipath-0.4.9-56.el6.x86_642.2Linux下multipath需要以下工具包介绍1、device-mapper-multipath:即multipath-tools。

主要提供multipathd和multipath等工具和multipath.conf等配置文件。

这些工具通过device mapper 的ioctr的接口创建和配置multipath设备(调用device-mapper的用户空间库。

创建的多路径设备会在/dev/mapper中)。

2、 device-mapper:主要包括两大部分:内核部分和用户部分。

内核部分主要有device mapper核心(dm.ko)和一些target driver(md-multipath.ko)。

核心完成设备的映射,而target根据映射关系和自身特点具体处理从mappered device 下来的i/o。

同时,在核心部分,提供了一个接口,用户通过ioctr可和内核部分通信,以指导内核驱动的行为,比如如何创建mappered device,这些divece的属性等。

用户空间部分主要包括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是否已经成功得到。

三、multipath在Redhat中的基本配置过程3.1安装和加载多路径软件包# rpm -ivh device-mapper-1.02.39-1.el5.rpm #安装映射包# rpm -ivh device-mapper-multipath-0.4.7-34.el5.rpm #安装多路径包或者使用yum进行安装yum -y install device-mapper-multipath-libs.x86_64yum -y isntall device-mapper-multipath.x86_643.2设置开机启动#是否开机自启动[root@testvm1 dev]# chkconfig --list|grep multipathdmultipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off# chkconfig --level 2345 multipathd on #设置成开机自启动multipathd# modprobe -l |grep multipath #来检查安装是否正常,内核中是否存在kernel/drivers/md/dm-multipath.ko至此进行了安装并设置了开机启动,但是multipath服务现在还没有启动,如果启动两种办法:一、重启启动系统reboot ,开机自动载入内核并启动服务。

二、手工加载# modprobe dm-multipath #加载到内核#modprobe dm-round-robin# service multipathd start #重启服务3.3生成multipath配置文件用/sbin/mpatchconf --enable生成multipath.conf[root@testvm2 ~]# /sbin/mpatchconf --enable[root@testvm2 ~]# ls /etc/multipath.conf/etc/multipath.conf(也可以按上面提示将/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf文件复制到/etc下)四、multipath 高级配置除了可以multipath命令来的默认配置multipath,比如映射设备的名称、multipath负载均衡。

也可以按照我们自己定义的方法来配置multipath。

首先,需要获取uuid4.1获取存储设备的UUID/wwid和路径通过/sbin/scsi_id -g -u -s /block/sdf 获取uuid/wwid通过multipath -v3 命令查看,注意,会默认生成设备的路径。

multipath -v31、通过命令查看:例如:/sbin/blkid/sbin/blkid /dev/sdg1但是只能看到已挂接文件系统的存储和分区的uuid,对于裸设备、未挂接的分区看不到uuid。

2、文件查看:ls -l /dev/disk/by-uuid3、查看文件ls -l /dev/disk/by-id其中红线部分既是uuid。

看路径ls -l /dev/disk/by-path/4.2配置/etc/multipath.conf 文件例子1、查看设备# ls -l /dev/2、获取设备的uuid使用multipath 设备名生成设备路径,同时也获取了设备uuid3、配置/etc/multipath.conf 文件# vi /etc/multipath.conf将这段中前面的#号删除,或复制后编辑成实际需要的路径配置。

配置了设备sdb 、sdc的多路径运行multipath 命令生成路径文件(如果之前已经有该设备的路径文件,不会重新生成)查看multipath -ll如果是通过光纤多条线路连接的会显示多条连接线路复合成一条链路,这个只是本地硬盘所以只有一条路径,类似下面的信息:如果针对设备路径mpath0进行分区,fdisk /dev/mapper/mpath0fdisk对多路径软件生成的磁盘进行分区之后,所生成的磁盘分区并没有马上添加到/dev/目录下,此时我们要重启IPSAN或者FCSAN的驱动.如果是用iscsi-initiator来连接IPSAN的重启ISCSI服务就可以发现所生成的磁盘分区了# service iscsi restart如果是本地磁盘可以使用partprobe同步磁盘信息(分完区使用partprobe 同步磁盘信息(此命令让kernel会重新读取磁盘分区表,修改生效)或partprobe /dev/mapper/mpath0 单独同步)partprobe /dev/mapper/mpath0在/dev/mapper下已有了分区的路径文件4.3关于:scsi_id其包含在udev程序包中,可以在multipath.conf中配置该程序来获取scsi设备的序号。

相关主题