Ubuntu系统下的多路径软件 DM Multipath 配置。
Ubuntu系统下的多路径软件是操作系统自带的 DM Multipath工具。
------------------------------------------------------------------------------------------------------------------
DM-Multipath 组件介绍:
dm_multipath : 内核模块 为路径和路径组群重新指定 I/O 并支持出错冗余。
multipath-tools: 程序 配置并启用设备映射器多路径
multipath : 命令 列出并配置 multipath 设备。通常使用 /etc/rc.sysinit 启动,还可以在添加块设备时使用 udev 程序启动。
multipathd : 守护进程 监视器路径,如果路径故障并返回,它可能会启动路径组群切换。可为多路径设备提供互动修改。
对 /etc/multipath.conf 文件的任何修改都必须启动它。
kpartx : 命令 为设备中的分区生成设备映射器设备。这个命令对带 DM-MP 的 DOS 分区
是很必要的。kpartx 在其自身软件包中就存在,但 devicemapper-multipath 软件包要依赖它。
-------------------------------------------------------------------------------------------------------------------
一、首先检查系统是否已安装了 Multipath 软件包,如果没有从系统安装光盘上找到并且安装相应软件包。
root@ubuntu:~# dpkg -l | grep multipath-tools
root@ubuntu:~# #没有返回值说明没有安装
二、安装multipath-tools 和multipath-tools-boot 软件包
通过apt源安装,如果操作系统可以连接外网通过网络apt源最方便,如果不能连外网,可以通过DVD光驱挂载系统iso镜像文件实现本地apt源安装,
挂载DVD源的方法Ubuntu源的文章已经介绍这里不再介绍了。
1、搜索软件包
root@ubuntu:~# apt-cache search multipath-tool
kpartx - create device mappings for partitions
multipath-tools - maintain multipath block device access
multipath-tools-boot - Support booting from multipath devices
root@ubuntu:~#
2、安装软件包
root@ubuntu:~# apt-get install multipath-tools
如果需要从SAN引导,则还需要multipath-tools-boot软件包,不需要可以不安装。
root@ubuntu:~# apt-get install multipath-tools-boot
三、查看服务的开机状态。
root@ubuntu:~# systemctl list-unit-files | grep multipath
multipath-tools-boot.service masked
multipath-tools.service enabled #开机已启动
multipathd.service enabled #开机已启动
multipathd.socket static
root@ubuntu:~#
如果服务没有启动,通过下面的命令启动
root@ubuntu:~# systemctl enable multipath-tools.service
四、Multipath 需要建立一个配置文件/etc/multipath.conf,默认情况下是没有的。安装完软件
会在:/usr/share/doc/multipath-tools/examples 目录下生成 multipath.conf.synthetic 模板文件
可以将这个文件复制到/etc目录下并从命名为multipath.conf 命令如下
root@ubuntu:~# cp -v /usr/share/doc/multipath-tools/examples/multipath.conf.synthetic /etc/multipath.conf
这个文件的内容都被注释掉了,可以取消与您环境相关的行的注释符
五、修改配置文件/etc/multipath.conf添加下面的内容,这里不取消注释的行,直接添加内容
-----------------------------------------------------------------------------------
defaults {
user_friendly_names yes #如果是集群环境yes最好改成no,下面有解释。
path_grouping_policy multibus
}
blacklist { #把本地磁盘加入黑名单,下面会解释
wwid 3630001575acb87f022c3c81a046db3e4 #本地磁盘的WWid号
}
------------------------------------------------------------------------------------
可以通过下面的命令查看所以磁盘的wwid号。
root@ubuntu:~# ll /dev/disk/by-id/
如果您在启动 multipath 守护进程后发现需要编辑 multipath 配置文件,则必须执行如下命令方可使更改生效。
root@ubuntu:~# systemctl reload multipathd.service
六、启劢 multipathd 服务,守护进程。
[root@pipci ~]# systemctl start multipathd.service
七、检查 multipath 模块是否正常加载
root@ubuntu:~# lsmod |grep dm_multipath
dm_multipath 24576 2 dm_round_robin
root@ubuntu:~#
八、安装配置成功后,可以查看到 multipath 管理了一个名称为 mpathn 的多路径设备,此设备包含有两个 路径。
root@ubuntu:~# multipath -ll #user_friendly_names yes(别名设置)
mpatha (36505dac1002fc54b1ee508f200000048) dm-0 HUAWEI,XSG1
size=200G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 12:0:0:1 sdb 8:16 active ready running
`- 13:0:0:1 sdc 8:32 active ready running
root@ubuntu:~# multipath -ll #user_friendly_names no(未别名设置)
36505dac1002fc54b1ee508f200000048 dm-0 HUAWEI,XSG1
size=200G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 12:0:0:1 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=1 status=enabled
`- 13:0:0:1 sdc 8:32 active ready running
九、使用 fdisk 查看硬盘会多出存储设备Disk /dev/mapper/mpatha(用别名),这个是多路径软件生成的设备,在分区或其他针对硬盘的操作时请 使用这个设备,不要使用/dev/sdb 和/dev/sdc等设备,除非是服务器本地磁盘(sda)。
root@ubuntu:~# fdisk -l
Disk /dev/sdb: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdc: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/mpatha: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
root@ubuntu:~#
十、对修改配置文件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 设备:
# systemctl stop multipath-tools.service
# multipath -F
3. 将第一台机器中的 /etc/multipath/bindings 文件复制到集群中的其它所有机器中。
4. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
设备映射多路径
# systemctl start multipath-tools.service
如果您添加新设备,您将需要重复这个过程。
同样,如果您为某个设备配置别名以便在集群的节点中使其保持一致,您应确定
/etc/multipath.conf 文件对于集群中的每个节点都是一样的,步骤如下:
1. 为机器 multipath.conf 文件中的多路基功能设备配置别名。
2. 运行以下命令在其他机器中禁用所有 multipath 设备:
# systemctl stop multipath-tools.service
# multipath -F
3. 将第一台机器中的 /etc/multipath.conf 文件复制到集群中的其它所有机器中。
4. 使用以下命令在集群的其他机器中重新 multipathd 守护进程:
# systemctl start multipath-tools.service
当您添加新设备时,您将需要重复这个过程。
-----------------------------------------------------------------------------------------------
2、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 负载模式
3、生成多路径设备时忽略本地磁盘
有些机器的内部磁盘有本地SCSI卡。DM-Multipath不推荐用于这些设备。以下过程说明如何在配置多路径时修改多路径配置文件以忽略本地磁盘。
确定哪些磁盘是内部磁盘,并将它们标记为要列入黑名单的磁盘。一般情况下,/ dev / sda是内部磁盘。
为了防止设备映射器在其多路径映射中映射/ dev / sda,请编辑/etc/multipath.conf文件的黑名单部分以包含此设备。
虽然您可以使用devnode类型将sda设备列入黑名单,但这不是安全的过程,因为/ dev / sda不能保证在重新启动时相同。
要将单个设备列入黑名单,您可以使用该设备的WWID将其列入黑名单。
十一、常用命令
# multipath -ll #显示现有多路径配置
# multipath -F #删除全部路径
# multipath -v2 #格式化路径,格式化后会生成新路径
Ubuntu系统下的多路径软件 DM Multipath 配置。的更多相关文章
- ubuntu系统下创建软件桌面快捷方式
转自ubuntu系统下创建软件桌面快捷方式 默认情况下,ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制- ...
- ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案
遇到问题: 在做计算机视觉课程作业,运动目标检测与跟踪时,在ubuntu系统下用kazam录制了一小段运动目标检测的视频,然后在课上展示时播放不出来,想着Mp4格式的不应该播放不出来啊.网上寻求了一番 ...
- Tex_安装_在Ubuntu系统下
$\LaTeX$是一个强大的排版软件,在数学公式.表格.甚至是科学绘图方面有着独特优势.本文在Ubuntu系统下,整理Tex安装相关的操作,以为备忘.所引链接都未同作者商量,如有不妥望及时告知. 命令 ...
- linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)
linux ubuntu系统下,adb不是内部命令 原文地址 linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开 ...
- Houdini 13在Ubuntu系统下流畅运行、不崩溃
至尊影视特效软件Houdini FX,当前最新版是13.0.547,经过试用在Ubuntu系统下可以完美运行,目前为止还没出现过崩溃的情况,之前在windows下使用Houdini 13简直就是噩梦, ...
- Ubuntu系统下创建python数据挖掘虚拟环境
虚拟环境: 虚拟环境是用于创建独立的python环境,允许我们使用不同的python模块和版本,而不混淆. 让我们了解一下产品研发过程中虚拟环境的必要性,在python项目中,显然经常要使用不 ...
- ubuntu系统下Python虚拟环境的安装和使用
ubuntu系统下Python虚拟环境的安装和使用 前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...
- ubuntu系统下安装pyspider:搭建pyspider服务器新手教程
首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...
- Ubuntu系统下Import cv2提示no modules ...错误
最近利用pycharm在Ubuntu系统下调试一个Python项目,将pycharm的解释器从python2.7更换到python3.4后,程序中的Import cv2提示no modules nam ...
随机推荐
- ACM:动态规划,01背包问题
题目: 有n件物品和一个容量为C的背包.(每种物品均仅仅有一件)第i件物品的体积是v[i],重量是w[i].选一些物品装到这个背包中,使得背包内物品在整体积不超过C的前提下重量尽量大. 解法:两种思路 ...
- 【SSH 基础】浅谈Hibernate关系映射(3)
继上篇博客 一对多关联映射(单向) 上面我们介绍了多对一,我们反过来看一对多不就是多对一吗?那还用再进行不同的映射吗?有什么区别吗?一对多和多对一映射原理是一致的,存储是同样的.也就是生成的数据库的表 ...
- python中修改函数内部的变量会发生什么
最近写python遇到个函数内部变量使用外部变量的问题,现在总结下吧 #!/usr/bin/env python a = 100def su(): a = a + 1 print(a) s = su( ...
- [Jsoi2010]连通数 bitset + Floyd
Code: #include<cstdio> #include<algorithm> #include<string> #include<cstring> ...
- 把qtdesigner中的ui文件生成py文件 anaconda
无奈,马上实习就要结束了,但是自己的长进才是在stm32方面,虽然对linux有了些接触 但本质上没有任何进展,不能不说这事我的悲哀,在研三的时候却要做别人大二时做的事情 如今又是精力太散,迷上了py ...
- 洛谷1073 NOIP2009 最优贸易
题目大意 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双 ...
- numpy基础篇-简单入门教程3
np import numpy as np np.__version__ print(np.__version__) # 1.15.2 numpy.arange(start, stop, step, ...
- numpy基础篇-简单入门教程1
np.split(A, 4, axis=1),np.hsplit(A, 4) 分割 A = np.arange(12).reshape((3, 4)) # 水平方向的长度是4 print(np.spl ...
- 以Append方式打开文件,设置偏移量无效
#include<stdio.h> int main() { FILE * fd = fopen("btoo1.c", "ab+"); fpos_t ...
- ArcGIS api for javascript——设置自定义范围和空间参考
描述 这个示例展示了在创建地图时如果定义一个自定义的范围和空间参考. 在 ArcGIS JavaScript API的1.0和1.1版本,任何要使用的地图服务图层都需要和地图的空间参考一致.1.2版本 ...