设为首页 收藏本站
查看: 1329|回复: 6

[经验分享] Linux多路径的使用及介绍

[复制链接]

尚未签到

发表于 2012-9-19 09:09:20 | 显示全部楼层 |阅读模式
多路径(multi-path)软件的介绍
普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择,如下图:

根 据上图所示,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?还有在操作系统的 角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已,这样是在使用的时候,就给用户带来了困惑。多 路径软件就是为了解决上面的问题应运而生的。多路径的主要功能就是和存储设备一起配合实现如下功能:
1.       故障的切换和恢复
2.       IO流量的负载均衡
3.       磁盘的虚拟化
由 于多路径软件是需要和存储在一起配合使用的,不同的厂商基于不同的操作系统,都提供了不同的版本。并且有的厂商,软件和硬件也不是一起卖的,如果要使用多 路径软件的话,可能还需要向厂商购买license才行。比如EMC公司基于linux下的多路径软件,就需要单独的购买license。好在,  RedHat和Suse的2.6的内核中都自带了免费的多路径软件包,并且可以免费使用,同时也是一个比较通用的包,可以支持大多数存储厂商的设备,即使 是一些不是出名的厂商,通过对配置文件进行稍作修改,也是可以支持并运行的很好的。
本文一下的部分将专门针对Linux下多路径软件的配置安装,以及一些结合实际的操作进行详细的介绍(以下操作均在Suse10 SP1下进行)


多路径软件包的构成
device-mapper-1.02.13-6.9.i586.rpm      
该软件运行在底层,主要进行设备虚拟化和映射。
multipath-tools-0.4.7-34.18.i586.rpm,这个软件包可以在
多路径的管理和监控工具,主要进行路径状态的检测,管理工作


多路径软件包的安装

Rpm –ivh device-mapper-1.02.13-6.9.i586.rpm
Rpm –ivh  multipath-tools-0.4.7-34.18.i586.rpm
安装完成后,使用命令modprobe  dm_multipath来加载相应的模块,可以使用lsmod |grep dm_multipath来检查安装是否正常。


配置文件的修改及创建
接下来的工作就是要创建一个multipath.conf的配置文件,该文件在安装后不会自动创建。不过有一个模板可以使用,使用如下命令可以创建一个multipath.conf的文件了

cp /usr/share/doc/packages/multipath-tools/multipath.conf.synthetic  /etc/multipath.conf

然后再该文件的最后一段加上如下配置:

devices {
device {                                    
vendor                  "EMC"   //厂商名称
product                 "CaXXXXX"  //产品型号
path_grouping_policy     group_by_prio //默认的路径组策略
getuid_callout          "/sbin/scsi_id -p 0x80 -g -u -s /block/%n" //获得唯一设备号使用的默认程序
prio_callout            "/sbin/acs_prio_alua %d" //获取有限级数值使用的默认程序
hardware_handler        "1 acs" //确认用来在路径切换和IO错误时,执行特定的操作的模块。
path_checker         hp_sw  //决定路径状态的方法
path_selector         "round-robin 0" //选择那条路径进行下一个IO操作的方法
failback          immediate  //故障恢复的模式
no_path_retry        queue //在disable queue之前系统尝试使用失效路径的次数的数值
rr_min_io              100 //在当前的用户组中,在切换到另外一条路径之前的IO请求的数目
}
}


编辑modprobe.conf文件,用来设置驱动程序的参数。
/etc/modprobe.conf.local
增加一行 "options scsi_mod dev_flags=Accusys:ACS92102:0x1000"

重新编译引导文件

"cp -f /boot/initrd-2.6.[kernel_version].img ./initrd-2.6.[k_v].img.bak"
"mkinitrd"
做完上述操作后,注意要将操作系统重新启动
磁盘的分区及使用
创建多路径设备的分区,这里主要一下,多路径的分区只适合使用kpartx工具,不要使用fdisk进行分区。
---------------------------------

Step2,  kpartx -l /dev/dm-0            //lists all partitions on this device
Step3,  kpartx -a /dev/dm-0            //create all device node on this device
kpartx -a /dev/mapper/      //多路径的设备不可以使用fdisk进行分区,必须使用kpartx -a进行分区后,再进行格式化。

查看映射关系

Suse3:/sbin # ls -la /dev/disk/by-name/
total 0
drwxr-xr-x 2 root root 200 Aug  1 09:01 .
drwxr-xr-x 7 root root 140 Jul 31 18:05 ..
lrwxrwxrwx 1 root root  10 Aug  1 09:01 SAccusys_ACS92102_010c3b973ffbc469ce11eb4d2db9d677 -> ../../dm-5
lrwxrwxrwx 1 root root  10 Aug  1 09:01 SAccusys_ACS92102_010c3b973ffbc469ce11eb4d2db9d677-part1 -> ../../dm-7
lrwxrwxrwx 1 root root  10 Aug  1 09:01 SAccusys_ACS92102_1fbdf62d63e62b625aaea9eb8c7e45cf -> ../../dm-4
lrwxrwxrwx 1 root root  10 Aug  1 09:01 SAccusys_ACS92102_1fbdf62d63e62b625aaea9eb8c7e45cf-part1 -> ../../dm-6
lrwxrwxrwx 1 root root  10 Aug  1 08:46 SAccusys_ACS92102_6d71358b45505925b5bd17ff49d554f3 -> ../../dm-0
lrwxrwxrwx 1 root root  10 Aug  1 08:46 SAccusys_ACS92102_6d71358b45505925b5bd17ff49d554f3-part1 -> ../../dm-1
lrwxrwxrwx 1 root root  10 Jul 31 18:08 SAccusys_ACS92102_f0ade6db4a8d13de2c30fd5efae7b91c -> ../../dm-2
lrwxrwxrwx 1 root root  10 Jul 31 18:10 SAccusys_ACS92102_f0ade6db4a8d13de2c30fd5efae7b91c-part1 -> ../../dm-3

几个比较有用的命令

1.start/stop multipathd process "service multipathd start/stop"
2.display the multipath topology "multipath -ll" //非常有用的命令。
3.display the multipath debug info "multipath -v3"
4.Scan the HD "fdisk -l"
5.view the FC wwn " cat /sys/class/fc_host/host1/node_name "
下面是举例:
multipath -ll

Successful info:

SAccusys_ACS92102_3a095edea90dc919f0da043d118fd8c5dm-0 Accusys,ACS92102
[size=20G][features=1 queue_if_no_path][hwhandler=1 acs]
\_ round-robin 0 [prio=400][active]----//表示当前的正在使用控制器
\_ 1:0:1:0 sdc 8:32  [active][ready]
\_ 1:0:2:0 sdd 8:48  [active][ready]
\_ 2:0:1:0 sdg 8:96  [active][ready]
\_ 2:0:2:0 sdh 8:112 [active][ready] ----//c,d,g,h可以理解为路径
\_ round-robin 0 [prio=0][enabled]-----//备份控制器
\_ 1:0:0:0 sdb 8:16  [active][ghost]
\_ 1:0:3:0 sde 8:64  [active][ghost]
\_ 2:0:0:0 sdf 8:80  [active][ghost]
\_ 2:0:3:0 sdi 8:128 [active][ghost]   //


faulty info:

sdc: checker msg is "hp_sw checker reports path is down" //路径出现故障
sdd: checker msg is "hp_sw checker reports path is down" //路径出现故障
sdh: checker msg is "hp_sw checker reports path is down" //路径出现故障
SAccusys_ACS92102_3a095edea90dc919f0da043d118fd8c5dm-0 Accusys,ACS92102
[size=20G][features=1 queue_if_no_path][hwhandler=1 acs]
\_ round-robin 0 [prio=0][enabled]      ---- //两个都是enabled状态,一控制器故障,另外一个控制器没有failover。
\_ 1:0:1:0 sdc 8:32  [failed][faulty]
\_ 1:0:2:0 sdd 8:48  [failed][faulty]
\_ 2:0:1:0 sdg 8:96  [failed][faulty]
\_ 2:0:2:0 sdh 8:112 [failed][faulty]
\_ round-robin 0 [prio=0][enabled]      ----
\_ 1:0:0:0 sdb 8:16  [active][ghost]
\_ 1:0:3:0 sde 8:64  [active][ghost]
\_ 2:0:0:0 sdf 8:80  [active][ghost]
\_ 2:0:3:0 sdi 8:128 [active][ghost]

控制器重新启动后,Suse有时候需要重新启动才可以使用。
multipath -ll
SAccusys_ACS92102_3a095edea90dc919f0da043d118fd8c5dm-0 Accusys,ACS92102
[size=20G][features=1 queue_if_no_path][hwhandler=1 acs]
\_ round-robin 0 [prio=200][active]
\_ 1:0:0:0 sdb 8:16  [active][ready]
\_ 1:0:1:0 sdc 8:32  [active][ready]
\_ 2:0:0:0 sdd 8:48  [active][ready]
\_ 2:0:1:0 sde 8:64  [active][ready]


multipath的所有的相关的文件

-rwxr--r--    1 root    root             2554 Jun 30 16:26 /etc/init.d/boot.multipath
-rwxr--r--    1 root    root             3700 Jun 30 16:26 /etc/init.d/multipathd
drwxr-xr-x    2 root    root                0 Jun 30 16:26 /etc/udev
drwxr-xr-x    2 root    root                0 Jun 30 16:26 /etc/udev/rules.d
-rw-r--r--    1 root    root             1185 Jun 30 16:26 /etc/udev/rules.d/71-multipath.rules
-rw-r--r--    1 root    root              262 Jun 30 16:26 /etc/udev/rules.d/72-multipath-compat.rules
-rwxr-xr-x    1 root    root             4872 Jun 30 16:26 /sbin/devmap_name
-rwxr-xr-x    1 root    root            22824 Jun 30 16:26 /sbin/kpartx
-rwxr-xr-x    1 root    root             1114 Jun 30 16:26 /sbin/kpartx_id
-rwxr-xr-x    1 root    root              296 Jun 30 16:26 /sbin/mpath_id
-rwxr-xr-x    1 root    root             8404 Jun 30 16:26 /sbin/mpath_prio_alua
-rwxr-xr-x    1 root    root             7852 Jun 30 16:26 /sbin/mpath_prio_balance_units
-rwxr-xr-x    1 root    root             4208 Jun 30 16:26 /sbin/mpath_prio_emc
-rwxr-xr-x    1 root    root             5492 Jun 30 16:26 /sbin/mpath_prio_hds_modular
-rwxr-xr-x    1 root    root             5984 Jun 30 16:26 /sbin/mpath_prio_netapp
-rwxr-xr-x    1 root    root             3284 Jun 30 16:26 /sbin/mpath_prio_random
-rwxr-xr-x    1 root    root             4184 Jun 30 16:26 /sbin/mpath_prio_tpc
-rwxr-xr-x    1 root    root           121888 Jun 30 16:26 /sbin/multipath
-rwxr-xr-x    1 root    root           146996 Jun 30 16:26 /sbin/multipathd
drwxr-xr-x    2 root    root                0 Jun 30 16:26 /usr/share/doc/packages/multipath-tools
-rw-r--r--    1 root    root               49 Nov 11  2005 /usr/share/doc/packages/multipath-tools/AUTHOR
-rw-r--r--    1 root    root            25284 Nov 11  2005 /usr/share/doc/packages/multipath-tools/COPYING
-rw-r--r--    1 root    root              195 Jun 30 16:25 /usr/share/doc/packages/multipath-tools/ChangeLog
-rw-r--r--    1 root    root               15 Jun 30 16:25 /usr/share/doc/packages/multipath-tools/README
-rw-r--r--    1 root    root             9238 Jun 30 16:25 /usr/share/doc/packages/multipath-tools/multipath.conf.annotated
-rw-r--r--    1 root    root             1499 Jun 30 16:25 /usr/share/doc/packages/multipath-tools/multipath.conf.synthetic
-rw-r--r--    1 root    root              424 Jun 30 16:26 /usr/share/man/man8/devmap_name.8.gz
-rw-r--r--    1 root    root              544 Jun 30 16:26 /usr/share/man/man8/kpartx.8.gz
-rw-r--r--    1 root    root             2048 Jun 30 16:26 /usr/share/man/man8/mpath_prio_alua.8.gz
-rw-r--r--    1 root    root              979 Jun 30 16:26 /usr/share/man/man8/multipath.8.gz
-rw-r--r--    1 root    root              489 Jun 30 16:26 /usr/share/man/man8/multipathd.8.gz
drwx------    2 root    root                0 Jun 30 16:26 /var/cache/multipath


小技巧
存储添加映射或者做了修改,主机不用重新启动的方法
echo 1 > /sys/class/fc_host/host1/issue_lip
echo 1 > /sys/class/fc_host/host2/issue_lip
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

重启服务,让配置文件生效的方法:
1.     Stop the multipathd service.
2.     Clear old multipath bindings by entering
/sbin/multipath -F
3.      Create new multipath bindings by entering
/sbin/multipath -v2 -l
Start the multipathd service. //更改配置文件后需要做上面的操作才可以让配置文件的更改生效。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-1286-1-1.html 上篇帖子: 利用NIS和NFS实现集中式身份认证 下篇帖子: linux基础学习之磁盘阵列 Linux
发表于 2013-3-19 12:19:40 | 显示全部楼层
小手一抖,钱钱到手!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 11:58:36 | 显示全部楼层
如果回帖是一种美德,那我早就成为圣人了!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-30 03:45:54 | 显示全部楼层
读书读到抽筋处,文思方能如尿崩!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-15 17:29:03 | 显示全部楼层
学习了,不错,讲的太有道理了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-6-23 12:33:35 | 显示全部楼层
读书读到抽筋处,文思方能如尿崩!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-1 09:11:57 | 显示全部楼层
吃饭与ml是第一生产力。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表