linux多线程冗余,Linux 下的路径冗余
首先要确认是否安装了device-mapper-multipathing的RPM包
[root@localhost ~]# rpm -qa |grep device
device-mapper-1.02.07-4.0.RHEL4
device-mapper-multipath-0.4.5-16.1.RHEL4
然后在进行以下的配置:
编辑文件/etc/multipath.conf。在文件头部注释掉如下内容:
devnode_blacklist {
devnode "*"
}
注释完如下:
#devnode_blacklist {
# devnode "*"
#}
取消文件 /etc/multipath.conf中这段的注释,这段内容可以让 device-mapper multipathing
不用扫描所有的设备。 /etc/multipath.conf
file:
defaults {
multipath_tool "/sbin/multipath -v0"
udev_dir /dev
polling_interval 10
default_selector "round-robin 0"
default_path_grouping_policy multibus
default_getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
default_prio_callout "/bin/true"
default_features "0"
rr_wmin_io 100
failback immediate
}
devnode_blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
这段设置了默认的 device-mapper
的动作,并且去出了通常不会有多路径的设备,如IDE硬盘和软盘。默认的hd*设备的黑名单存在这一个排印错误。需要修改。
devnode "^hd[a-z][[0-9]*]"把上行修改为如下:devnode "^hd[a-z][0-9]*"为了实现简单的failover功能,下例中,defaults 组中的默认的 default_path_grouping_policy 选项被设置成为 failover。defaults {
multipath_tool "/sbin/multipath -v0"
udev_dir /dev
polling_interval 10
default_selector "round-robin 0"
default_path_grouping_policy failover
default_getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
default_prio_callout "/bin/true"
default_features "0"
rr_wmin_io 100
failback immediate
}退出编辑并保存设置,执行如下命令:modprobe dm-multipath
modprobe dm-round-robin
service multipathd start
multipath -v2命令 multipath -v2 可以显示多路径,从而可以知道那些设备工作在多路径下。如果没有任何输出,确认所有的SAN连接被正确的设置,系统有没有正确的开启多路径功能。
设备的设备名会被生成,/dev/dm-#,#指代的是多路径组,如果/dev/sda是唯一的多路径设备,/dev/dm-0将会是/dev/sda和
/dev/sdb的多路径设备。注意:fdisk不能用于设备/dev/dm-#,
使用fdisk只能操作基础磁盘,要在设备映射多路径映射设备上创建/dev/dm-#分区的操作.
执行一下命令。
kpartx -a /dev/dm-#
以上基本就是device-mapper-mutipath的基本设置了
如果要在设置中忽略本地硬盘则应该:首先确认哪块磁盘是本地磁盘, 然后把该硬盘标记到黑名单中。 在加入黑名单之前,留意multipath -v2命令显示的多路径映射下的本地磁盘。
[root@rh4cluster1 ~]# multipath -v2
create: SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
[size=33 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 0:0:0:0 sda 8:0
device-mapper ioctl cmd 9 failed: Invalid argument
device-mapper ioctl cmd 14 failed: No such device or address
create: 3600a0b80001327d80000006d43621677
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:0 sdb 8:16
\_ 3:0:0:0 sdf 8:80
create: 3600a0b80001327510000009a436215ec
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:1 sdc 8:32
\_ 3:0:0:1 sdg 8:96
create: 3600a0b80001327d800000070436216b3
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:2 sdd 8:48
\_ 3:0:0:2 sdh 8:112
create: 3600a0b80001327510000009b4362163e
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:3 sde 8:64
\_ 3:0:0:3 sdi 8:128
在如上部分, 设备映射完成了/dev/sda的设备映射。 为了阻止被映射。 可以编辑文件/etc/multipath.conf。 下面的是该文件被修改的部分。
devnode_blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][0-9]*"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}添加本地磁盘到黑名单中, 如本例, sda是内置硬盘, 文件内容如下。
devnode_blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
devnode "^hd[a-z][0-9]*"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
}
执行命令:
multipath -F
multipath -v2
本地磁盘就不会出现在命令的输出了
[root@rh4cluster1 ~]# multipath -F
[root@rh4cluster1 ~]# multipath -v2
create: 3600a0b80001327d80000006d43621677
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:0 sdb 8:16
\_ 3:0:0:0 sdf 8:80
create: 3600a0b80001327510000009a436215ec
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:1 sdc 8:32
\_ 3:0:0:1 sdg 8:96
create: 3600a0b80001327d800000070436216b3
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:2 sdd 8:48
\_ 3:0:0:2 sdh 8:112
create: 3600a0b80001327510000009b4362163e
[size=12 GB][features="0"][hwhandler="0"]
\_ round-robin 0
\_ 2:0:0:3 sde 8:64
\_ 3:0:0:3 sdi 8:128我如何知道在/dev目录下的什么设备和系统的一个多路径设备是对应的?
解决方法:
这个问题适合Red Hat Enterprise Linux 4 Update 2
(U2)
为了找到哪个设备映射实体对应系统的多路径设备,执行下面的命令:
1.在命令行中执行multipath -ll ,选项是2个小写的字母L.
2.决定哪个长的数字是设备映射实体所需要的.
3.执行dmsetup ls --target multipath,这个命令将会返回一个长的数字。
你会看到一个>类似(255, #)的输出,其中的#就是设备映射号。
这个数字可以用来对照哪个dm设备对应系统的多路径设备,例如/dev/dm3.
linux多线程冗余,Linux 下的路径冗余相关推荐
- linux 多线程 semaphore ,Linux下多线程编程-Pthread和Semaphore使用.doc
比锄戴垒丛共麦溺庄哆氏葫季袒飞闲棉铆稼椰悲倘寓矩案铺汞嫡懂伸腑箩五穗颗撩护尚巷苯宅瑚铱焕涅职枝怎摔什街杠写冻泡峡蠢舀以咽铝皇篮糠村墟凤帜攒摧定畜遁陛葛杯复妄婚赣续踌肖祷就抖帘荒徘魂圭焙酸劈待钞林讯啊铂 ...
- linux 多线程并行计算,Linux下使用POSIX Thread作多核多线程并行计算
POSIX线程库根据处理器.操作系统等特性封装了一台线程处理的接口.对于目前基于x86处理器架构的Linux系统来说,它往往会默认地将新创建的一个线程调度到与主线程不同的核中执行,如果这样能更好地平衡 ...
- linux多线程求和_Linux下使用两个线程协作完成一个任务的简易实现
刚解决了之前的那个Linux下Pthread库的问题,这次就来使用两个线程来协作,共同完成一个求和的任务. 打一下基础吧 本次需要使用到的知识点有: lpthread,编译的时候用到,相当于一个声明的 ...
- linux 多线程ppn,Linux下如何查看CPU信息, 包括位数和多核信息
Linux下如何查看CPU信息, 包括位数和多核信息 # uname -a Linux liuzhouping-laptop 2.6.28-14-generic #46-Ubuntu SMP Wed ...
- linux多线程_Java+Linux,深入内核源码讲解多线程之进程
之前写了两篇文章,都是针对Linux这个系统的,为什么?我为什么这么喜欢写这个系统的知识,可能就是为了今天的内容多线程系列,现在多线程不是一个面试重点 啊,那如果你能深入系统内核回答这个知识点,面试官 ...
- Linux多线程与Linux多进程混合项目的死锁问题
目录 背景 线程和fork 内核原理分析 背景 本文并不是介绍Linux多进程多线程编程的科普文,如果希望系统学习Linux编程,可以看<Unix环境高级编程>第3版>. 本文是描述 ...
- linux多线程 消费者,linux c 多线程 生产者-消费者二
linux c 多线程 生产者--消费者2 实在不好意思,第一个版本有些问题,是局部变量和堆里面变量的区别.今天做了一下修改.代码如下. #ifndef _LIST_H_ #define _LIST_ ...
- 深入理解Linux多线程
深入理解Linux多线程 目录 Linux线程概念 什么是线程 二级页表 线程的优点 线程的缺点 线程异常 线程用途 Linux进程VS线程 Linux线程控制 POSIX线程库 创建线程 线程等待 ...
- 利用多线程实现linux下C语言的聊天室程序:
转载:http://www.360doc.com/content/16/0421/11/478627_552531090.shtml 利用多线程实现linux下C语言的聊天室程序: 客户端代码: th ...
最新文章
- 视频目标检测--Flow-Guided Feature Aggregation for Video Object Detection
- matlab 函数 向量参数,Scipy integrate(quad,quadration,nquad)不能集成向量参数化函数?等效函数(MATLAB works)...
- 函数在机器底层是如何实现的_智能货柜专题三:如何实现不同机器“千机千面”?...
- 网易云易盾与A10 Networks达成战略合作 携手打造抗DDoS攻击的解决方案
- 大话软件开发与开车的共同点
- c语言循环结构菱形九九乘法表,C语言基础用基本的循环语句打印实心和空心菱形、九九乘法表 ....
- 前端为什么有的接口明明是成功回调却执行了.catch失败回调_前端知识整理
- EasyUI文档学习心得
- 「代码随想录」本周学习小结!(动态规划系列五)
- C#两路list数组归并去重
- IE浏览器主页被劫持,如何解决主页被篡改问题?
- Kubernetes Pod调度策略
- CMD命令下载远程文件
- vue项目 webpack-dev-server 报错
- Qt--模拟按下按键(键盘)
- Premiere Pro教程
- Win10无法访问网上邻居共享设备及共享文件夹错误代码(0x80004005)
- Excel随着表格内容自动调整高度或宽度
- [原创方法!] 如何实现全自动登录各大网站? Cookie格式 、油猴脚本基础 解决Github邮箱验证,持久登录,免验证码
- Amazon Redshift ML现已正式推出——使用SQL创建机器学习模型并通过您的数据进行预测
热门文章
- 制图折断线_甲级设计院CAD制图技巧与画法讲解! 超实用,值得你收藏~
- 作者:王瑞(1987-),女,中国科学院软件研究所工程师
- 【项目管理】风险分析
- 【Java】辨析JUnit4中的@AfterClass、@BeforeClass、@after、@before
- 浮点高精求和(洛谷P2393题题解,弃坑Java拥抱C++)
- 巧用记忆化搜索代替暴力递归(洛谷P1464题题解,Java语言描述)
- 解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
- 《HTML5实战》——A.2 常见的HTML5规范
- 我的编程之路:网编到全栈的漫长路
- Node.js小Httpserver