作者:陈江 2018-06-21 16:20:48
云计算 云上存储产品主要有对象存储,块存储,网络文件系统(NAS),还有最赚钱的CDN,我们将针对这些主流产品,讲讲他们产品特点,有云上存储时候知道如何选型。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了新吴免费建站欢迎大家使用!
云上存储产品主要有对象存储,块存储,网络文件系统(NAS),还有***钱的CDN,我们将针对这些主流产品,讲讲他们产品特点,有云上存储时候知道如何选型,当然我们是技术型作者也会简单讲讲实现思路,出于信息安全,不可能完全阐述工业界方案。 工业界各大厂商很多上层存储产品都重度依赖底层文件系统,我们也捎带说说存储祖师爷DFS。
一、Linux IO STACK
云计算本质就是单机计算能力的***扩展,我们先看看单机的文件及IO管理。 linux操作系统一个IO操作要经由文件系统vfs,调度算法,块设备层,最终落盘
二、存储产品架构流派
1. 分层或平层
如hbase,底层基于hdfs文件系统,hbase不用考虑replication,专注于自身领域问题
特点:大大降低开发成本,稳定性依赖底层存储,底层不稳定,上层遭殃。
2. 竖井
自己做replication,自己做副本recover,自己做写时recover
master-slave体系架构
两层索引体系,解决lots of small file:
DFS
3. 特点
丰富类posix语意,特点Append-only存储,不支持pwrite
4. 可能存在问题
5. 演进
GFS2拆分了namenode,拆分成目录树,blockservice,外加ferdaration,但namespace集中式server缺陷依旧,同时切分image是要停服,水平扩展不是那么友好。
三、对象存储
1. 元数据管理
Blobstorage: blobid->[raw data]
Metastore,aws s3又称为keymap,本质上是个kv系统。存储内容file_url->[blobid list]
2. I/O 路径
3. 特点
基于http协议 ws服务,接口简单,put/get,延时高。 EB级别存储方案,适合云上产品形态。深度目录树变成两层目录结构(bucket+object)。
4. 缺点
posix语意接口太少,不提供append语意(其实是通过覆盖写提供),更别说随机写。
四、块存储
1. iscsi模型
与后端交互的的部分在内核实现,后端target解析iscsi协议并将请求映射到后端分布式存储
2. 特点
3. 实现模型
云盘逻辑卷按block切分,为了便于recover,按1G切分,***层路由由blockManager管理,按volumeid+offset 映射到逻辑block,逻辑block location在三台blockserver上。Blockserver预先创建一个1G文件(falloc,防止写过程中空间不够),称为物理block。对于逻辑卷这段区间所有的IO操作都会落到这个物理block文件上,很容易实现pwrite。当然也可以基于裸盘,在os看来是一个大文件,分割成不同的1G文件
4. IO路径
块设备上层会有文件系统,经过io调度算法,合并io操作,isici协议发出的IO请求的都是对扇区LBA的操作,所以可以简单抽象成对于卷id加上偏移的操作,我们简单讲讲EBS(Elastic Block Store)层IO路径:
5. 优化
五、NAS
用户通过mount目录访问共享文件,mount点挂在的是一个NFS协议的文件系统,会通过tcp访问到NFS server。
NFS server是一个代理,通过libcfs最终会访问到我们后端的存储系统。
1. 后端存储系统
DS包含管理inode的metastore和datastore
(1) metastore
我们充分吸取业界DFS缺点,解决Namenode集中式server瓶颈,充分考虑bigtable的各种优点。Metastore可基于分布式数据库(newsql),回想一下bigtable,一个用户的文件散落在多个tabletserver上,允许用户跨tabletserver rename操作,所以需要分布式事务完成上述保证,出于对DFS改进,我们把目录树持久化 模仿linux fs dentry管理,映射规则如下 两张表,dentry表和inode表,dentry表描述目录树,inode表描述文件block列表及atime,mtime,uid,gid等源信息,一般来讲硬链够用,该场景下dentry可以多份,共同指向一个inode。 dentry通过外健关联到inode表
(2) Dentry表
(3) Inode表
比如lookup 子节点
- SELECT i.* FROM Dentry d, Inode i WHERE d.PARENT_DID=$PARENT_ID AND d.NAME=$NAME AND d.FSID=$FSID and i.inode_id = d.inode_id;
(4) datastore
特点:要求提供随机写,所以跟块存储EBS设计思路是一样的,大文件切块,按块组织,dataserver上有真实的物理block文件,提供pwrite操作。
2. 特点
弹性容量,不限容量,多机挂载并行读写,IO线性增长,支持随机写 比块存储优势在于用多少花多少,不需要提前申请容量,真弹性
3. 缺点
vfs层 dentry lookup每个层级目录会发起rpc,延时高。
六、总结
【本文为51CTO专栏作者“大数据和云计算”的原创稿件,转载请通过微信公众号获取联系和授权】
本文题目:云存储产品浅析
文章起源:http://www.mswzjz.cn/qtweb/news13/95413.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能