DM Multipath(DMMP)工具

磁盘扫描

添加磁盘到dg
--首先通知存储管理员划分相应的盘到指定的机器,说明共享
--扫描磁盘(两个节点执行)
[root@testrac1 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan

注意,有的机器有多个光纤接口,就要多次,如下:
[root@testrac1 scsi_host]# ls -a /sys/class/scsi_host
 .  ..  host0  host1  host10  host2  host3  host4  host5  host6  host7  host8  host9
如这里有10个,就要执行10次,预先写好脚本
[root@testrac1 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
 [root@testrac1 ~]# echo "- - -" > /sys/class/scsi_host/host3/scan

最后使用 fdisk -l 就可以查看到了

操作系统识别硬件设备是通过硬件驱动来完成的,不同的厂商的硬件,使用的驱动不一样。

你说的这个文件其实就是 HBA卡 或者scsi卡的驱动的入口文件,不同的驱动,入口文件的名字(目录)都不一样



echo "- - -" >/sys/class/scsi_host/host*/scan 其中 --- 就是一个标识,当驱动程序再入口文件中读取到这个标识后,就会触发重新识别磁盘的操作(不同驱动的标识也不一样)





你可以看看 emulex 和qlogic的卡,他们触发识别磁盘的方法,是完全不一样的。

 
 
 

DM-Multipath 组件介绍:
dm-multipath: 内核模块 为路径和路径组群重新指定 I/O 并支持出错冗余。
mpathconf: 程序 配置并启用设备映射器多路径
multipath: 命令 列出并配置 multipath 设备。通常使用 /etc/rc.sysinit 启动,还可以在添加块设备时使用 udev 程序启动。
multipathd: 守护进程 监视器路径,如果路径故障并返回,它可能会启动路径组群切换。可为多路径设备提供互动修改。
                      对 /etc/multipath.conf 文件的任何修改都必须启动它。
kpartx: 命令 为设备中的分区生成设备映射器设备。这个命令对带 DM-MP 的 DOS 分区
是很必要的。kpartx 在其自身软件包中就存在,但 devicemapper-multipath 软件包要依赖它。
-------------------------------------------------------------------------------------------------------------------
一、首先检查系统是否已安装了 DMMP 软件包,如果没有从系统安装光盘上找到并且安装相应软件包。
[root@pipci ~]# rpm -qa | grep device-mapper-multipath
[root@pipci ~]#                                  #没有返回值说明没有安装

二、安装 device-mapper-multipath

[root@pipci opt]# rpm -qa | grep device-mapper-multipath
device-mapper-multipath-0.4.9-100.el6.x86_64      
device-mapper-multipath-libs-0.4.9-100.el6.x86_64  

三、设置 DMMP 服务在每次系统启劢时自动开启。
[root@pipci ~]# chkconfig multipathd on                    #在运行级别2、3、4、5上设置为自动运行
[root@pipci ~]# chkconfig --list multipathd                 #检查ntp服务是否开机启动
multipathd      0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

四、DMMP 需要建立一个配置文件/etc/multipath.conf,默认情况下是没有的,创建的方法有两种。
1、通过命令创建
[root@pipci ~]# mpathconf --enable
这种方法CentOS6.x版本可以5.x应该不可以

2、可以将模板配置文件复制到/etc 目录下,模板配置文件/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
[root@pipci ~]#cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc
这种方法比较通用。

五、修改配置文件/etc/multipath.conf添加下面的内容

defaults {
        user_friendly_names yes             #如果是集群环境yes最好改成no,下面有解释。
        find_multipaths yes
        path_grouping_policy  multibus
}

如果您在启动 multipath 守护进程后发现需要编辑 multipath 配置文件,则必须执行
service multipathd reload 命令方可使更改生效。

六、启劢 multipathd 服务,守护进程。
[root@pipci ~]# service multipathd start
正在启动守护进程multipathd:                               [确定]

七、检查 DMMP 模块是否正常加载
[root@pipci ~]# lsmod |grep dm_multipath
dm_multipath           17916  1 dm_round_robin
dm_mod                102467  3 dm_multipath,dm_mirror,dm_log

八、安装配置成功后,可以查看到 DMMP 管理了一个名称为 mpathn 的多路径设备,此设备包含有两个 路径。
[root@pipci ~]#multipath -ll               #user_friendly_names yes(别名设置)

mpathc (36505dac1002fc54b0bfca55c00000011) dm-0 HUAWEI,XSG1
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:7 sdh 8:112 active ready running
  `- 2:0:0:7 sdp 8:240 active ready running
mpathb (36505dac1002fc54b0bfc0b9c0000000d) dm-1 HUAWEI,XSG1
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:3 sdd 8:48  active ready running
  `- 2:0:0:3 sdl 8:176 active ready running

[root@pipci ~]#multipath -ll                 #user_friendly_names no(未别名设置)
36505dac1002fc54b0bfc0b500000000b dm-0 HUAWEI,XSG1
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:1 sdb 8:16  active ready running
  `- 2:0:0:1 sdj 8:144 active ready running
36505dac1002fc54b0bfca5190000000f dm-1 HUAWEI,XSG1
size=2.0T features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:5 sdf 8:80  active ready running
  `- 2:0:0:5 sdn 8:208 active ready running

九、使用 fdisk 查看硬盘会多出存储设备/dev/mapper/36505dac1002fc54b0bfca4f10000000e (没用别名),这个是多路径软件生成的设备,在分区或其他针对硬盘的操作时请 使用这个设备,不要使用/dev/sdb 和/dev/sdc等设备,除非是服务器本地磁盘。
[root@pipci ~]#fdisk -l
Disk /dev/sdb: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/36505dac1002fc54b0bfca4f10000000e: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

十、对修改配置文件multipath.conf添加下面的内容说明
-----------------------------------------------------------------------------------------
1、user_friendly_names yes
每个多路径设备都有一个全球识别符(WWID),它是一个全球唯一的无法更改的号码。默认情况下会将
多路径设备的名称设定为它的 WWID。另外,您还可以在多路径配置文件中设置
user_friendly_names 选项,该选项可将别名设为格式为 mpathn 的节点唯一名称
当在 DM-Multipath中添加新设备时,这些新设备会位于 /dev 目录的两个不同位
置:/dev/mapper/mpathn 和 /dev/dm-n。
/dev/mapper 中的设备是在引导过程中生成的。可使用这些设备访问多路径设备,例如在生成
逻辑卷时。
所有 /dev/dm-n 格式的设备都只能是作为内部使用,请不要使用它们。
*在集群中保持多路径设备名称一致(重点)
当将 user_friendly_names 配置选项设为 yes 时,该多路径设备的名称对于节点来说是唯一的,但不
保证对使用多路径设备的所有节点都一致。同样,如果您为 multipath.conf 配置文件的 multipaths
部分中的设备设定 alias 选项,该名称不会自动在集群的所有节点中保持一致。如果您使用 LVM 在多路
径设备中创建逻辑设备,这不应是问题。但如果您需要将您的多路径设备名称在集群中的每个节点上都保
持一致,请不要将 user_friendly_names 选项设定为 yes,且不要为那些设备配置别名。默认情况
下,如果您不将 user_friendly_names 设定为 yes,或者为某个设备配置别名,则设备名称将是该设
备的 WWID,它是不会变的。
如果您要系统定义的用户友好名称在集群的所有节点中都一致,您可按照以下步骤操作:
1. 在一台机器中设定所有多路径设备。
2. 运行以下命令在其他机器中禁用所有 multipath 设备:
# service multipathd stop
# multipath -F
3. 将第一台机器中的 /etc/multipath/bindings 文件复制到集群中的其它所有机器中。
4. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
设备映射多路径
 
# service mutipathd start
如果您添加新设备,您将需要重复这个过程。
同样,如果您为某个设备配置别名以便在集群的节点中使其保持一致,您应确定
/etc/multipath.conf 文件对于集群中的每个节点都是一样的,步骤如下:
1. 为机器 multipath.conf 文件中的多路基功能设备配置别名。
2. 运行以下命令在其他机器中禁用所有 multipath 设备:
# service multipathd stop
# multipath -F
3. 将第一台机器中的 /etc/multipath.conf 文件复制到集群中的其它所有机器中。
4. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
# service mutipathd start
当您添加新设备时,您将需要重复这个过程。
-----------------------------------------------------------------------------------------------

2、find_multipaths yes
在旧版CentOS(5版本以下,包括5) Linux 中,multipath 总是尝试为每个没有明确放入黑名单的路
径创建 multipath 设备。但在CentOS Linux 6 中,如果将 find_multipaths 配置参数设定
为 yes,默认为no,那么 multipath 将只在满足以下三个条件之一时创建设备:
1、至少有两个没有列入黑名单的路径使用同一 WWID。
2、用户使用 multipath 命令指定设备强制手动生成该设备。
3、路径拥有与之前创建的多路径设备相同的 WWID(即使该多路径设备目前不存在)。如果您
之前在没有设定 find_multipaths 参数的情况下创建了多路径设备

可以通过下面的命令查看所以磁盘的wwid号。

#scsi_id --whitelist /dev/sda       #单个磁盘


# ll /dev/disk/by-id/                      #会显示所有磁盘

-----------------------------------------------------------------------------------------------
3、path_grouping_policy  multibus

DM-Multipath 可在主动/被动配置中提供出错冗余。在主动/被动配置中,只有一半的路径在每次
I/O 时都使用。如果 I/O 路径的任意元素(电缆、交换机或者控制器)出现故障,就会将 DMMultipath 切换到备用路径。
也可将 DM-Multipath 配置为主动/主动模式,其中将 I/O 以轮叫调度算法方式分布到所有路径中。
在有些配置中,DM-Multipath 可在 I/O 路径中检测负载并动态重新平衡负载
默认配置path_grouping_policy  failover  主备模式
配置成  path_grouping_policy  multibus  负载模式

十一、常用命令

# multipath -ll     #显示现有多路径配置
# multipath -F      #删除全部路径  
# multipath -v2     #格式化路径,格式化后会生成新路径,另外的解释扫描磁盘,系统中会出现链路聚合之后的dm设备,同时也会在/dev/mapper/、/dev/mpath/目录下生成相应的设备,这个需要验证。

centos/redhat 多路径存储使用 - 客户端的更多相关文章

  1. 定制CentOS (Redhat AS 5.1)安装盘

    CentOS(Redhat)提供了一套完整的自动化安装机制,利用该机制,我们可以自己定制无人值守的自动安装光盘,也可以进行系统裁减,甚至可以以CentOS为基础制作自己软件系统的系统安装盘.以下全部内 ...

  2. git的CentOS服务端安装和windows客户端的使用

    git的CentOS服务端安装和windows客户端的使用 此教程以 搬瓦工vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...

  3. centos/redhat/ubuntu不同之处

    前言:最近用久了ubuntu,发现这个和centos还是有很大差别的,以下是我的个人总结: centos/redhat/ubuntu不同之处: 1.关系理解:centos和redhat,你可以理解为是 ...

  4. Cookie是存储在客户端上的一小段数据

    背景 在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cookie规范定义了服务器和客户端交互信息的格式.生存期.使用范围.安全性. 在JavaSc ...

  5. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)(转载)

            您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面. 除了Windows RDP之外,xr ...

  6. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

    Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...

  7. CentOS / Redhat : Configure CentOS as a Software Router with two interfaces

    CentOS / Redhat : Configure CentOS as a Software Router with two interfaces   Linux can be easily co ...

  8. DM 多路径存储

    DM多路径存储 系统环境:RHEL5.4 small install  selinux and iptables disabled主机规划:主机网卡软件station133eth0: 192.168. ...

  9. IP Failover Setup using Keepalived on CentOS/Redhat 6

    source url:http://tecadmin.net/ip-failover-setup-using-keepalived-on-centos-redhat-6/ Keepalived is ...

  10. CentOS(RedHat) 6.2 Samba share权限拒绝访问

    在实现<CentOS(RedHat) 6.2下Samba配置>的过程中,发现CentOS 6.2的Samba share总是没有权限写文件,已经试过在Windows XP/Windows  ...

随机推荐

  1. Delphi 移除窗口最大化按钮

    很遗憾,好像没有直接的代码可以操作,可以试试以下代码: var GWL_Result: Integer; begin GWL_Result:= GetWindowLong(Handle,GWL_STY ...

  2. Pytorch实战学习(九):进阶RNN

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Advance RNN 1.RNN分类问题 判断数据集中的每个名字所属的国家,共有18个国家类别 2.网络结构 ①基础R ...

  3. VM虚拟机的创建和CentOS 7的安装

    1.vm和CentOS的下载. 一:vm和CentOS的下载,这是创建虚拟机和CentOS安装的必要条件. 2.vm虚拟机的创建. 一:打开vm软件界面,会看到虚拟机的字,点击虚拟机开始创建虚拟机.二 ...

  4. java-文件IO常用操作对比

    文件IO中,常用的方法如下方代码中的readMethod1~8方法所示. 测试了2.5M读100次.100M读3次.250M读1次三种情况,耗时(单位:毫秒)如下: 2.5M读100次 2.5M读10 ...

  5. 004. html篇之《标签分类和嵌套规则》

    html篇之<标签分类和嵌套规则> 一.常用标签 (1) <div></div> 一个区块容器标记,可以包含图片.表格.段落等各种html元素 (2) <sp ...

  6. Mybatis二级缓存(2)

    10.3.一级缓存的原理 10.3.3 一级缓存的测试

  7. .ToList()前的OrderBy是起不到排序效果的【未解决】

    废话也不说了,直接上图 思考:很多时候我们都想通过Linq的OrderBy给数据集进行排序,这样确实是有效的,但是如果后面将数据集改成了ToList()的话是又会重新打乱排序方式的! 所以有个疑问需要 ...

  8. python调用包中函数__init__作用

    python调用包中函数__init__作用 lx:分享一个小知识点 lx:主函数中 调用了 包(目录)中某个模块的函数,但是没有出现模块名.函数铭 lx:可能是再包中的__init__中已经提前调用 ...

  9. java script--一些冷知识

    java script--一些冷知识 目录 java script--一些冷知识 布兰登·艾奇,JavaScript 创始人 java script logo json logo json node. ...

  10. 修改Linux终端默认编辑器,实现代码高亮

    echo export EDITOR=vim >>/etc/profile.d/env.sh