Fusionstorage Cinder架构

2023-10-30

由于最近一个月加班开发一个云存储产品,fusionstorage cinder。之前也没有碰过云存储这方面的知识,于是花了很长一段时间去学习了解它的架构。
首先我们要知道云存储是什么,云存储其实是在云计算概念上延伸出的一个新概念,通过集群应用网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来工作,共同对外提供数据存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就变为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。而对于单一的云存储来说,用户需要集成云存储和CDN(Content Delivery Network)两个服务,用户上传慢,仍需访问原始网站服务器。CDN无法支持云存储灵活的访问控制策略。
而华为云存储的架构,则有:

  • **应用接口层:**通过负载均衡和WEB服务为用户应用系统及资源管理平台基于HTTP协议的对象存储服务,如REST(Represtational State Transfer)访问接口。

  • **资源能力层:**向上为云存储的管理和接口功能提供服务,向下为分布式存储提供策略和调度支持。

  • **分布式存储层:**主要提供文件管理和存储、元数据管理、数据同步、数据迁移等,以及边缘节点之间、边缘节点和中心节点之间的消息通信支持。

华为云存储服务采用分布式网络架构,将存储节点与CDN节点相结合,形成边缘节点。边缘节点既能加速用户下载,又能接受用户上传的数据,在距离用户最近的网络位置形成一套分布式服务系统。

中心节点:主要提供资源服务层和部分应用接口层能力以及管理、监控、大数据处理等功能,包括以下部件:

  • 负载均衡器/Load Balancer: 中心节点所有请求的入口,负责分发请求到对应的业务处理无服务器,同时具备安全防火墙功能。
  • **消息队列/Message Queue:**负责中心节点和边缘节点的消息传递,以及内部服务器之间的通信。
  • **应用服务器/App Server:**负责各种具体业务功能的逻辑实现。
  • **Hadoop集群:**负责大数据分析,报表输出,为只能调度提供数据支持。
  • **数据库服务集群/MySql Servers:**负责云存储目录结构存储。
  • **简单数据库服务/Simple DB:**负责分布式存储元数据存储。
  • 内存缓存/Menary Cache: 提供内存缓存功能,为公共设施。

##Fusionstorage Block
在大规模云计算数据中心中,将通用x86存储服务器迟化,建立大规模块存储资源池,提供标准的快存储访问接口(SCSI和iSCSI等)。支持各种虚拟化Hypervisor平台和各种业务应用(如SQL、web行业应用等),可以和各种云平台集成,如华为FusionSphere、VMware、开源openstack等,按需分配存储资源。
另一类是在企业关键IT基础设施中,通过Infiniband 进行服务器互联以及SSD做Cache或主存等关键技术,将存储系统的性能和可靠性得到极大的提供。又保留了分布式存储的高扩展下基因,从而支持企业关键数据库,关键EPR/CRM等应用的使用,解决这些关键应用的大数据量需求。
Fusionstorage是新一代分布式存储架构,Dsware是其软件的实现,它是采用了大规模并行的分布式网络存储技术,使用了"横向扩展"的存储架构,利用分布式多节点网格并行分担存储负荷,并通过细粒度数据分布算法保证数据的恒定均衡分布,提高系统的可靠性,可用性和存取效率,易于扩展。Dsware思想是通过在通用服务器上部署该软件,可将所有服务器的本季磁盘组织成一个虚拟存储资源池,卷被切片分割打散到整个资源池所有硬盘中,每个server节点就是一个机头控制器。
Dsware采用著丛方式管理,从角色上划分,集群里又集中角色:

  • **Manager:**管理模块,提高告警、监控、日志、配置等操作。
  • **ManageCluster成员:**元数据管理,实现对分布式集群的状态控制,以及控制数据分布式规则,数据重建规则等,对应运行MDC(MetaData Controler)模块,必须三个节点组成集群。
  • **StoragePool成员:**提供本地存储对外开放的节点,执行具体的I/O操作。在对应的每个服务器上会部署多个OSD(Object Storage Device)进程,每个OSD进程管理一块硬盘。
  • **Dsware Client:**使用DSware存储的节点,运行VBS(Virtual Block System)虚拟块存储管理组件,负责逻辑卷和快找的管理,提供分布式集群接入点服务,使计算资源能够通过VBS访问分布式存储资源。

Manage Cluste、StoragePool和DSware Client 三种角色部署在同一节点上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fusionstorage Cinder架构 的相关文章

  • OpenFeign 如何设置动态 URL?

    如果你利用 Spring Cloud OpenFeign 进行服务间调用一般会加入这个注解 FeignClient name url http myapp com path 可以看出其中的 url 参数是一个字符串 上面的配置是把它写 死
  • warning: ‘p’ may be used uninitialized in this function

    warning p may be used uninitialized inthis function 原因 你定义了一个指针变量 只能用来保存地址 如果这个地址所指向的空间不是系统分配给它的 那么你对这块内存的赋值是非法的 正确定义 in
  • 安装SQL2012出现[HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1

    本人安装SQL2012出现这个错误 找了三天三夜 终于把问题找出来 共享给有需要的人们 不用重新换系统 错误如下 1 此问题是系统 net Framework版本冲突 首先下载 net Framework清理工具 如 cleanup too
  • C++学习(三八八)Doxygen

    Doxygen 是一个 C C Java Objective C Python IDL CORBA 和 Microsoft flavors Fortran VHDL PHP C 和D语言的文档生成器 可以运行在大多数类Unix系统 以及Ma
  • Java中,定时任务Timer使用缺陷

    缺陷主要有2点 1 管理并发任务的缺陷 timer有且仅有一个线程去执行定时任务 如果存在多个任务 且任务时间过长 会导致执行效果与预期不符 2 当任务抛出异常时的缺陷 如果TimerTask抛出RuntimeException Timer
  • Flutter Card踩坑经历

    Card包含的Column的Text文本显示居中 且设置textAlign TextAlign start无效 在Column添加属性 crossAxisAlignment CrossAxisAlignment start
  • Python的MySQL库,fetchone,fetchall,fetchmany的比较

    fetchone 返回一条记录 row 一维元组 如 小李 21 如果没有结果 则返回 None 再次调用fetchone 则继续返回下一条记录 直到为空 fetchmany 返回指定的前n条记录 二维元组 如fetchmany 3 获取前
  • JavaWeb项目运维部署

    一 项目部署介绍 Web项目网络拓扑图 部署目录介绍 项目目录 home projectName 启动文件目录 home projectName bin 后端项目 home projectName target Web前端资源 home p
  • HTML实现3D相册

    今天 我给大家分享一个3D相册的代码 废话不说先上效果图 先新建两个文件夹 一个叫css 另一个叫img 如下图 先新建一个文本文档 输入下面的代码 div ul li img src img 1 jpg li ul div
  • 性能测试 —— jmeter计数器

    jmeter计数器 如果需要引用的数据量较大 且要求不能重复或者需要递增 那么可以使用计数器来实现 如 新增功能 要求名称不能重复 1 新增计数器 计数器 允许用户创建一个在线程组之内都可以被引用的计数器 计数器允许用户配置一个起点 一个最
  • 西瓜书-2习题

    文章目录 2 习题 2 1 2 2 2 3 2 4 2 5 有待解决 2 6 2 7 2 8 2 9 有待解决 2 10 有待解决 2 习题 2 1 数据集1000个样本 其中500个正例 500个反例 将其划分为包含70 样本的训练集和3
  • 笔记:pycharm中ModuleNotFoundError:No Module named ‘sklearn‘ 解决办法

    windows10 Anaconda tensorflow2 1 python3 7 开发环境 pycharm 错误 代码 from sklearn import datasets 报错 ModuleNotFoundError No Mod
  • HTTPS:确保Web安全

    参考书籍 图解HTTP HTTP的不足 1 通信使用明文可能会被窃听 HTTP本身不具备加密的功能 无法对通信整体加密 即HTTP使用的是明文方式发送 加密技术可以防止被窃听 加密对象 通信的加密 HTTP和SSL的组合被称为HTTPS 内
  • 字节跳动开源神器:btrace 2.0 技术原理大揭秘

    项目 GitHub 地址 https github com bytedance btrace 1 背景介绍 在一年多前 我们对外正式开源了 btrace AKA RheaTrace 它是基于 Systrace 的高性能 Trace 工具 目
  • Unmapped Spring configuration files found找到未映射的spring配置文件

    在以下位置配置即可
  • 基于Arduino的智能小车-代码部分

    紧接上篇Arduino智能小车 这篇主要是智能小车的代码部分 首先 定义相关模块引脚 注 这里只是粘贴了部分代码 int sp1 8 定义舵机接口数字接口8 int pulsewidth 定义脉宽变量 int v int val1 int
  • DateFormat类:日期格式化的便捷工具

    系列文章目录 文章目录 系列文章目录 前言 一 什么是DateFormat类 二 格式化日期和时间 三 解析字符串为日期和时间 四 本地化支持 总结 前言 在软件开发中 处理日期和时间是一个常见而重要的任务 为了满足不同的需求 Java提供
  • ubuntu操作系统学习笔记之NFS安装

    1 安装 nfs 服务版 机器一 机器二都要装 服务器端安装 sudo aptitude install nfs common nfs kernel server portmap 在客户端则需要安装 sudo aptitude instal
  • 2022高教杯思路 数模思路

    三年比赛经验 国一美赛F 公众号 千千小屋grow 首先切记获奖的前提是要完成论文模型的全部内容 如果A B题玩成编程和建模难度较大 可以选择C题 注 但选择C题 如果中规中矩的完成大概率与国一国二无缘 但很大概率可以省奖保底 A题 物理类

随机推荐

  • 机器学习-定序回归及python实现

    参考链接 深入浅出机器学习算法 定序回归 机器学习 保序回归 IsotonicRegression 一种可以使资源利用率最大化的算法 scikit learn一般实例之一 保序回归 Isotonic Regression
  • MySQL子查询

    子查询指一个查询语句嵌套在另一个查询语句内部的查询 这个特性从MySQL 4 1开始引入 SQL 中子查询的使用大大增强了 SELECT 查询的能力 因为很多时候查询需要从结果集中获取数据 或者需要从同一个表中先计算得出一个数据结果 然后与
  • 微信小程序和百度的语音识别接口

    介绍 因为项目需要 使用到了微信小程序和百度的语音接口 现在将项目中的一个小模块拿出来单独分享 技术关键字 微信小程序 百度语音接口 nodejs express fluent ffmegp 环境 windows 10 vs code 1
  • adb inputswipe shell_adb shell 基本使用

    连接远程设备 adb connect ip host 端口 获取设备 adb devices 显示adb连接设备列表 adb e d s xxx shell e 模拟器 d 外置设备 s 输入序列号 进入shell后 adb shell 就
  • Qt之NSIS打包

    一 Qt发布方式 Qt发布的时候 通常使用两种方式 1 静态编译 把相关联的库一并引入可执行程序 虽然发布简单 但可执行程序较大 2 动态编译 把相关联的库 以dll的形式引用 不包含到可执行程序 发布不方便 但可执行程序较小 二 NSIS
  • leectode 合并二叉树 -- 递归

    0 题目描述 leetcode原题链接 617 合并二叉树 1 递归解法 可以使用深度优先搜索合并两个二叉树 从根节点开始同时遍历两个二叉树 并将对应的节点进行合并 两个二叉树的对应节点可能存在以下三种情况 对于每种情况使用不同的合并方式
  • 梯度下降(Gradient Descent)

    基本思想 梯度下降是一个用来求函数最小值的算法 本次 我们将使用梯度下降算法来求出代价函数的最小值 梯度下降背后的思想是 开始时我们随机选择一个参数的组合 计算代价函数 然后我们寻找下一个能让代价函数值下降最多的参数组合 我们持续这么做直到
  • Vue2的学习

    computed计算属性 概念 基于现有数据 计算出来的新属性 依赖的数据变化 会自动重新计算 语法 声明在computed配置项中 一个计算属性对应一个函数 这是一个属性 计算属性名 不是方法 注意不要忘记return div ul li
  • 抓取热门话题:获取热门话题及其讨论

    目录 1 抓取微博热门话题简介 2 准备工作 3 分析微博网站结构 4 编写微博热门话题爬虫
  • 【程序员面试金典】对于一个元素各不相同且按升序排列的有序序列,请编写一个算法,创建一棵高度最小的二叉查找树。

    题目描述 对于一个元素各不相同且按升序排列的有序序列 请编写一个算法 创建一棵高度最小的二叉查找树 给定一个有序序列int vals 请返回创建的二叉查找树的高度 class MinimalBST public int buildMinim
  • 简单的融合模型:基于keras 的少量样本集迁移学习 VGG16+MeanShift+PAC降维混合模型的苹果识别

    案例分析 更多是是一种思想 而不是具体实现 1 数据集 样本总数为30个 其中普通苹果和其他苹果各占一半 其中有10个苹果已经标注其他均无标签 2 数据集扩容 由于数据集中数据数量少无法满足模型训练 故而改变图片生成一部分模型 path o
  • 翻转字符串

    描述 写出一个程序 接受一个字符串 然后输出该字符串反转后的字符串 字符串长度不超过1000 示例1 输入 abcd 返回值 dcba 示例2 输入 返回值 法一 使用StringBulider public String solve St
  • UML实例

    以下内容摘自张海藩老师 软件工程导论 课件 UML实例 拟开发一软件 完成学校管理中的教务部门功能 包括班级管理 课程管理 帐户管理等 要求用UML建模 1 用例图设计 主用例图 班级管理子用例图 帐户管理子用例图 2 顺序图和用例图 可为
  • echarts图形销毁重新绘制

    echars在绘制图形的时候会给div添加属性 echarts instance 因此只需要将此属性移除并清空div内容即可重新绘制新的echarts图形 myChart removeAttr echarts instance empty
  • libevent库使用之二:深入理解使用

    目录 一 event base 1 创建event base 2 查看IO模型 3 销毁event base 4 事件循环 event loop 5 event base的例子 二 event 事件 1 创建一个事件event 2 释放ev
  • IE9下silverlight 里边MessageBox.Show 失效!

    今天刚刚安装了IE9 在用的时候发现之前用silverlight 做的一个页面里边 MessageBox Show 执行后看不到弹出的对话框 整个页面卡在哪儿没反应了 测试了一下发现是因为silverlight 所在的页面 是用 javas
  • 迁移wind to linux服务器EE网站--迁移说明步骤

    1 上传程序文件 htaccess上传 里面有特殊字符记得更改2 还原数据库从原数据库导出 SQL的命令mysqldump u用户名 p密码 default character set latin1 数据名 gt 数据名 sql3 修改配置
  • 用CSS画小猪佩奇,你就是下一个社会人!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者 江志耿 腾讯TEG网络工程师 我是佩奇 哼 这是我的弟弟乔治 呱呱 这是我的妈妈 嚯 这是我的爸爸 嚯 背景 小猪佩奇已经火了好一阵了 其实一开始我是不屑的 纵观小朋友的历届动
  • 网络安全-子域名收集

    本文为作者学习文章 按作者习惯写成 如有错误或需要追加内容请留言 不喜勿喷 本文为追加文章 后期慢慢追加 子域名 子域名指二级域名 二级域名是顶级域名 一级域名 的下一级比如mail heetian com和bbs heetian com是
  • Fusionstorage Cinder架构

    由于最近一个月加班开发一个云存储产品 fusionstorage cinder 之前也没有碰过云存储这方面的知识 于是花了很长一段时间去学习了解它的架构 首先我们要知道云存储是什么 云存储其实是在云计算概念上延伸出的一个新概念 通过集群应用