欢迎来到天天文库
浏览记录
ID:20905417
大小:35.00 KB
页数:6页
时间:2018-10-17
《openstack里的三种存储》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、WORD文档下载可编辑OpenStack里的三种存储发表于2013-03-2910:01
2、 6129次阅读
3、来源Eric或雪菲个人博客
4、 1 条评论
5、作者Eric或雪菲OpenStack存储摘要:Openstack通过两年多发展,变得越来越庞大。这也是为了满足更多不同的需求,体现出开源项目灵活快速的特性。Openstack作为一个开放的系统,最主要是可以随时选择新的硬件供应商,当然也可以替换软件技术服务的提供商,不用动应用。这是开源本身的优势!OpenStack其实有三个与存储相关的组件,这三个组件被人熟知的程度和组件本
6、身出现时间的早晚是相符的,按熟悉程度排列如下:Swift——提供对象存储(ObjectStorage),在概念上类似于AmazonS3服务,不过swift具有很强的扩展性、冗余和持久性,也兼容S3APIGlance——提供虚机镜像(Image)存储和管理,包括了很多与AmazonAMIcatalog相似的功能。(Glance的后台数据从最初的实践来看是存放在Swift的)。Cinder——提供块存储(BlockStorage),类似于Amazon的EBS块存储服务,目前仅给虚机挂载使用。(Amazon一直是OpenSta
7、ck设计之初的假象对手和挑战对象,所以基本上关键的功能模块都有对应项目。除了上面提到的三个组件,对于AWS中的重要的EC2服务,OpenStack中是Nova来对应,并且保持和EC2API的兼容性,有不同的方法可以实现)三个组件中,Glance主要是虚机镜像的管理,所以相对简单;Swift作为对象存储已经很成熟,连CloudStack也支持它。Cinder是比较新出现的块存储,设计理念不错,并且和商业存储有结合的机会,所以厂商比较积极。Swift专业技术资料分享WORD文档下载可编辑关于Swift的架构和部署讨论,除了官
8、方网站,网上也有很多文章,这里就不重复.(也可以参考我之前在OpenStack中国行活动中上海站演讲的PPT)。从开发上看,最近也没有太大的结构性调整,所以我想主要说说比较适用的应用领域好了。从我所了解的实际案例来看,Swift出现的领域有4个,(应该还有更多,希望大家看到实际用例能够指教)1.网盘。Swift的对称分布式架构和多proxy多节点的设计导致它从基因里就适合于多用户大并发的应用模式,最典型的应用莫过于类似Dropbox的网盘应用,Dropbox去年底已经突破一亿用户数,对于这种规模的访问,良好的架构设计是能
9、够支撑的根本原因。Swift的对称架构使得数据节点从逻辑上看处于同级别,每台节点上同时都具有数据和相关的元数据。并且元数据的核心数据结构使用的是哈希环,一致性哈希算法对于节点的增减都只需重定位环空间中的一小部分数据,具有较好的容错性和可扩展性。另外数据是无状态的,每个数据在磁盘上都是完整的存储。这几点综合起来保证了存储的本身的良好的扩展性。另外和应用的结合上,Swift是说HTTP协议这种语言的,这使得应用和存储的交互变得简单,不需要考虑底层基础构架的细节,应用软件不需要进行任何的修改就可以让系统整体扩展到非常大的程度。
10、2.IaaS公有云Swift在设计中的线性扩展,高并发和多租户支持等特性,使得它也非常适合做为IaaS的选择,公有云规模较大,更多的遇到大量虚机并发启动这种情况,所以对于虚机镜像的后台存储具体来说,实际上的挑战在于大数据(超过G)的并发读性能,Swift在OpenStack中一开始就是作为镜像库的后台存储,经过RACKSpace上千台机器的部署规模下的数年实践,Swift已经被证明是一个成熟的选择。专业技术资料分享WORD文档下载可编辑另外如果基于IaaS要提供上层的SaaS服务,多租户是一个不可避免的问题,Swift的
11、架构设计本身就是支持多租户的,这样对接起来更方便。3.备份归档RackSpace的主营业务就是数据的备份归档,所以Swift在这个领域也是久经考验,同时他们还延展出一种新业务--“热归档”。由于长尾效应,数据可能被调用的时间窗越来越长,热归档能够保证应用归档数据能够在分钟级别重新获取,和传统磁带机归档方案中的数小时而言,是一个很大的进步。4.移动互联网和CDN移动互联网和手机游戏等产生大量的用户数据,数据量不是很大但是用户数很多,这也是Swift能够处理的领域。至于加上CDN,如果使用Swift,云存储就可以直接响应移动
12、设备,不需要专门的服务器去响应这个HTTP的请求,也不需要在数据传输中再经过移动设备上的文件系统,直接是用HTTP协议上传云端。如果把经常被平台访问的数据缓存起来,利用一定的优化机制,数据可以从不同的地点分发到你的用户那里,这样就能提高访问的速度,我最近看到Swift的开发社区有人在讨论视频网站应用和Swift的结合
此文档下载收益归作者所有