linux多路径配置
1.故障的切换和恢复
2.IO流量的负载均衡
3.磁盘的虚拟化
由于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。并且有的厂商,软件和硬件也不是一起卖的,如果要使用多路径软件的话,可能还需要向厂商购买license才行。比如EMC公司基于linux下的多路径软件,就需要单独的购买license。好在, RedHat和Suse的2.6的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。
2、 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的程序中就需要调用这些库。
1、安装和加载多路径软件包
# yum –y install device-mapper device-mapper-multipath
如果模块没有加载成功请使用下列命初始化DM,或重启系统
---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
# /etc/init.d/multipathd start #开启mulitipath服务
# multipath -F #删除现有路径
# multipath -v2 #格式化路径
# multipath -ll #查看多路径以及映射关系


要对多路径软件生成的磁盘进行操作直接操作/dev/mapper/目录下的磁盘就行.

测试步骤
1.部署测试环境,主机上两块Emulex光线卡连接到光纤交换机,通过光纤交换机再连接到EMC CX存储,形成SAN拓扑结构。并划分1个100G的LUN分配给主机。
9 5.8 SUSE9 9 SP1 5.9.2 9 SP3 5.9.4 9 SP4 6.1
2.主机安装操作系统(测试前准备),安装最新版的device-mapper-multipath软件包。 通过device-mapper-multipath用户工具来验证多路径的负载均衡及路径失效切换功能: 使用fdisk命令能看到系统识别出来的4个磁盘设备,这是多条路径得到的设备名,实际上指向存储上的同一个LUN,这说明红旗操作系统已经正确识别到了EMC CX存储划分出来的LUN,并为下一步多路径管理作准备。命令及输出如下:
#fdisk -l
Disk /dev/sdf: 103 GB, 107374182400 bytes 64 heads, 32 sectors/track, 102400 cylinders
Units = cylinders of 2048 0* 512 = 107374182400 bytes
Disk /dev/sdf doesn't contain a valid partition table
Disk /dev/sdh: 103 GB, 107374182400 bytes
64 heads, 32 sectors/track, 102400 cylinders
Units = cylinders of 2048 0* 512 = 107374182400 bytes
Disk /dev/sdh doesn't contain a valid partition table
Disk /dev/sdj: 103 GB, 107374182400 bytes 64 heads, 32 sectors/track, 102400 cylinders
Units = cylinders of 2048 0* 512 = 107374182400 bytes
Disk /dev/sdj doesn't contain a valid partition table
Disk /dev/sdl: 103 GB, 107374182400 bytes 64 heads, 32 sectors/track, 102400 cylinders
Units = cylinders of 2048 0* 512 = 107374182400 bytes
Disk /dev/sdl doesn't contain a valid partition table
实际上这4个设备对应的是一个LUN,只是通过不同的路径看到的。
3.启动多路径管理软件
# modprobe dm-multipath (加载dm-multipath内核模块)
说明:系统启动时缺省地不加载这个模块。如果应用部署需要,可以在系统启动时定制。 # /etc/init.d/multipathd start (启动multipath daemon服务) # multipath –v3 (装配多路径设备)
# multipath -ll (显示当前多路径拓扑结构) 3600601604b991100f4e5b5c83ef5da11
[size=100 GB][features="1 queue_if_no_path"][hwhandler="1 emc"]
\_ round-robin 0 [active]
\_ 1:0:2:1 sdf 8:80 [ready ][active]
\_ 2:0:1:1 sdl 8:176 [ready ][active]
\_ round-robin 0 [enabled]
\_ 1:0:3:1 sdh 8:112 [ready ][active]
\_2:0:0:1 sdj 8:144 [ready ][active]
这里的设备被分成了两组,实际上就是通过两个控制器看到的设备,其中一组的状态为[active],表示这是当前的活动控制器。接下来的对设备的读写都会通过该控制器下的/dev/sdf和/dev/sdl来进行操作。而只有当[active]控制器发生了故障或者执行了Tresspass后才会启用目前处于[enabled]状态的控制器下面的设备/dev/sdh,/dev/sdj。
linux多路径配置的更多相关文章
- Linux 安装nodejs环境以及路径配置
linux安装nodejs有2种方式一种简单的,解压即可用:另一种,通过下载source code ,通过编译,make,make install命令来安装. 这里只讲第一种,简单方便.不需要执行ma ...
- Linux动态库路径配置
参考链接:https://blog.csdn.net/blade2001/article/details/32839937 为什么要关注动态库路径配置,是因为工作中遇到动态库依赖其他动态库,而其他动态 ...
- 【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的 ...
- 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署
阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...
- 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat
阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat 执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...
- Linux 下安装配置 JDK7
Linux 下安装配置 JDK7 配置环境(debian 7) 自从从Oracle收购Sun近三年来,已经有很多变化.早在8月,甲骨文将“Operating System Distributor Li ...
- linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装
1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...
- linux 网桥的配置与实现
==================================================================================from: http://www.i ...
- 【转】linux下cvs配置
1. 验证是否已安装CVS #rpm -q cvs 如果能显示出类似这样的版本信息,证明已安装CVS: #cvs-1.11.19 若没有安装信息,则需要从htttp://www.cvshome.or ...
随机推荐
- JavaScript中类似PHP的uniqid()方法
JavaScript中类似PHP的uniqid()方法: function generateUIDNotMoreThan1million() { return ("0000" + ...
- 【python】单下划线与双下划线的区别
Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from moduleimport *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 以单下划线开头(_f ...
- 【转】ORACLE Dataguard安装
ORACLE Dataguard安装 标签: oracledatabasearchivesql数据库list 2011-08-01 09:40 5548人阅读 评论(1) 收藏 举报 分类: ORA ...
- TFS 2012如何切换用户
TFS 2012如何切换用户 编写人:左丘文 2018-3-8 春节假期来后,准备干活的时候,才发现TFS账户登入的是另外一个账户.现在想切换为自己的账户时,发现Vs 2012中没找到可以登出的功能, ...
- Django Model基础 ORM
ORM 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的 ...
- [转]OBJECT_ID 有哪些种类
本文来自: http://www.cnblogs.com/biwork/archive/2013/01/07/2849311.html 特别是在建表建存储过程的时候进场会写到: IF OBJECT_I ...
- 牛逼的lsof命令!!!
linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访 ...
- 解决provisional headers are shown的过程
前言 学习Angular时写了一个音乐播放器oschina地址github地址为了兼容android chrome,参考了这篇文章; 在数据读取中要中断的时候,可以把audio.src设为null,并 ...
- js将UTC时间转化为当地时区时间
js将UTC时间转化为当地时区时间(UTC转GMT) 我们在进行网站开发的时候有可能会涉及到国外的用户或者用户身在国外,这时就会存在时差问题,比如说我们在中国的时间是08:00,但是此时韩国的时间 ...
- oletools下载安装及rtfobj使用
rtf内嵌对象分析提取工具rtfobj是oletools的一部分 oletools各个版本下载地址https://bitbucket.org/decalage/oletools/downloads/ ...