对分布式存储系统设计架构的理解
1传统存储
今天和大家浅谈一下分布式存储设计方面我个人的一些理解。首先声明我本人不是做研发的,只是一个有着10年左右存储行业经验的普通工程师和产品经理。最早接触存储是在2010年,那时候说起存储大多指的是双控制器的磁盘阵列,比如:EMC、IBM、HDS等,除了双控制器架构还有多控制器的所谓高端存储,这些统称企业级存储。不过不管是中端的还是高端的,对于普通工程师来说都是一个黑盒子,我们并不知道其内部架构是什么样的,是怎么设计的,所了解的也只不过是产品的规格参数啦,功能特性啦,基本上把这些跟用户讲明白,也就够了。小编我曾经做过产品经理,和公司研发的同事了解过控制器架构的存储底设计的一些关键技术,比如Non Transparent Bridge(非透明桥):简单的理解就是通过PCIE把两个控制器连接在一起了。而为了使两个机器连接在一起,就发明了一种特殊的设备叫做非透明桥,桥的两端是连接在两个控制器的PCIE的总线上的,但是从任意一端,只能看到这个桥,看不到这个桥后面接的下一级设备,这就是所谓的“非透明”(因为一般的桥是透明的,你能看到桥后面的东西)。非透明桥就是用来做双控制器的cache mirror,所谓的缓存镜像,而现在的分布式架构很少有人用到这个技术。
2分布式存储与传统存储的区别
然而,时过境迁,随着网络技术、分布式文件系统、计算机硬件的蓬勃发展,目前的存储系统除了刚才提到的控制器架构的产品,基于X86通用服务器平台的分布式存储系统逐渐成为主流的存储形态。区别于控制器架构的存储系统的专用硬件,分布式存储系统是运行在通用的X86 PC上的,在软件层面上基于分布式文件系统(ceph、Lustre、Gluster、GPFS等),节点间一致性同步通过(ETCD、Zookeeper等)技术实现。现在我们通常把之前控制器架构的存储成为传统存储,以区别于现在的分布式存储系统,我简单把二者的区别罗列了一下,如下表:
2分布式存储与传统存储的区别
上图是我和研发的同事聊出来的关于分布式存储系统设计的宏观架构,大体上可以分为Base Platform(基础平台)、Platform Service(平台服务)、Data Path(数据路径)和Control Path(控制路径)这几个层面。其中:
- Base Platform(基础平台):主要实现对物理的盘的管理,如:监控、故障处理、系统出现故障后的降级处理以及对热备磁盘的管理等;另外通过ETCD或者Zookeeper等技术实现在所有节点间的配置信息同步,集群状态缓存,一致性,心跳等功能。同时在这一层还要实现对于服务的监控、用户的管理以及系统镜像文件的管理;
- Platform Service(平台服务):这一层主要功能有两方面,一是会为整个存储系统提供各种的服,如:NTP、SNMP、DNS、浮动IP 域 (表示IP浮动的范围)等;二是会提供日志收集、回滚、磁盘LED、Core dump等支持组件;
- Data Path(数据路径):中存储前端服务提供的是协议和语义,比如文件,块,nfs,smb;而后端提供地址空间,也就是把一堆盘窜成一个大存储池子;
- Control Path(控制路径):这一层提供的就是存储系统对外的管理方式,当然目前通常要支持全中文图形化的管理、对于高级功能要提供命令行的管理等方式了。
以上是一个分布式存储系统大体的一个设计架构,当然也是一个比较宏观的架构,其实具体还有很多的细节没有展现。
对分布式存储系统设计架构的理解相关推荐
- 分布式存储系统设计的几个问题和考虑点
http://www.xupifu.com/2017/04/08/distributed-storage-system-topics/ 数据的可靠性是任何一个存储系统的第一要务,之后才是根据实际业务场 ...
- 我对架构的理解-概念篇
这两天和一朋友讨论这样一个问题:你认为公司的架构怎样,有哪些缺点? 其实在回答这个问题之前,有一些概念需要搞清楚,那就是什么是架构? 目前对于架构还并未有一个统 ...
- 软考_系统设计架构师--备考重点建议与心得
软考系统设计架构师--下午案例分析题--重点热门考题 软考系统设计架构师--下午案例分析题(重点热门考题) [软件架构设计与评估案例分析题] [软件系统建模案例分析题] [数据库设计案例分析题] [W ...
- 对前端架构的理解 - 分层与抽象
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 可能一些同学会认为前端比较简单而不需要架构,或者因为前端交互细节杂而乱难以统一抽象,所以没办 ...
- BlockChain:《Blockchain Gate》听课笔记——区块链的1.0架构 VS 区块链3.0架构+个人理解
BlockChain:<Blockchain Gate>听课笔记--区块链的1.0架构 VS 区块链3.0架构+个人理解 相关文章 BlockChain:<Blockchain G ...
- 云技术-SaaS架构初步理解
最近公司准备整一个SaaS的东西.有幸参入这一块东西的搭建,借着這个机会也重新好好梳理了一下对SaaS的认识.今天整理一下! 一.云计算与SaaS 说起SaaS,就得先说说云计算了.关于云计算分为三层 ...
- 阿里道延:我对技术架构的理解与架构师角色的思考
我叫道延, 2014 年加入阿里,在阿里通信工作了近两年.2016 年年底加入业务平台团队,当时 Leader 找我的第一件事就是要解决大促的问题,第二件事就是解决安全生产的问题. 我带着这个命题进入 ...
- 对微服务监控系统分层和监控架构的理解
对微服务监控系统分层和监控架构的理解 目录 微服务专栏地址 目录 1. 简介 2. 为什么需要监控体系 3. 与单体应用有什么区别 4. 要监控什么 5. 监控体系和分层 6. 监控架构和主流技术栈 ...
- 新的一年,谈谈我对技术架构的理解
作者 | 道延 责编 | 张文 来源 | 转载自阿里巴巴中间件(ID:Aliware_2018) 我叫道延, 2014 年加入阿里,在阿里通信工作了近两年.2016 年年底加入业务平台团队,当时 ...
最新文章
- CSDN:解决粉丝网友集中问题留言处,把你所有的问题在留言处留言,我会一一回答
- 北斗导航 | GNSS卫星导航天线在车载高精度定位领域中的应用与挑战
- SVN目录结构及作用
- 交流继电器rc吸收电路_使用固态继电器的注意事项
- Radware:安全信息的传送可以加速网络攻击的防御
- 【caffe-Windows】mnist实例编译之model的生成
- linux 命令案例学习——文件搜索
- Xor Sum(AtCoder-2272)
- Magento: 获取类别所有子类别 (无限级别-目录树) Get All Sub Categories
- 基于顺序存储结构的图书信息表的创建和输出(C++)
- zabbix 自定义监控项 获取nginx监控状态
- 信号之sleep函数
- IaaS、PaaS、SaaS
- 中国数字牙科X光机市场趋势报告、技术动态创新及市场预测
- 什么是DNS Spoofing, DNS Hijacking, and DNS Cache Poisoning?
- FaceX-Zoo: A PyTocrh Toolbox for Face Recognition
- 寒武纪“失速”,是AI芯片行业的阵痛?
- JavaScript学习笔记(三)---事件、正则表达式、ES6、运动
- 《Java标准教程》pdf 附下载链接
- 【转】可以让你迅速发财的23种盖世奇功