几种分布式存储组网架构参考

article/2025/10/5 14:26:05

作        者:  @NGDCN

原文链接:几种分布式存储组网架构参考 - NGDCN

版        权: 本文由 @NGDCN 于2022-11-12原创发布在 NGDCN,未经许可,禁止转载。

1、名词解释

◼ VBS:云硬盘备份(Volume Backup Service),为云硬盘创建在线备份,无需关机/重启。针对病毒入侵、人为误删除、软硬件故障等场景,可将数据恢复到任意备份点

◼ DPC:DPC(Distributed Parallel Client)分布式并行客户端,它作为存储客户端运行在计算节点上,可同时连接多个存储节点,对上层应用提供标准POSIX和MPI-IO接口,以获得更好的兼容性和更优的性能。

◼ OSD:存储局域网(SAN)和网络附加存储(NAS)是我们比较熟悉的两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。

◼ EDS:Enterprise Data Service,EDS进程是提供快照、重删、复制等企业级高可用特性,EDS在存储节点上会启用此进程。

◼ BMC:管理网络,主要是指BMC带外管理和内部管理流量使用的网络平面。

2、什么是分布式存储的前后端共享和前后端独立组网架构?

2.1、概述

当计算节点和存储节点分离部署,且VBS/DPC部署在计算节点中时,我们可以选择存储前后端独立部署。那么存储前后端共享和存储前后端独立存在什么区别呢?

根据VBS/DPC和OSD间的通信数据是否与OSD和OSD间的通信数据隔离,可分为存储前后端共享网络和存储前后端独立网络。

当存储前后端独立网络时,VBS/DPC和EDS间的通信数据使用存储前端网络,EDS和OSD间的通信数据使用存储后端网络。此时为三网场景,即管理网络+存储前端网络+存储后端网络。

当存储前后端共享网络时,VBS/DPC和EDS间的通信数据与OSD和OSD间的通信数据使用同一个存储网络,此时为两网场景,即管理网络+存储网络。

2.2、两网场景:存储前后端共享组网

图1: 存储前后端共享组网方案网络示意图

 

图2: 典型分布式存储两网组网架构

如图1和图2所示,两网为管理网络+存储网络(VBS与OSD通信+OSD与OSD通信)。

典型分布式存储两网组网架构:solidfire,华为fusionstroage block,高性能块分布式存储普遍采用这一类组网方式。

这种组网方式的最大特点就是物理上不分前后端网络,数据流位于同一个平面网络里面。对于这种架构的分布式块存储要求的是高IOPS和低延迟,带宽相反没有像对象存储那样高。同一个网络平面有助于减少数据传输延迟,到达极致高性能。

2.3、三网场景:存储前后端独立组网

图3: 存储前后端独立组网方案网络示意图

图4:典型分布式存储三网组网架构

如图3和图4所示,三网为管理网络+存储前端网络(VBS/DPC与OSD通信)+存储后端网络(OSD与OSD通信)。

典型分布式存储三网组网架构:ceph ,华为fusionstroage object 采用这一类组网方式。

这种组网方式在对象分布式存储中占主流地位,的最大特点就是前、后端网络进行分离:后端网络用于传送存储集群节点内部交换流量,前端网络流量用于应用主机访问存储集群。前后端网络隔离,从安全性能和性能方面都是一种很好的考量。缺点就是成本高。

2.4、三网与两网组网差异比较

表: 三网与两网的差异

两网部署三网部署
主要场景VMware vSphere超融合场景(VBS部署在计算存储融合节点的CVM)Database/原生OpenStack/文件共享/华为云生态(VBS部署在计算节点)VMware vSphere/Microsoft Hyper-V/原生OpenStack/文件共享场景(VBS部署在存储节点)VMware vSphere计算存储分离(VBS部署在计算节点的CVM)标准协议文件/对象/大数据场景。Database/原生OpenStack/文件共享/华为云生态(VBS部署在计算节点)文件服务DPC场景
性能所有存储前端业务、数据镜像、重构流量都走唯一的存储平面。在存储前端(VBS与OSD通信)流量较大时,存储后端(OSD与OSD通信)存在网络瓶颈,导致网口跑满,影响业务性能。FusionStorage 6.3版本仅支持两网。存储前端流量:VBS/DPC到EDS。存储后端流量:WAL日志,EC/副本间数据的镜像、分解和重构。由于网络平面进行了拆分,即使在前台大业务量叠加重构,也很难达到网络带宽上线,因此三网部署性能更好。即使整体带宽没有达到网络瓶颈,由于三网部署使用的网卡更多,处理网络数据包能力更强,整体业务性能也比两网部署更好。FusionStorage 8.0 及之后版本支持两网和三网。
稳定性在网络成为瓶颈时,前台业务与重构争抢流量,导致前台业务受损(带宽下降大或波动大)。由于存储前后端分离部署,前台与后台流量不会相互影响,用户业务更加平稳。

参考资料

1、https://forum.huawei.com/enterprise/zh/thread/580939334461308928

2、几种分布式存储组网架构参考 - 腾讯云开发者社区-腾讯云

3、华为云计算(5)——FusionStorage - 知乎

4、概述 - OceanStor Pacific系列 8.1.0 OceanStor Pacific系列 8.1.0 组网规划指南 - 华为数据存储

5、Ceph学习笔记(4)- OSD - Hui_Tong - 博客园

6、X10000 存储前端网 存储后断网和业务网具体有什么区别? - 知了社区


http://chatgpt.dhexx.cn/article/7EQBqHNA.shtml

相关文章

谈谈Java内存模型

谈谈Java内存模型 什么是JMM为什么需要这种规范呢?三大特性在Java中是怎么满足的呢? 什么是JMM Java Memory Model ,Java内存模型,是一种共享内存系统中多线程程序读写操作行为的规范,它是一种屏蔽了各种硬件和操作系…

Java内存模型及管理

1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请…

什么是Java内存模型

概述:本文向您介绍Java内存模型的概念,在C或C中, 利用不同操作平台下的内存模型来编写并发程序;Java利用了自身虚拟机的优势, 使内存模型不束缚于具体的处理器架构,真正实现了跨平台。 内存模型 (memory model) 内存模型描述的是程…

详说Java内存模型(JMM)

文章目录 什么是Java内存模型为什么提出内存模型Java主内存与工作内存JMM三大特性可见性有序性原子性 并发总结 什么是Java内存模型 Java内存模型就是(Java Memory Model),它规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机就是一…

详解Java内存模型

文章目录 一、简介二、处理器、高速缓冲、主内存间的交互关系三、Java线程、工作内存和主内存的交互关系四、8大原子操作五、8大Happens-Before原则 一、简介 Java内存模型(JMM)是线程间通信的控制机制,JMM定义了主内存和线程工作内存之间的抽…

Java内存模型的一点理解

关于Java内存模型的问题 文章目录 前言一、Java内存模型二、其中一些指向问题1.内存指向问题为什么? 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要…

【Java】Java内存模型

1.什么是Java内存模型 Java内存模型(Java Memory Model,JMM)是一种抽象的,不存在的概念。是一种屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制及规范。 Java内…

2.什么是JAVA内存模型?

为什么要设计JAVA内存模型? 小陈:老王,看了上一篇的《CPU多级缓存模型》,有个疑问为什么还要有JAVA内存模型啊? 老王:这么来说吧,CPU多级缓存模型,只是一个规范,但是底层…

Java内存模型是什么

网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。本文,就来整体的介绍一下Java内存模型&#…

Java内存模型是什么,为什么要有Java内存模型,Java内存模型解决了什么问题等。。。

本文中,有很多定义和说法,都是笔者自己理解后定义出来的。希望能够让读者可以对Java内存模型有更加清晰的认识。当然,如有偏颇,欢迎指正。 为什么要有内存模型 在介绍Java内存模型之前,先来看一下到底什么是计算机内存…

Java内存模型相关面试题

一、谈谈你对Java内存模型的理解可以吗? 对于Java内存模型大家千万不能和JVM内存模型弄混了,不一样的; JVM内存模型是指JVM的内存分区,就是JVM分了几个区域;而Java内存模型是一种虚拟机规范。 首先来看下面一段代码&…

什么是Java内存模型?

点击上方“程序员小灰”,选择“置顶公众号” 有趣有内涵的文章第一时间送达! 本文转载自公众号 占小狼的博客 说”JVM内存模型“,有人会说是关于JVM内存分布(堆栈,方法区等)这些介绍,也有地方说…

Java面试--Java内存模型

面试题:你了解Java内存模型吗?(顺丰面试题) 面试题:程序内存的分布,五个部分(360面试题) 一、Java程序的执行过程: Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中…

JAVA内存模型与JVM内存模型

JAVA内存模型(JMM)与JVM内存模型 1、JAVA内存模型保证了在多线程环境下,对共享变量读写的原子性、可见性和有序性的一系列规范。 2、JVM内存模型规定了JAVA虚拟机在运行时使用的内存的各个分区及其作用。JAVA内存模型 原子性: 通过 synchronized、lock实现&#x…

Java内存模型(JMM)详解

目录 一、为什么要有内存模型二、CPU和缓存一致性2.1 为什么需要CPU cache2.2 三级缓存(L1、L2、L3)2.3 乱序执行优化 三、java内存模型3.1 JVM对Java内存模型的实现3.2 Java内存模型和硬件架构之间的桥接3.3 Java内存模型 - 同步八种操作3.4 Java内存模…

jvm内存模型和java内存模型

初识java虚拟机,就碰到一系列不懂的问题。我们以前常说java把局部变量放在栈里,new出来的变量放在堆里,然后堆里的数据不定时就给回收了。然后,如果是多线程的话,每个线程自己都有会一个私有的虚拟机栈,运行…

JAVA内存模型与JVM内存模型的区别

** JAVA内存模型与JVM内存模型的区别 ** 直接进入正题 **JAVA内存模型: Java内存模型规定所有的变量都是存在主存中,每个线程都有自己的工作内存。线程堆变量的操作都必须在工作内存进行,不能直接堆主存进行操作,并且每个线程…

【3】Java内存模型

目录 知识点1:Java内存模型 知识点2:Volatile 1、什么是Volatile 2、Volatile特性 3、Volatile与Synchronized区别 知识点3:重排序 1、数据依赖性 2、as-if-serial语义 3、程序顺序规则 4、重排序对多线程的影响 知识点1&#xff1a…

Java内存模型详解

文章目录 一、什么是JMM?为什么需要JMM?二、JMM 如何抽象线程和主内存之间的关系?三、Java 内存区域和 JMM 有何区别?四、happens-before原则五、总结 一、什么是JMM?为什么需要JMM? Java 是最早尝试提供内…

java内存模型概述

java内存模型 为了控制线程之间的通信,(完成底层封装) 用来屏蔽掉各种硬件和操作系统之间的内存访问差异,以实现让Java程序在各平台下都能达到一致的内存访问效果。 JMM目标:定义程序中各个变量的访问规则&#xff0c…