本文分享自天翼云开发者社区《ISCSI数据盘的多路径配置》,作者:w****n

  • 多路径出现的背景

多路径,就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处理?从在操作系统的角度来看,每条路径,操作系统会认为是一个实际存在的物理盘,但实际上只是通向同一个物理盘的不同路径而已。而multipath软件正是为了解决这些问题而出现的,multipath提供了部署iscsi设备高可用功能的基础。

  • 多路径实现的功能

(1)故障的切换和恢复

(2)IO流量的负载均衡

(3)磁盘的虚拟化

  • multipath配置文件

multipath安装完成后,配置文件/etc/multipath.conf不存在,需要用户自己创建。安装完后会在/usr/share/doc/multipath-tools/examples 目录下生成multipath.conf.synthetic 模板文件可以将这个文件复制到/etc目录下并从命名为multipath.conf。可根据需求自行修改配置文件,在部署ceph-iscsi高可用方案时,相应的配置文件为

  • 关于wwid

多路径软件以块设备提供的scsi id为依据识别不同的路径,wwid中即包含了scsi id的信息 每一个磁盘都有一个全球独一无二的编号(wwid),同一磁盘的不同路径其wwid相同 。可以通过dmsetupstatus查看;另外,可以在/etc/multipath/bindings中设置wwid的别名,如果在multipa.conf中也设置了别名,那么conf文件中的设置优先级更高。每一块一块iscsi磁盘对应一个wwid,与路径数目无关。

同时,需要在配置文件中修改开启别名功能,并重启multipathd服务。

配置成功后,multipath会自动识别路径,若未识别出,可尝试执行 multipath -v3 ,路径识别成功后可以看到两条状态为active ready running的路径,两条路径对应的别名为ligb-mpth2(策略为failover,也即主备)

如图所示为配置了两条路径的一个iscsi设备,设备为dm-0,路径有两条,对应/dev下新增的设备:

配置成功多路径以后,target中的每一块disk都会出现与网关数量相同的/dev路径,例如:配置了两个iscsi网关,并添加了一块disk,那么initiator登陆后会看到/dev下新增两个设备sdb与sdc,并且用blkid查看可以看到两者是有一样的uuid,并且同时只能mount一个设备,如果尝试同时挂载,会提示错误,同时从dmesg中可以看出报错信息是由于两者拥有duplicate的uuid。并且两者实际都是与/dev/dm-0所关联

  • multipath配置分析

(1)未配置multipath

场景:target配置了两个iscsi网关,提供一个2G的块设备;initiator端未配置多路径,在/dev下多出两个设备sdb与sdc,这两个设备可以进行分别的格式化与mount,但是不能同时操作,不然会报错(因为实际二者就是同一个iscsi设备),挂载成功后其中一个设备显示挂载点,而另一个没有。这种情况下若尝试multipath -v2,会提示ignoring map的错误

(2)已配置multipath

场景:target配置了两个iscsi网关,提供一个2G的块设备;initiator端配置多路径,在/dev下多出两个设备sdb与sdc,并且他们对应的是同一个ligb-mpth2,这两个设备不可以进行格式化与mount.

若要使用此iscsi设备,那么需要直接操作ligb-mpth-2这个设备,并且mount后可以发现sdb与sdc都显示了挂载点

  • 查看路径负载

发现dm-0上的io与sdc路径上的io相同,说明此时选取的路径为sdc。(路径组策略为failover)

将路径组策略设置为multibus后再次查看,可以发现IO的流量被分散到了两条路径上,并且IO

同时查看路径状态,发现两条路径均处于active

  • 清除多路径

退出iscsi登录后,multipath仍然残留在lsblk中,需要执行multipath -F才能清除

ISCSI数据盘的多路径配置的更多相关文章

  1. Linux 格式化和挂载数据盘

    如果您已经为 ECS 实例配了数据盘,您需要先格式化数据盘并挂载文件系统后才能正常使用数据盘. 注意: 磁盘分区和格式化是高风险行为,请慎重操作.本文档描述如何处理一个新买的数据盘,如果您的数据盘上有 ...

  2. Linux格式化、挂载及卸载数据盘

    注意: 磁盘分区和格式化是高风险行为,请慎重操作.本文档描述如何处理一个新买的数据盘,如果您的数据盘上有数据,请务必对数据进行备份以避免可能的数据丢失. 服务器仅支持对 数据盘 进行分区,而不支持对  ...

  3. 【Linux】扩展阿里云数据盘分区和文件系统

    扩容云盘只是扩大存储容量,不会扩容文件系统 一.准备工作 在扩展数据盘扩展分区和文件系统前,请提前完成以下工作. 创建快照以备份数据,防止操作失误导致数据丢失. 通过ECS控制台或者API扩容云盘容量 ...

  4. 【转】Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置

    Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置 原贴:https://www.cnblogs.com/jackadam/p/8568833.html ...

  5. ISCSI多路径配置(二)

    搭建iscsi存储系统(一) (1).配置ISCSI多路径实现磁盘挂载高可用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出现故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 ...

  6. iscsi序列二、iscsi多路径配置方式

    一.ISCSI多路径应用 如果存储服务器到交换机只有一条线路的时候,那么一条线路出线故障,整个就没法使用了,所以多线路可以解决这个问题,避免单点故障 如上图,如果SAN服务器与客户端交换机只有一条线路 ...

  7. <亲测>阿里云centos7 挂载数据盘配置

    阿里云centos7 挂载数据盘配置 2018年07月17日 15:13:53 阅读数:235更多 个人分类: linux阿里云ECS数据盘挂载   查看磁盘情况 fdisk -l  其中/dev/v ...

  8. docker改变默认存储路径到数据盘(自己实践)

    一.首先将数据盘格式化分区并挂载(文章中提到的sdb(腾讯云)实践中是vdb(阿里云),文章中挂载在ssd目录下,实践中是挂载到data目录下的,后面安装docker部分以后是实践中的记录,上面数据盘 ...

  9. ahjesus mongodb指定到数据盘连接不上的解决方案

    关于配置路径指定到数据盘会出现连接不上的情况 我发现是因为数据盘权限不足引起的,目前没找到治本的方法 有个治标的方法就是设置数据盘的权限和用户 sudo chmod 777 * -R  /path/d ...

  10. Linux下multipath多路径配置

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存 储通过了光纤交换机或者多块网卡及IP ...

随机推荐

  1. 在 MySQL 创造类似 PipelineDB 的流视图(continuous view)

    公司的系统采用的是 Google Cloud SQL 提供的 MySQL 数据库,由于历史原因,数据库成本极高,需要对它进行优化缩减成本. 相比 PostgresSQL,MySQL 主要缺少以下特性, ...

  2. forms组件与源码分析、modelform组件

    目录 一.forms组件 forms组件介绍 Form定义 二.forms组件渲染标签 三.forms组件展示信息 四.forms组件校验补充 五.forms组件参数补充 六.forms组件源码剖析 ...

  3. Qt/C++通用跨平台Onvif工具/支持海康大华宇视华为天地伟业等/云台控制/预置位管理/工程调试利器

    一.前言 在安防视频监控行业,Onvif作为国际标准,几乎主要的厂商都支持,不仅包含了国内的厂商,也包括主要的国际厂商,由于有了这个标准的存在,使得不同设备不同安防平台之间,能够接入各个厂家的硬件设备 ...

  4. Qt音视频开发41-人脸识别嵌入式

    一.前言 大概几年前搞过一套嵌入式linux上的人脸识别程序,当然人脸识别的核心算法并不是自己开发的,关于人脸识别算法这一块,虽然有众多的开源库可以用,甚至还可以用opencv搞算法训练深度学习之类的 ...

  5. 记一次 .NET某电商医药网站 CPU爆高分析

    一:背景 1. 讲故事 准备明年把.NET高级调试的训练营的课程进行重构,采用案例引导式,而CPU爆高类有不少是程序员在写代码的时候不注意时间复杂度,在数据量稍微大一点的情况直接幻化成了死循环,时间复 ...

  6. spark (三) hadoop上传文件并运行spark

    目录 1. 上传文件到hdfs 2. 运行wordCount 2.1 spark-shell运行 2.2 spark-submit运行example(stand-alone) 2.3 spark-su ...

  7. 2022 年万圣节 Github 彩蛋

    记录每年 Github 万圣节彩蛋,也记录有来项目成长历程. 2022 万圣节彩蛋 2021 万圣节彩蛋 2020 万圣节彩蛋

  8. .NET Core:架构、特性和优势详解

    .NET Core:架构.特性和优势详解 在软件开发领域,保持领先地位至关重要.随着技术以指数级的速度发展,开发人员不断寻求高效.可扩展且多功能的解决方案来应对现代挑战..NET Core 就是这样一 ...

  9. Solution Set - “请背诵每条魔法的禁忌”

    目录 0.「HAOI 2018」「洛谷 P4494」反色游戏 1.「JSOI 2010」「洛谷 P6029」旅行 2.「CTSC 2017」「洛谷 P3774」最长上升子序列 3.「CTSC 2018 ...

  10. Solution Set -「NOIP Simu.」20221005

    \(\mathscr{A}\sim\)「CF 1252G」Performance Review   Link & Submission.   Tag:「水题无 tag」   记 \(A=a_1 ...