当前位置: 首页 > news >正文

Device Mutipath参数设置

相信做过Mutipath Device的童鞋对multipath.conf并不陌生。不错,这个是DM的配置文件。初次配置DM可以不修改配置文件中的任何内容,它会默认加载,当然用的参数也是默认的。有些时候我们的存储并不支持默认的配置,或者默认的配置并不适合存储的需求,这就需要对默认的参数做些修改。

 

    下面看一下默认mutipath.conf的内容:

[root@ProsDB01 etc]# more multipath.conf
# This is a basic configuration file with some examples, for device mapper
# multipath.
# For a complete list of the default configuration values, see
# /usr/share/doc/device-mapper-multipath-0.4.7/multipath.conf.defaults
# For a list of configuration options with descriptions, see
# /usr/share/doc/device-mapper-multipath-0.4.7/multipath.conf.annotated


# Blacklist all devices by default. Remove this to enable multipathing
# on the default devices.
blacklist {
        devnode "*"
}

## By default, devices with vendor = "IBM" and product = "S/390.*" are
## blacklisted. To enable mulitpathing on these devies, uncomment the
## following lines.
#blacklist_exceptions {
#       device {
#               vendor  "IBM"
#               product "S/390.*"
#       }
#}

## Use user friendly names, instead of using WWIDs as names.
defaults {
        user_friendly_names yes
}
##
## Here is an example of how to configure some standard options.
##
#
#defaults {
#       udev_dir                /dev
#       polling_interval        10
#       selector                "round-robin 0"
#       path_grouping_policy    multibus
#       getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
#       prio_callout            /bin/true
#       path_checker            readsector0
#       rr_min_io               100
#       max_fds                 8192
#       rr_weight               priorities
#       failback                immediate
#       no_path_retry           fail
#       user_friendly_names     yes
#}
##
## The wwid line in the following blacklist section is shown as an example
## of how to blacklist devices by wwid.  The 2 devnode lines are the
## compiled in default blacklist. If you want to blacklist entire types
## of devices, such as all scsi devices, you should use a devnode line.
## However, if you want to blacklist specific devices, you should use
## a wwid line.  Since there is no guarantee that a specific device will
## not change names on reboot (from /dev/sda to /dev/sdb for example)
## devnode lines are not recommended for blacklisting specific devices.
##
#blacklist {
#       wwid 26353900f02796769
#       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#       devnode "^hd[a-z]"
#}
#multipaths {
#       multipath {
#               wwid                    3600508b4000156d700012000000b0000
#               alias                   yellow
#               path_grouping_policy    multibus
#               path_checker            readsector0
#               path_selector           "round-robin 0"
#               failback                manual
#               rr_weight               priorities
#               no_path_retry           5
#       }
#       multipath {
#               wwid                    1DEC_____321816758474
#               alias                   red
#       }
#}
#devices {
#       device {
#               vendor                  "COMPAQ  "
#               product                 "HSV110 (C)COMPAQ"
#               path_grouping_policy    multibus
#               getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
#               path_checker            readsector0
#               path_selector           "round-robin 0"
#               hardware_handler        "0"
#               failback                15
#               rr_weight               priorities
#               no_path_retry           queue
#       }
#       device {
#               vendor                  "COMPAQ  "
#               product                 "MSA1000         "
#               path_grouping_policy    multibus
#       }
#}

其中包含了几项参数:blacklist、defaults、multipaths、devices。这些参数对多路径的初始化信息起着决定性的作用。

    这里简单介绍下这个参数的作用,详细内容可参见官方文档:http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html-single/DM_Multipath/#mpath_devices。

 

1、blacklist

这个参数用作排除磁盘的。有些磁盘比如本地盘已经做了Raid,这里就需要将本地盘和光驱设备排除,不配置多路径。语法格式配置文件中也有,一般情况sda是作为本地磁盘:

blacklist {
        devnode "^sda"
}

当然,官方的建议还是采用WWID排除的方式,因为有些时候本地盘不只一个,名字也容易发生变化。

blacklist {
      wwid 26353900f02796769
#       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#       devnode "^hd[a-z]"
}

WWID号可以通过multipath -ll查看,或者

/sbin/scsi_id -g -s /block/sdb

 

2、defaults

这个参数是个全局参数,如果设置了,针对所有的盘是生效的。

 

3、multipaths

这个参数是针对一个盘的,配置一个盘得相关属性

 

4、devices

这个参数是针对设备的,不同存储对应不同的vendor。有些时候存储上的盘并不能被DM识别到,需要在devices参数中加入存储相关的参数。优先级要高于multipaths,比如path_grouping_policy在multipath设置为multibus,而在devices中设置为failover,那么生效的是failover。

 

这些了解了再看一下具体的参数,虽然很多,需要改动的很少。下面是比较重要的2个参数:

path_grouping_policy  

这个参数常用的两个:multipath failover,前者做负载均衡,后者是主备方式

 

path_checker 

这个参数要根据存储类型来定。常见的几种readsector0, tur, emc_clariion, hp_sw,  directio。

http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html-single/DM_Multipath/#mpath_devices




本文转自einyboy博客园博客,原文链接:http://www.cnblogs.com/einyboy/archive/2012/12/13/2817081.html,如需转载请自行联系原作者。


相关文章:

  • zookeeper集群的搭建
  • 《Java从小白到大牛精简版》之第2章 开发环境搭建
  • 面向未来十年的物联网设备安全评估方法集合
  • Java排序之直接插入排序、希尔排序、冒泡排序、快速排序(持续更新)
  • 1-SDK开发初探-8266
  • Tornado异步阻塞解决方案
  • Ansible
  • Windows10 UWP开发 - 响应式设计
  • Hbase万亿级存储性能优化总结
  • linux 查看用户常用命令
  • RESTful API 设计指南
  • mysql 存储过程中使用游标中使用临时表可以替代数组效果
  • MAC Intellij IDEA 常用快捷键
  • day04Java语言基础+
  • 【安全牛学习笔记】vega
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 10个最佳ES6特性 ES7与ES8的特性
  • express.js的介绍及使用
  • js对象的深浅拷贝
  • JS题目及答案整理
  • js作用域和this的理解
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • node 版本过低
  • opencv python Meanshift 和 Camshift
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Quartz初级教程
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue--为什么data属性必须是一个函数
  • 彻底搞懂浏览器Event-loop
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 开源地图数据可视化库——mapnik
  • 如何合理的规划jvm性能调优
  • 使用SAX解析XML
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 一道闭包题引发的思考
  • 【干货分享】dos命令大全
  • 1.Ext JS 建立web开发工程
  • Nginx实现动静分离
  • 第二十章:异步和文件I/O.(二十三)
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • #{}和${}的区别?
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #ifdef 的技巧用法
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (转)Mysql的优化设置
  • ***监测系统的构建(chkrootkit )
  • .htaccess 强制https 单独排除某个目录