【共享服务】iscsi多路径配置

本文介绍了在CentOS7环境下,如何通过iSCSI建立多路径连接,并配置multipath实现故障切换和负载均衡。详细步骤包括主机与target的连接、multipath软件安装、配置文件编辑以及故障切换验证。通过multipath,实现了当主链路故障时,备用链路能够接管写入,确保了存储系统的高可用性。
摘要由CSDN通过智能技术生成

一、安装部署

1、前言

多路径的主要功能就是和存储设备一起配合实现如下功能:

  • 故障的切换和恢复
  • IO流量的负载均衡
  • 磁盘的虚拟化

为了主机可以使用 iSCSI 多路径访问存储设备,我们需要在主机上安装多路径设备映射器 (DM-Multipath)。多路径设备映射器可以实现主机节点和后端存储之间的多个 I/O 路径配置为一个单一逻辑设备,从而可以提供链路冗余和提高性能。主机通过访问包含多个 I/O 路径的逻辑设备,就可以有效提高后端存储系统的可靠性。

2、部署说明

节点主机名节点IP角色系统版本
node23066.66.66.230mon、osdCentOS7.2
node23166.66.66.231mon、mds、osd、targetCentOS7.2
node23266.66.66.232mon、mds、osd、targetCentOS7.2

本次示例由分布式存储提供一个1TB大小的rbd(lun01),通过node231、node232分别创建一个target服务共享lun01出去,客户端node220通过iscsi分别与node231、node232建立连接

注:以下操作均在initiator端node220节点下执行

2.1、initiator与target建立连接

node220节点分别通过节点node231、node232与lun01建立连接,映射到本地磁盘下

lun01通过node231、node232两个节点两条链路映射到node220节点下,映射盘符为sdc和sdd

[root@node220 ~]# iscsiadm -m discovery -t st -p 66.66.66.231
66.66.66.231:3260,1 iqn.vcluster.com:target01
[root@node220 ~]# iscsiadm -m discovery -t st -p 66.66.66.232
66.66.66.232:3260,1 iqn.vcluster.com:target01
[root@node220 ~]# iscsiadm -m node -T iqn.vcluster.com:target01 --login
Logging in to [iface: default, target: iqn.vcluster.com:target01, portal: 66.66.66.231,3260] (multiple)
Logging in to [iface: default, target: iqn.vcluster.com:target01, portal: 66.66.66.232,3260] (multiple)
Login to [iface: default, target: iqn.vcluster.com:target01, portal: 66.66.66.231,3260] successful.
Login to [iface: default, target: iqn.vcluster.com:target01, portal: 66.66.66.232,3260] successful.
[root@node220 ~]# iscsiadm -m node ll
66.66.66.231:3260,1 iqn.vcluster.com:target01
66.66.66.232:3260,1 iqn.vcluster.com:target01
[root@node220 ~]# lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                 8:0    0 223.6G  0 disk  
└─md126             9:126  0 212.4G  0 raid1 
  ├─md126p1       259:0    0   200M  0 md    /boot/efi
  ├─md126p2       259:1    0   500M  0 md    /boot
  └─md126p3       259:2    0 211.7G  0 md    
    ├─centos-root 253:0    0    50G  0 lvm   /
    ├─centos-swap 253:1    0     4G  0 lvm   [SWAP]
    └─centos-home 253:2    0 157.7G  0 lvm   /home
sdb                 8:16   0 223.6G  0 disk  
└─md126             9:126  0 212.4G  0 raid1 
  ├─md126p1       259:0    0   200M  0 md    /boot/efi
  ├─md126p2       259:1    0   500M  0 md    /boot
  └─md126p3       259:2    0 211.7G  0 md    
    ├─centos-root 253:0    0    50G  0 lvm   /
    ├─centos-swap 253:1    0     4G  0 lvm   [SWAP]
    └─centos-home 253:2    0 157.7G  0 lvm   /home
sdc                 8:32   0     1T  0 disk  
sdd                 8:48   0     1T  0 disk 
2.2、multipath配置
  • 安装multipath软件
[root@node220 ~]# yum install -y device-mapper-multipath
[root@node220 ~]# rpm -qa | grep multipath
device-mapper-multipath-0.4.9-123.el7.x86_64
device-mapper-multipath-libs-0.4.9-123.el7.x86_64
  • 生成multipath配置
    执行命令mpathconf --enable,在/etc目录下生成配置文件multipath.conf
[root@node220 ~]# mpathconf --enable
  • 修改multipath配置
    修改配置文件/etc/mulipath.conf信息如下,之后执行命令systemctl restart multipathd 重启服务
[root@node220 ~]# cat /etc/multipath.conf
defaults {
    user_friendly_names yes
}

#设置黑名单列表,示例环境sda、sdb磁盘为系统RAID盘,故而排除
blacklist {
          devnode "^sd[a-b]"
}

multipaths {
    multipath {
        path_grouping_policy    multibus
        #path_checker           readsector0
        prio                    "random"
        path_selector           "round-robin 0"
    }
}

devices {
    device {
        vendor        "vcluster"
        product       "12.2.12"
        path_checker  readsector0
        path_selector "round-robin 0"
        failback      immediate
        no_path_retry fail
    }

}
[root@node220 ~]# systemctl restart multipathd
  • 查看multipath状态

此时本地可以看到新增的虚拟磁盘/dev/mapper/mpathc ,该虚拟磁盘通过两条iscsi路径提供,当前配置为主备模式(同一时刻只有一条路径处于活动状态,可写入数据)

[root@node220 ~]# multipath -ll
mpathc (360000000000000000e00000000150001) dm-3 vcluster,VIRTUAL-DISK    
size=1.0T features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=enabled
| `- 45:0:0:1 sdc 8:32 active ready running
`-+- policy='service-time 0' prio=1 status=active
  `- 46:0:0:1 sdd 8:48 active ready running

[root@node220 ~]# lsblk
NAME              MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                 8:0    0 223.6G  0 disk  
└─md126             9:126  0 212.4G  0 raid1 
  ├─md126p1       259:0    0   200M  0 md    /boot/efi
  ├─md126p2       259:1    0   500M  0 md    /boot
  └─md126p3       259:2    0 211.7G  0 md    
    ├─centos-root 253:0    0    50G  0 lvm   /
    ├─centos-swap 253:1    0     4G  0 lvm   [SWAP]
    └─centos-home 253:2    0 157.7G  0 lvm   /home
sdb                 8:16   0 223.6G  0 disk  
└─md126             9:126  0 212.4G  0 raid1 
  ├─md126p1       259:0    0   200M  0 md    /boot/efi
  ├─md126p2       259:1    0   500M  0 md    /boot
  └─md126p3       259:2    0 211.7G  0 md    
    ├─centos-root 253:0    0    50G  0 lvm   /
    ├─centos-swap 253:1    0     4G  0 lvm   [SWAP]
    └─centos-home 253:2    0 157.7G  0 lvm   /home
sdc                 8:32   0     1T  0 disk  
└─mpathc          253:3    0     1T  0 mpath 
sdd                 8:48   0     1T  0 disk  
└─mpathc          253:3    0     1T  0 mpath 

[root@node220 ~]# cat /proc/partitions 
major minor  #blocks  name

   8       16  234431064 sdb
   8        0  234431064 sda
   9      126  222715904 md126
 259        0     204800 md126p1
 259        1     512000 md126p2
 259        2  221997056 md126p3
 253        0   52428800 dm-0
 253        1    4194304 dm-1
 253        2  165310464 dm-2
   8       32 1073741824 sdc
   8       48 1073741824 sdd
 253        3 1073741824 dm-3
2.3、multipath验证

验证multipath效果,看能否实现活动路径故障,备用路径接管写入的效果

  • 将多路径设备/dev/mapper/mpathc挂载到本地目录/client下,通过vdbench持续读写数据

查看multipath主链路为node232节点,映射磁盘为/dev/sdd
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 停止multipath主链路node232节点的target服务,客户端读写未出现中断情况

此时multipath主链路切换至node231节点下在这里插入图片描述
查看multipath状态,主链路切换至node231节点下
在这里插入图片描述
查看/var/log/messages日志打印,multipath检测到sdd磁盘异常,标记为fail状态,当前链路数为1
在这里插入图片描述
查看磁盘流量,此时磁盘读写流量切换至sdc磁盘下
在这里插入图片描述

当恢复node232节点target服务之后,node232节点重新加入到multipath备链路下
在这里插入图片描述

二、常用操作

参考文档:config_file_multipath

1、常用命令

  • 加载内核模块: modprobe dm-multipath; modprobe dm-round-robin
  • 刷新所有多路径配置: multipath -F
  • 查看多路径: multipath -ll
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值