VIP与MPIO,备胎管理谁更强

我爱上班,风雨无阻

图片

大家每天去上班,不可能只有一条路线

可以地铁、也可以开车或公交

万一地铁停运或车子限行,至少还有其他线路选择

企业级存储也是如此

关键业务的存储访问一般有多条路径

网络或单个存储设备故障后

访问路径会自动切换,确保业务不间断运行

对于分布式存储

本地实现业务不中断的高可用机制主要有

VIP和MPIO两种方式

千人一面VIP

VIP 即Virtual IP Address,虚拟IP地址

VIP相当于企业的客服微信,头像昵称永远不变

但回复你的工作人员可能每天都不同

张三生病了,那就由李四顶上

李四请假了,就让王五支持

总之,这个号永远有人响应

图片

分布式存储的VIP机制也一样

它通过虚拟IP地址在集群不同节点间漂移

实现IO链路的故障切换,确保存储服务不间断

VIP就是企业微信号,存储节点是客服团队成员

虚拟IP是一个不固定分配的IP地址

它根据集群状态落在任意节点

动态对外提供存储服务

因此使用VIP挂载分布式存储提供的存储资源时

真正承载IO访问的节点并不是固定的

集群所有节点工作正常

可能会由多个节点在同时提供存储服务

集群中有节点故障时

虚拟IP会从该节点漂移到其他正常节点

从而让IO访问转移到其他节点

实现业务的高可用切换

图片

在分布式存储集群中

当可用节点B通过BeatHeart得知

节点A对外服务质量低于预期的时候

(比如发生故障,服务无响应)

会将自己的ARP缓存发送出去

告知网络中所有主机虚拟IP地址指向本机

这时外界再次访问虚拟IP的时候

就访问到节点B

而A降级为备用服务器

这就完成了主从机器的自动切换

如果B节点故障,其他可用节点也会再次接管虚拟IP

脚踏两船MPIO

MPIO即 MultiPath Input Output

简称MPIO或多路径

MPIO机制相当于一个脚踏两条船的渣男

永远有两个或多个女朋友

女朋友A生气了,他就去找女朋友B

和女朋友B闹矛盾了,他又回头找女朋友A

但在他父母眼里

一直以为他交往的是同一个女友 

图片

在存储系统中,不同的FC或IP链路就是女朋友

要传输的数据是渣男

而客户端主机则是被蒙在鼓里的父母

MPIO多路径是一种常见的存储高可用技术

其核心原理是

业务主机通过多条路径同时连接到一个存储设备

并通过存储虚拟化技术实现对存储设备的

识别、并行访问与故障切换

这种设计可以显著提高存储系统的性能和可靠性

图片

iSCSI多路径连接

多路径客户端会把iSCSI上报的多条路径合并管理

对主机呈现虚拟的单一路径(设备)

这样不仅可以防止多条路径读写不一致

还能实现高可用切换与性能提升

主路径发生故障后

多路径服务进行透明的主从切换(FailOver)

当路径恢复后自动进行回切(FailBack)

那么主机是如何识别多个路径上报的设备

是同一个LUN呢

答案其实很简单

只需要LUN有相同的WWN或LUN ID

多路径客户端就会按相同设备进行多路径处理

VIP与MPIO多角度对比

图片

(1) 管理配置

  • MPIO配置相对复杂,需要通过不同路径重复映射,并在主机端部署多路径组件进行多路径配置。

  • VIP使用简单,直接通过VIP挂载存储卷即可,无需在主机端进行额外配置。

(2)单卷性能

  • MPIO单卷可以使用多条路径实现性能叠加与负载均衡,性能更高。

  • VIP单卷只对应一条访问路径,性能受限于链路速率。

(3) 切换效率

  • MPIO是把多链路挂载的同一个卷,通过MPIO客户端把路径(设备)合并,故障时直接切换到预定的备用链路,切换响应时间短。

  • VIP是IP地址的重新映射,故障切换时需要将漂移虚拟IP、刷新路由表,然后访问到新的存储服务节点,响应时间可能略长(与超时判断、网络质量、漂移机制有关)。

(4)兼容性

  • 部分虚拟化/云计算对接存储要求使用MPIO,如华为云、zstack、easystack等。

  • 部分虚拟化/云计算无明确限制,可以灵活选择VIP或MPIO方式,如OpenStack。

(5)虚拟化挂载

  • MPIO适合卷数量少、虚拟化宿主机直接挂载存储卷的场景,简单可靠。

  • VIP适合虚机直接挂载存储的多卷环境,还可通过Cinder驱动连接,配置管理存储资源灵活方便。

图片

MPIO和VIP对比表

各有所长,适用场景不同

MPIO经典,可靠性高,但配置部署相对复杂

数据库/虚拟化等场景较适用

VIP简单易用,资源分配灵活

适合多样化的异构业务环境、卷数量较多的业务场景

FASS本地高可用实践

图片

大道云行FASS分布式存储系统

默认采用VIP高可用模式

在集群配置时需要设置VIP地址

且VIP地址需与业务网络网段一致

保证业务正常访问

客户端直接使用VIP地址挂载存储卷即可使用

FASS VIP服务流程步骤:架构主要有以下四部分组成

  • 集群所有节点通过raft算法选举出master节点,本发明中采用外部组件etcd工具选举和漂移master。

  • master建立到所有target服务的心跳,并根据target ID建立统一hash视图。

  • master将多VIP均匀分配到视图中(一致性hash算法,实现多VIP均衡)。

  • 各节点VIP服务向master获取分配结果,激活或禁用本节点的虚拟IP。

图片

VIP漂移与分配

以iSCSI为例,应用主机(iSCSI Initiator)使用集群VIP访问存储卷时,FASS软件会将请求重定向至iSCSI Target服务所在的目标节点,应用主机无需知道目标节点的物理IP地址即可正常访问iSCSI存储资源。应用主机(iSCSI Initiator)登陆iSCSI Target并发起I/O读写后,一旦目标iSCSI Target服务所在的节点故障,VIP就会漂移到其他的可用的存储节点,确保Discovery Portal与存储卷的iSCSI Target服务始终可用。当有新的iSCSI Initiator登陆请求时,存储集群会将访问重定向到提供iSCSI Target服务的健康节点。

图片

FASS存储集群的故障重定向登陆

当前连接的iSCSI Target服务失效时,FASS集群在启用新的iSCSI Target服务节点后,会通知应用主机重新发起iSCSI登陆,从而导向到提供iSCSI Target服务的新节点,数据访问在短暂中断后即可自动恢复正常。

除了VIP挂载,FASS同时支持iSCSI和NVMeoF多路径模式,使用多路径部署时,仅需要在配置文件将多路径参数设置为“on”即可。

图片

客户端的与标准存储设备配置方法一致,安装好多路径客户端、开启服务,挂载存储,然后进行多路径配置即可以,以redhat操作系统为例:

(1) multipath安装

在redhat中,安装操作系统的时候multipath已经默认被安装,查看安装情况

# rpm -qa | grep device-mapper

检查安装是否正常

# lsmod |grep dm_multipath

如果模块没有加载成功,使用下面的命令初始化DM:

#modprobe dm-multipath  

#modprobe dm-round-robin  

#service multipathd start  

#multipath –v2

(2) 编辑配置文件

# vim /etc/multipath.conf

--------------------------------------------------

device {

   vendor                      "TaoCloud"  #厂商

   product                     "FASS"      #设备名

   path_grouping_policy         multibus  #路径组策略

   path_checker                tur   #路径状态决定方法

   path_selector              "round-robin 0" #备选IO路径

   failback                     immediate  #故障恢复模式

---------------------------------------------------

(3) 获取WWID

# cat /etc/multipath/bindings 或 # multipath -v3

(4) 启动multipathd服务并设置自启动

#service multipathd restart

#chkconfig --level 345 multipathd on

#chkconfig --list | grep multipathd  

(5) 检查multipath设备信息

# multipath -ll

(6) 检查配置是否成功

# ll /dev/mapper/

如果配置正确的话就会在/dev/mapper/目录下多出mpath0、mpath1(自动分配的名称)等之类设备,如果在配置时起了别名,则会使用别名代替默认名称

然后用fdisk -l命令可以看到多路径软件创建的卷

SDS2.0的时代已经来来临,FASS作为SDS2.0的代表产品,既可以提供不亚于传统阵列的的性能,也可以提供传统存储不具备的Scale-out弹性扩展能力。

从数据可靠性角度,FASS有多副本、纠删码数据冗余保护。在本地高可用特性上,FASS有VIP和MPIO功能加持,FASS同时支持iSCSI和NVMeoF的多路径管理,在iSCSI多路径模式下,4节点可达到数十万IOPS能力;在VIP模式下,FASS切换时间可以低至5秒,实现不亚于MPIO的快速切换响应。不管是传统数据库业务,还是云计算、AI等应用,FASS可以灵活选择高可用模式,从容应对上述场景,满足各类业务的不间断访问要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557941.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

集合框架05:List接口使用、List实现类、ArrayList使用

视频链接:13.11 ArrayList使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?p11&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.List接口使用代码举例 package com.yundait.Demo01;import java.util.ArrayList; import java.util.List;pu…

轻松掌握IP代理服务器设置方法,网络冲浪更自如

在数字化时代,互联网就像是一片浩瀚的海洋,而IP代理服务器就如同我们在这片海洋中航行的指南针。通过使用代理IP,我们可以更方便地访问全球网络资源,提升网络安全性。本文将为您详细介绍IP代理服务器的设置方法,让您在…

指针——指针数组、数组指针

&#xff08;一&#xff09;指针数组 1、本质&#xff1a;指针数组的本质任然是数组 2、基本格式&#xff1a;int* arr[5] 3、应用&#xff1a;如尝试使用指针来模拟二维数组 先来看代码 #include<stdio.h> //指针数组——模拟实现二维数组 int main() {int a[5] {…

本科毕业论文不会写怎么办,论文查重显示80%多

如果本科毕业论文不会写且查重显示 80% 多&#xff0c;可以从以下几个方面着手解决&#xff1a; 一、调整心态&#xff0c;正视问题 首先&#xff0c;不要惊慌和焦虑。高重复率并不意味着无法挽救&#xff0c;要相信自己有能力解决这个问题。把它看作是一个学习和提升的机会&a…

Matlab实现海鸥优化算法优化回声状态网络模型 (SOA-ESN)(附源码)

目录 1.内容介绍 2部分代码 3.实验结果 4.内容获取 1内容介绍 海鸥优化算法&#xff08;Seagull Optimization Algorithm, SOA&#xff09;是一种受海鸥觅食和飞行行为启发的群体智能优化算法。SOA通过模拟海鸥在空中搜寻食物、聚集和分散的行为模式&#xff0c;来探索和开发…

Leecode刷题之路第13天之罗马数字转整数

题目出处 13-罗马数字转整数-题目出处 题目描述 个人解法 思路&#xff1a; todo 代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo 官方解法 13-罗马数字转整数-官方解法 方法1&#xff1a;模拟 思路&#xff1a; 代码示例&#xff1a;&#xff0…

ctf.bugku - game1

题目来源&#xff1a; game1 - Bugku CTF 访问页面&#xff0c;让玩游戏 得到100分&#xff0c;没拿到flag 查看页面源码&#xff0c; GET请求带有 score、IP、sign 三个参数&#xff0c;最后的flag 应该跟分数有关&#xff1b; 给了score一个99999分数&#xff0c; sign 为 …

dotnet7==windows ZIP方式安装和web demo和打包

下载ZIP Download .NET 7.0 (Linux, macOS, and Windows) 解压 创建项目 mkdir MyWebApp cd MyWebApp "C:\Users\90816\Downloads\dotnet-sdk-7.0.317-win-x64\dotnet.exe" new webapp -n MyWebApp 运行项目 "C:\Users\90816\Downloads\dotnet-sdk-7.0.317-…

同城O2O系统源码与跑腿配送平台的架构设计与开发方案详解

今天&#xff0c;笔者将与您一同深入探讨同城O2O系统的源码及跑腿配送平台的架构设计与开发方案&#xff0c;助力开发者和企业在这一领域的实践与探索。 一、O2O系统概述 在同城O2O模式中&#xff0c;用户可以通过手机应用或网页平台下单&#xff0c;而配送员则根据订单信息迅…

QT 优化登录框

作业 优化登录框&#xff1a; 当用户点击取消按钮&#xff0c;弹出问题对话框&#xff0c;询问是否要确定退出登录&#xff0c;并提供两个按钮&#xff0c;yes|No&#xff0c;如果用户点击的Yes&#xff0c;则关闭对话框&#xff0c;如果用户点击的No&#xff0c;则继续登录 …

信息安全——应急响应

应急响应部分 1、提交攻击者的IP地址 简单过一遍apache日志&#xff0c;less /var/log/apache2/access.log.1 很明显的可以发现大量的扫描流量&#xff0c;如下&#xff1a; 大量的并发连接&#xff0c;且访问资源均返回404&#xff0c;且UA不正常&#xff0c;从这里可以得…

【重学 MySQL】六十二、非空约束的使用

【重学 MySQL】六十二、非空约束的使用 定义目的关键字特点作用创建非空约束删除非空约束注意事项 在MySQL中&#xff0c;非空约束&#xff08;NOT NULL Constraint&#xff09;是一种用于确保表中某列不允许为空值的数据库约束。 定义 非空约束&#xff08;NOT NULL Constra…

Prometheus + Grafana 监控 MySQL 数据库

文章目录 1、前置介绍2、搭建流程2.1、安装 Docker2.2、安装 MySQL2.3、安装 MySQL Exporter2.4、安装 Prometheus2.5、安装 Grafana 1、前置介绍 本次监控平台搭建&#xff0c;我使用2台阿里云服务器来完成本次的搭建部署操作&#xff0c;配置如下&#xff1a; 阿里云ECS1&am…

《CTF 特训营》:网络安全竞赛的进阶指南

在网络安全领域日益受到重视的今天&#xff0c;CTF&#xff08;Capture The Flag&#xff09;竞赛作为一种检验和提升网络安全技能的方式&#xff0c;受到了越来越多爱好者的关注。而《CTF 特训营》这本书&#xff0c;无疑是一本帮助读者深入了解 CTF 竞赛的优秀读物。 一、书籍…

基于LORA的一主多从监测系统_AHT20温湿度传感器

1&#xff09;AHT20温湿度传感器 这个传感器&#xff0c;网上能找到的资料还是比较多的&#xff0c;我们使用的是HAL硬件i2c&#xff0c;相比于模拟i2c&#xff0c;我们不需要过于关注时序问题&#xff0c;我们只需要关心如何获取数据以及数据如何处理&#xff0c;下面以数据手…

探索Ultralytics YOLO11在视觉任务上的应用

前言 在人工智能持续发展的当下&#xff0c;有一点是确凿无疑的&#xff1a;模型正变得愈发优秀、快捷和智能。就在人们以为YOLO系列已登峰造极之时&#xff0c;Ultralytics推出了最新升级版——YOLO11。需要注意的是&#xff0c;这里不是YOLOv11&#xff0c;他们简化了命名方…

如何绘制短剧产业链图谱?短剧产业前景如何?

绘制短剧产业链图谱是一个涉及多个环节的复杂过程。我们首先需要确定产业链的主要环节&#xff0c;包括内容创作、制作、发行、宣传和观众。每个环节都由不同的参与者组成&#xff0c;如编剧、导演、演员、制作公司、版权销售商、在线平台、电视台、广告公司和消费者等&#xf…

51.哀家要长脑子了!

1.P1003 [NOIP2011 提高组] 铺地毯​​​​​​ 重复 模拟 要求覆盖在最上面的地毯编号&#xff0c;用四个数组abgk分别记录地毯起点的左下角横纵坐标&#xff0c;地毯的长度宽度&#xff0c;输入的坐标x y 当它满足大于等于左下角坐标 并且 小于等于 地毯左下角横纵坐标的时候…

Authentication Lab | IP Based Auth Bypass

关注这个靶场的其它相关笔记&#xff1a;Authentication Lab —— 靶场笔记合集-CSDN博客 0x01&#xff1a;IP Based Auth Bypass 前情提要 有些开发人员为了图方便&#xff0c;会给站点设置一个 IP 白名单&#xff0c;如果访问站点的用户的 IP 在白名单内&#xff0c;则允许访…

使用sponge+dtm快速搭建一个高性能的电商系统,秒杀抢购和订单架构的设计与实现

本文将展示如何使用 Sponge 框架快速创建一个简易版高性能电商系统&#xff0c;主要实现秒杀抢购和订单功能&#xff0c;并通过分布式事务管理器 DTM 来确保数据一致性。电商系统的架构图如下&#xff1a; 这是源码示例eshop&#xff0c;目录下包括了两个一样的代码示例&#x…