剖析OpenStack存储

作者:陈海洋 来源:IBM

 

Openstack 通过5 年多的发展,变得越来越庞大。这也是为了满足更多不同的需求,体现出开源项目灵活快速的特性。本文不是关于Openstack 存储相关组件的配置,而是以OpenStack H版本为例,介绍存储入门的一些必要理论知识。

 

OpenStack 存储技术

OpenStack 其实有三个与存储相关的组件,这三个组件被人熟知的程度和组件本身出现时间的早晚是相符的,按熟悉程度排列如下:

Swift—提供对象存储(Object Storage),在概念上类似于 Amazon S3 服务,不过 swift 具有很强的扩展性、冗余和持久性,也兼容 S3 API。对象存储支持多种应用,比如复制和存档数据、图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web 应用创建基于云…

详细内容

OpenStack Liberty版本更新日志——核心服务

OpenStack Liberty版本更新日志中文版本由北京休伦科技CTO孙琦完成翻译,第一时间呈现给国内OpenStack用户。

由于篇幅过长,我们将把更新日志分为三个部分呈现——核心服务、扩展服务新增服务

OpenStack 计算服务( Nova)

新功能

API

· 为所有的endpoints默认使用v2.1的API,v2.0和v1.1使用了新的兼容模式,对已经使用API的用户过渡更平稳。(  https://blueprints.launchpad.net/nova/+spec/api-relax-validation )

· Evacuate机制更加健壮( 局部)( https://blueprints.launchpad.net/nova/+spec/robustify-evacuate)

· 新的”将主机标记为down”/“强制down”的API,当…

详细内容

OpenStack Swift源码导读之——可插拔的后端设备实现

作者:童燕群

Swift作为一个存储的具体实现出现在OpenStack中,与Cinder的定位有差别,这导致Swift的兼容并包性不够强。必须基于XFS 文件系统来存储数据?显然Swift也希望能将数据存储到更多的后端设备中,这样Swift可以与具体的XFS文件系统解耦,作为独立的存储软件存在。这 能使得Swift存储的构建更加灵活,同时也能吸引更多的存储厂商投入到其怀抱中。

Swift提供了一种简单机制来实现后端存储设备的pluggable——可插拔的后端。这篇文章想探讨一下该机制。在亚特兰大峰会上面,这一特性是Swift的热门话题之一,对于亚特兰大OpenStack峰会涉及Swift的话题这里有汇总:链接

 

看起来很有意思的创举,细看起代码来,其实挺简单的。有句话说,代码之外,了无秘密。Swift对于存储介质的要求其实挺简单的,提供读取,写入接口,…

详细内容

最佳的开源云项目有哪些?

Linux.com和The New Stack联合起来做了一个调查:你认为的最受欢迎的开源云项目是哪些?调查涵盖了hypervisors、IaaS、PaaS、管理和服务开通和其它类别的开源项目。所有项目较为成熟的、有规模的开源云项目。
下一代的企业正在使用开放云技术打造完全不同的自己。开源云项目定义了一种新的方法,来构造和管理企业的应用和系统。你的选择将有助于鉴定和识别出那些最受欢迎的开源云项目。

调查(地址:http://svy.mk/1nhzNdZ)涵盖了hypervisors、IaaS、PaaS、管理和服务开通和其它类别的开源项目。每个类别中的项目与Linux Foundation在2013年11月发布的白皮书Understanding the Open Cloud中的一致,另外主办方的编辑也增加了一些新项目。所有项目都是开源生态圈中较为成熟的、有规模的开源云项目。

所…

详细内容

Swift和Keystone单机安装总结

一般网上搜索到的资料都是介绍整个Openstack的安装过程的,通常都是长篇累牍,非常复杂。因为个人的虚拟机环境,没有太高调配置,不可能完整运行Openstack的各种服务,只想体验一下Swift,于是试着只安装Swift和Keystone。对于Openstack支持最好的也就算是Ubuntu发行版了,甚至在较新的13.0版以上都直接集成了。

因为只安装单机版本的Swift和Keystone,因此不需要双网卡,所有业务和控制都走一个网络即可。网络规划简单。

首先,下载安装Ubuntu,这里选择12.04 LTS版本。安装软件包:

通用工具:sudo apt-get install openssh-server
Keystone:sudo apt-get install keystone python-keystone python-keystoneclient
Swift...

详细内容

OpenStack中国社区周报 (6/16-6/22)

作者:郑晨, OpenStack中国社区 ,转载请注明出处

编者按:OpenStack中国社区为了让中国的Stacker亲们更加及时准确地了解OpenStack社区和全球的行业动态,特别推出同步www.openstack.org/blog,superuser.openstack.org/ 以及 Mirantis OpenStack Now (http://www.mirantis.com/openstack-portal/)中文翻译,本社区不会全部直译,合适地方会采用意译,希望对大家有帮助,也虚心接受大家意见建议,提高翻译水准;另外,本社区也会加上一些国内的OpenStack技术分享,行业信息,OpenStack中国活动信息,欢迎各路专家学者积极投稿(投稿信箱: editor@openstack.cn)。

OpenStack官方新闻

一、Marconi:与AMQP说再见

在…

详细内容

对象存储(Object-based Storage)概述

作者:@刘爱贵  博客:http://blog.csdn.net/liuaigui

什么是对象存储?多次在不同场合被问起这个问题,于是就想写篇小综述文章。网上查找资料时,找到几篇不错的资料,简单整理一下,供自己和大家参考。什么是对象存储(OSD)?
存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD1999年成立的全球网络存储工业协会(SNIA)的对象存储设备(Object Storage Device)工作组发布了ANSI的X3T10标准。总体上来讲,对象存储(Object-Based Storage, OBS)综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分…

详细内容

为 Hadoop 的存储层增加对 OpenStack Swift 的支持

在 Hadoop 中有一个抽象文件系统的概念,它有多个不同的子类实现,由 DistributedFileSystem 类代表的 HDFS 便是其中之一。本文将探讨通过编写 Swift 适配器,将 OpenStack Swift 对象存储作为 Hadoop 的底层存储,为 Hadoop 的存储层增加对 OpenStack Swift 的支持,最终达到功能验证(Functional POC)的目标。本文基于 Hadoop 1.0.4 和 OpenStack Swift 1.7.4。

 

背景

在 Hadoop 中有一个抽象文件系统的概念,它有多个不同的子类实现,由 DistributedFileSystem 类代表的 HDFS 便是其中之一。在 Hadoop 的 1.x 版本中,HDFS 存在 NameNode 单点故障,并且它是为大文件的流式数据访问而设计的,不适…

详细内容

分布式存储系统(GlusterFS,Swift,Cassandra)设计对比

作者:@liuhong1123

几年下来,前前后后接触过几个存储系统了,感觉接触多了,发现不同系统在设计的时候大都采用相似的理论,因此就梳理下。

分布式存储比较

总结:

1、 文件定位:三者均采用hash算法,另外amazon的Dynamo也是采用一致性哈希;还有采用中心路由的定位方式:如HBASE,HDFS。哈希算法的特点是读写速度比较快,但是如果增减机器会造成数据移动,采用一致性哈希算法并引入虚节点的机制可以大大减少数据的移动。中心路由机制增减节点不会造成数据移动(但是为了数据均衡,生产中常常还是会执行负载均衡操作,从而也会引起数据块移动)。

2、 数据恢复方式:GlusterFS采用了与Zookeeper类似选举leader节点的算法方式,一般情况下,该算法没什么问题,但在具体实现中,GlusterFS在某些特殊情况下可能出现脑裂,即GlusterFS不能选举出来哪份…

详细内容

Openstack Swift 原理、架构与 API 介绍

——Openstack Swift 开源云存储技术解析

OpenStack Swift 开源项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。本文将深入介绍 Swift 的基本设计原理、对称式的系统架构和 RESTful API。

背景与概览

Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务。Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题。

此项目是…

详细内容