设为首页 收藏本站
查看: 6920|回复: 0

[经验分享] 在linux和Windows下配置HP FC存储设备多路径驱动

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-20 10:28:20 | 显示全部楼层 |阅读模式
  • 主机安装HBA卡驱动,一般光纤卡的厂家就是QLogic和Emulex的。


Linux下查看光纤卡驱动模块是否加载通过

1
2
3
lsmod |grep qla2xxx #查看是否加载了QLogic的光纤卡模块
lsmod |grep lpfc #查看是否加载了Emulex的光纤卡模块
modprobe lpfc  #加载相应的光纤卡模块



Windows下查看设备管理器查看是否加载了驱动(如果没有的话安装相应的光纤卡驱动)。

2. 查看光纤卡的WWN号(记录下来为存储设备映射时使用)
Linux
1
more /sys/class/fc_host/host1/node_name #根据光纤卡端口的数量可能会有host1,host2等。



Windows
1
wmic /namespace:\\root\wmi path MSFC_FCAdapterHBAAttributes get /value #查看PortWWN号码,是10进制的,需要转换到16进制(其实一般只需要把最后的号码转换一下,在存储设备中能够识别出来是那台主机即可)



3. 存储设备映射卷到主机
FC存储设备是通过WWN号来识别主机的,此处把划出来的卷分配给相应主机的WWN号码即可。

4. 安装多路径软件
Linux
1
2
yum list |grep device-mapper          #查找多路径包
yum install device-mapper-multipath   #CentOS下安装多路径软件



suse 通过yast或zypper安装,Ubuntu 通过 apt-get安装。两个包:device-mapper和device-mapper-multipath包。搜索一下安装这两个包,名字各版本可能有差别。
Windows 2008以上
服务器管理--功能--添加功能--选择Multipath IO包安装。然后选择管理员工具-MPIO--发现多路径选项卡--添加即可,重启后即可看到效果。

5. Linux多路径配置文件
centos 5.x
修改/etc/multipath.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
defaults {
    udev_dir        /dev
    polling_interval    10
    selector        "round-robin 0"
    path_grouping_policy    failover
    getuid_callout      "/sbin/scsi_id -g -u -s /block/%n"
    prio_callout        "/bin/true"
    path_checker        tur
    rr_min_io       100
    rr_weight        uniform
    failback        immediate
    no_path_retry       12
    user_friendly_names yes
}

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

devices {

device {
    vendor          "HP|COMPAQ"
    product        "HSV1[01]1 \(C\)COMPAQ|HSV2[01]0|HSV300|HSV4[05]0"
    path_grouping_policy    group_by_prio
        getuid_callout      "/sbin/scsi_id -g -u -s /block/%n"
        path_checker        tur
        path_selector       "round-robin 0"
        prio_callout        "/sbin/mpath_prio_alua /dev/%n"
        rr_weight       uniform
        failback        immediate
    hardware_handler    "0"
        no_path_retry       18
    rr_min_io       100
}

device {
        vendor                  "HP"
        product                 "P2000 G3 FC|P2000G3 FC/iSCSI"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor          "HP"
        product         "OPEN-.*"
        path_grouping_policy    multibus
        getuid_callout      "/sbin/scsi_id -g -u -s /block/%n"
    path_selector       "round-robin 0"
        rr_weight       uniform
        path_checker        tur
    hardware_handler    "0"
        failback        immediate
        no_path_retry       18
    rr_min_io       1000
}

device {
        vendor                  "HP"
        product                 "MSA VOLUME*"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2012sa|MSA2312sa|MSA2324sa"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/hp_scsi_id -g -u -n -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua %d"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i"
        path_grouping_policy    group_by_prio
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "/sbin/mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor          "HP"
        product         "MSA2[02]12fc|MSA2012i"
        path_grouping_policy    multibus
        getuid_callout      "/sbin/scsi_id -g -u -s /block/%n"
    path_selector       "round-robin 0"
        rr_weight       uniform
        path_checker        tur
    hardware_handler    "0"
        failback        immediate
        no_path_retry       18
    rr_min_io       100
}

}



centos 6.x-7.0

1
mpathconf --enable --with_multipathd y #简化了配置,同样也可以使用5.x的配置文件



suse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
defaults {
    udev_dir        /dev
    polling_interval    10
    selector        "round-robin 0"
    path_grouping_policy    failover
    getuid_callout      "/lib/udev/scsi_id -g -u /dev/%n"
    prio            const
    path_checker        tur
    rr_min_io       100
    rr_weight        uniform
    failback        immediate
    no_path_retry       12
    user_friendly_names yes
}

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

devices {

device {
    vendor          "HP|COMPAQ"
          product         "HSV1[01]1 \(C\)COMPAQ|HSV2[01]0|HSV300|HSV4[05]0"
    path_grouping_policy    group_by_prio
    getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
    path_checker        tur
        path_selector       "round-robin 0"
    prio            alua
        rr_weight       uniform
        failback        immediate
    hardware_handler    "0"
        no_path_retry       18
    rr_min_io       100
}

device {
        vendor                  "HP"
        product                 "P2000 G3 FC|P2000G3 FC/iSCSI"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio                    alua
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor          "HP"
        product         "OPEN-.*"
        path_grouping_policy    multibus
    getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
    path_selector       "round-robin 0"
        rr_weight       uniform
        path_checker        tur
    hardware_handler    "0"
        failback        immediate
        no_path_retry       18
    rr_min_io       1000
}

device {
        vendor                  "HP"
        product                 "MSA VOLUME*"
        path_grouping_policy    group_by_prio
    getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
    path_checker            tur
        path_selector           "round-robin 0"
        prio            alua
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i|MSA2012sa|MSA2312sa|MSA2324sa|MSA2000s VOLUME"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio                    alua
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor          "HP"
        product         "MSA2[02]12fc|MSA2012i"
        path_grouping_policy    multibus
        getuid_callout          "/lib/udev/scsi_id -g -u /dev/%n"
    path_selector       "round-robin 0"
        rr_weight       uniform
        path_checker        tur
    hardware_handler    "0"
        failback        immediate
        no_path_retry       18
    rr_min_io       100
}

}



ubuntu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
defaults {
        udev_dir                /dev
        polling_interval        10
        selector                "round-robin 0"
        path_grouping_policy    failover
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        prio_callout            "/bin/true"
        path_checker            tur
        rr_min_io               100
        rr_weight               uniform
        failback                immediate
        no_path_retry           12
        user_friendly_names     yes
}

blacklist {
        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]*"
}

devices {

device {
        vendor                  "HP|COMPAQ"
        product                 "HSV1[01]1 \(C\)COMPAQ|HSV2[01]0|HSV3[046]0|HSV4[05]0"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "P2000 G3 FC|P2000G3 FC/iSCSI"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "OPEN-.*"
        path_grouping_policy    multibus
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_selector           "round-robin 0"
        rr_weight               uniform
        path_checker            tur
        hardware_handler        "0"
        failback                immediate
        no_path_retry           18
        rr_min_io               1000
}

device {
        vendor                  "HP"
        product                 "MSA VOLUME*"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2012sa|MSA2312sa|MSA2324sa"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/hp_scsi_id -g -u -n /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua %d"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2312fc|MSA2324fc|MSA2312i|MSA2324i"
        path_grouping_policy    group_by_prio
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_checker            tur
        path_selector           "round-robin 0"
        prio_callout            "mpath_prio_alua /dev/%n"
        rr_weight               uniform
        failback                immediate
        hardware_handler        "0"
        no_path_retry           18
        rr_min_io               100
}

device {
        vendor                  "HP"
        product                 "MSA2[02]12fc|MSA2012i"
        path_grouping_policy    multibus
        getuid_callout          "/lib/udev/scsi_id -g -u /block/%n"
        path_selector           "round-robin 0"
        rr_weight               uniform
        path_checker            tur
        hardware_handler        "0"
        failback                immediate
        no_path_retry           18
        rr_min_io               100
}

}



其实各Linux发行版都是使用Redhat开发的multipath包,只是有些命令的位置不同而已。修改一下就可以适用与各linux系统。
具体的配置参数信息请参考:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/

6. Linux 配置多路径命令
centos 5.x
1
2
3
4
5
chkconfig --list|grep multipathd #查看多路径服务是否开机启动
chkconfig multipathd on #开机打开多路径服务
service multipathd start #打开多路径服务
multipath  #配置多路径 -vn n为数字,可以显示更多信息
multipath -ll #查看多路径设备和信息



其他
1
2
multipath
multipath -ll



在启用了user_friendly_names配置后设备名为 /dev/mapper/mpathn,其中n为字母,这个是udev映射的可使用的设备,不要直接操作 /dev/dm-n 或是 /dev/mpath/mpathn,因为它们为系统所使用。

7. 排错
1
2
3
4
multipathd -k #进入交互模式,具体请查看 man multipathd
>list|show config
>reconfigure
>list|show path




小技巧:当存储添加了新的映射时,我们可以使用下面的命令让系统重新识别设备而无需重启。
1
2
3
4
echo 1 >/sys/class/fc_host/host0/issue_lip
echo 1 >/sys/class/fc_host/host1/issue_lip
echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan



运维网声明 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.iyunv.com/thread-31615-1-1.html 上篇帖子: linux下web压力测试工具siege的使用 下篇帖子: Centos 降低Gcc版本 Windows linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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