标签 多路径 下的文章

 为存储配置多路径,各位工程师都不陌生。在Linux下配置multipath,更不在话下,mpathconf --enable 一条命令走天下,更是老手的惯例,因为mpatha、mpathb、mpathc、这种名称也不会影响使用。但是,给存储卷定义别名就显得不那么粗狂,使用厂商推荐的多路径参数,更显得专业,现在配置多路径的自动化交互式脚本横空出世,极大的方便了各位工程师。

Linux下配置网卡聚合交互式自动配置脚本

之前写了手动配置多路径的文档Linux操作系统配置多路径通用教程
[scode type="red"]仅适用于初次配置![/scode] 

脚本功能:

1.多路径辅助配置脚本适用于FC-SAN和IP-SAN
2.支持联想 DM、DE系列、DS系列、Storwize V系列
3.支持NetApp FAS、E系列,IBM Storwize V系列、FS系列
4.支持华为OceanStor系列,浪潮G2系列
5.支持戴尔 MD系列、SC系列,宏杉MS系列
6.支持惠普 3PAR系列、MSA 1040、1050、2040、2050系列
7.其他品牌和型号,使用操作系统生成的默认多路径参数
8.支持CentOS 6.x/7.x/8.x RedHat 6.x/7.x
9.支持中英选择

5月14日更新:

修复Lenovo DE系列存储新版本微码下20m管理分区的识别
优化判断逻辑

4月16日更新:

1,新增支持CentOS 8.x/RedHat 8.x
2,优化多个判断逻辑
备注:因为存储厂商目前并未适配8系列系统,我多次测试使用7系列的官方参数,会有问题。
所以会默认使用8系列系统生成的多路径参数,不加入任何官方参数。

[scode type="blue"]已付费用户,联系我获取最新版本,或者有其他需求,如增加功能,或者修改直接联系我即可[/scode]

linux 8系列下部分截图

39882-38g6si1hxuf.png

00426-7ajrlw1qvlc.png

[scode type="blue"]上述列出的品牌及型号,会使用厂商推荐的最佳多路径参数,没有列出的品牌和型号,则使用操作系统生成的默认多路径参数,如你使用的存储不被支持,则会有相应的提示![/scode]

在使用的过程中如果遇到什么问题,或有什么建议或者需要增加品牌或者型号的参数,加我微信交流,微信二维码在文章底部。

部分截图:

72245-ulijo5dydc.png

69257-s6gehd62tcb.png

04657-pysozkg51r.png

41654-hwm6xkglsiu.png

59342-oz6m3r7btq.png

38546-7k1sjoa1ugj.png

屏蔽20M管理分区截图:

02765-zez5w5pyw3.png

惠普3PAR存储 选择主机定义截图:

04779-ijslxwx30qp.png

[scode type="blue"]创作脚本不易,打赏后获取脚本下载链接!获取后加我微信,后续更新版本,会通过微信传递[/scode]

Linux下交互式多路径自动化配置脚本发布

一,安装软件
1,执行以下命令,检查当前系统中是否已经安装多路径工具:

rpm -qa | grep device-mapper-multipath 

SuSE 系统 multipath 相关 rpm 包是 multipath-tools-*.rpm,检查安装包时使用如下命令:

rpm -qa | grep multipath 

2,如果配置好了yum执行下面的命令安装,没有yum看第3步

yum install -y device-mapper device-mapper-multipath

3,从系统安装盘的/Packages 文件夹中拷出下面两个文件,执行命令安装,不同的linux发行版,多路径软件的版本号不同,

rpm -ivh device-mapper-multipath-libs-0.4.9-80.el6.x86_64.rpm 
rpm -ivh device-mapper-multipath-0.4.9-80.el6.x86_64.rpm 

4,完成以上步骤后,需检查多路径工具是否已经安装成功。请执行以下命令:

rpm -qa | grep device-mapper-multipath 

SuSE 系统 multipath 相关 rpm 包是 multipath-tools-*.rpm,检查安装包时使用如下命令:

rpm -qa | grep multipath

30231-fgb010uyt9n.png

二,配置DM Multipath

逐步执行以下命令加载内核 device-mapper 模块,并启动 multipathd 服务。

modprobe dm-multipath 
modprobe dm-service-time 
service multipathd start  (RHEL6.x、CentOS6.x、SuSE) 
systemctl start multipathd.service  (RHEL7.x、CentOS7.x) 

说明:在本博客的<存储>分类下,有介绍linux不用重启扫描磁盘的文章,有兴趣可以参考

三,获取多路径信息
1,执行下面命令生成多路径配置文件

mpathconf --enable

2,删除当前没有使用的多路径

multipath -F

3,格式化、检测、合并多路径

multipath -v2

4,查看多路径状态

multipath -ll

下面这段来自于网络,我写这个文档是根据自己的经验写,没有现场设备截图。

    [root@server /]# multipath -ll
    mpathc (3600a0b80001ffaf20000297a583cfaea) dm-5 IBM     ,1722-600        
    size=84G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw
    |-+- policy='service-time 0' prio=6 status=active
    | |- 1:0:1:2 sdg 8:96  active ready running
    | `- 6:0:1:2 sdm 8:192 active ready running
    `-+- policy='service-time 0' prio=1 status=enabled
      |- 1:0:0:2 sdd 8:48  active ghost running
      `- 6:0:0:2 sdj 8:144 active ghost running
    mpathb (3600a0b80002109ed0000174c583c8ba5) dm-4 IBM     ,1722-600        
    size=70G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw
    |-+- policy='service-time 0' prio=6 status=active
    | |- 1:0:0:1 sdc 8:32  active ready running
    | `- 6:0:0:1 sdi 8:128 active ready running
    `-+- policy='service-time 0' prio=1 status=enabled
      |- 1:0:1:1 sdf 8:80  active ghost running
      `- 6:0:1:1 sdl 8:176 active ghost running
    mpatha (3600a0b80001ffaf200002978583cfabc) dm-3 IBM     ,1722-600        
    size=50G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw
    |-+- policy='service-time 0' prio=6 status=active
    | |- 1:0:1:0 sde 8:64  active ready running
    | `- 6:0:1:0 sdk 8:160 active ready running

此时记录mpath磁盘的wwid,下面要用到

四,配置多路径文件
1,创建multipath.conf

vi /etc/multipath.conf 

编辑内容如下,这只是一个范本,大家根据自己的环境定义wwid和alias。

    blacklist{ 
    devnode   sda 
    } 
    defaults{ 
          find_multipaths yes
          user_friendly_names yes 
          failback immediate
          path_selector    "round-robin 0"
          path_checker    tur
          path_grouping_policy    multibus
          prio    alua
    }
    multipaths {
            multipath {
                    wwid                    3600c0ff00029769ea010bc5901000000
                    alias                   MBXT_OCR
           multipath {
                    wwid                    3600c0ff00029769ea310bc5901000000
                    alias                   MBXT_DATA1
           }
           multipath {
                    wwid                    3600c0ff00029769ea410bc5901000000
                    alias                   MBXT_DATA2
          multipath {
                    wwid                    3600c0ff00029769ea410bc5901000000
                    alias                   MBXT_FRA
          }
    
    }

保存以后执行

service multipathd restart (RHEL6.x、CentOS6.x、SuSE) 
systemctl restart multipathd.service(RHEL7.x、CentOS7.x) 

33158-42hb8amgebe.png

说明:
a,上面示例的wwid就是执行multipath ll之后记录的每个磁盘的id,根据自己的硬件环境编辑即可
b,alias 是友好别名,根据自己的使用环境定义即可
c,blacklist里的sda,不扫描本地磁盘,这里根据本地磁盘盘符来确定,该示例中假定本地盘符为 sda
d,有些存储不支持prio alua,重启多路径服务的时候会报错,重新编辑multipath.conf把prio alua 这一行删除即可。
e,每次编辑完multipath.conf 都必需重启multipathd服务

2,把multipathd 服务加入开机自启动

chkconfig --level 35 multipathd on (RHEL6.x、CentOS6.x、SuSE) 
systemctl enable multipathd.service  (RHEL7.x、CentOS7.x)