https://www.oschina.net/news/49048/gluster-vs-ceph

引言:开源存储软件Ceph和Gluster能够提供相似的特性并且能够为用户节省不小的开支。那么谁更快?谁又更易用呢?

开源的Ceph及Red Hat旗下的Gluster都是成熟的技术,但兴许不久之后就将经历某种重生了。随着存储产业开始向扩展性存储及云的方向发展,将不断会有基于这些低价的软件技术的产品推向市场,而对这些自集成解决方案的补充在近一年来不断涌现。

Ceph与Gluster在原理上有着本质上的不同。Ceph基于一个名为RADOS的对象存储系统,使用一系列API将数据以块(block)、 文件(file)和对象(object)的形式展现。Ceph存储系统的拓扑结构围绕着副本与信息分布,这使得该系统能够有效保障数据的完整性。

而Red Hat将Gluster描述为可扩展的网络存储设备(Scale-out NAS)和对象存储系统。它使用一个哈希算法来计算数据在存储池中的存放位置,这点跟Ceph很类似。并且这是保证扩展性的关键。在Gluster中,所 有的存储服务器使用哈希算法完成对特定数据实体的定位。于是数据可以很容易的复制,并且没有中心元数据单点这样一个容易造成访问瓶颈的部分,这种单点在早 期Hadoop上出现,对性能和可靠性造成较大影响。

Ceph与Gluster有着相似的数据分布能力。Ceph像大多数对象存储软件那样,通过更大的节点集进行数据条带化处理。这样的好处是能够防止数据访问的瓶颈效应。

因为默认的Ceph块比较小(仅为64KB),所以数据流被切分为许多随机的IO操作。而磁盘在随机IO的时候一般能够达到最大值(对HDD而言最 多达到150次每秒),并且这个数值不会随传输的数据大小改变多少。所以对于Ceph而言,设置更大的IO块意味着能够一次聚合传输更多的数据。

Gluster默认的块大小是128KB。这是Red Hat声称在一项基准测试中Gluster的性能是Ceph的三倍的主要原因。当然,测试者用了一些小技巧,所以测试结果是参数设置及实验调优的结果。 Ceph能够将块大小从64KB设置为256KB甚至1MB,这么做也能使Ceph的性能得到不小的提升。

基准测试的门道相当复杂。块大小的设置能够左右Ceph与Gluster的性能对比。想要得到公平的比较结果,就必须依赖第三方不带任何偏见的进行测试。显然,Red Hat的报告有着显著的误导性。

回头再来看两者的扩展性能。两个系统都避免了单节点的存在,因此可以近乎线性的进行扩展。重复数据删除不会对性能造成太大的差异。两者的服务器端的压缩技术减轻了磁盘利用及网络负载双方面的压力,并且降低了每个文件的磁盘IO次数。

Ceph file journals技术能够向SSD设备中写从而使得性能大幅度提升。并且支持缓存(Caching)或分层(Tiering),配置方式可简可繁。

Ceph在恢复损坏的磁盘时有优势。因为,Ceph相比Gluster将数据放置在一个更大的节点集中,有更多的设备(磁盘驱动器)能够同时输入副本数据。这将大大缩短数据重建的时间,且不会显著增加某个磁盘设备的负载。在大规模的集群中,这是一个显著的优势。

两个系统的安装和运维都相当简单,但如果规划要做长期的部署则必须花费一些时间认真准备。存储管理员会发现Inktank为Ceph提供了一些更为 精细的操作,因为Ceph对文件系统、块访问以及远程复制等操作都是采用内建函数的方式,而不像Gluster那样采用插件的方式。这给了Ceph很大的 优势,也是为什么Ceph能够在安装上领先Gluster的原因。这能够很轻松的解决块迁移的问题并且提供单个存储池的管理。

诚然,两者在合理的代价下为用户提供了较强的可选性。两者的源代码都是开源且免费的,Inktank和Red Hat公司则提供支持服务及管理工具包。相比传统的存储,随着通用型硬件及存储设备(磁盘)价格的不断下降,Ceph和Gluster都体现出越来越大的价值。

因为很好的功能、不错的性能以及在价格方面的优势,Ceph以及Gluster在昂贵的专用存储之外提供了一种可行的解决方案,可以预见它们将会得到市场的青睐,并且有可能撼动由EMC或NetApp所把持的存储市场。

Gluster vs Ceph:开源存储领域的正面较量的更多相关文章

  1. Ceph与Gluster之开源存储的对比

    一.Ceph与Gluster之开源存储的对比 一.Ceph与Gluster的原理对比 Ceph和Gluster是Red Hat旗下的成熟的开源存储产品,Ceph与Gluster在原理上有着本质上的不同 ...

  2. 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制

    背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...

  3. 你需要知道的MySQL开源存储引擎TokuDB

    在四月份的Percona Live MySQL会议上, TokuDB庆祝自己成为开源存储引擎整一周年.我现在仍能记得一年前它刚创建时的官方声明与对它的期望.当时的情况非常有意思,因为它拥有帮助MySQ ...

  4. Ceph分层存储分析

    最近弄Ceph集群考虑要不要加入分层存储 因此花了点时间研究了下 1,首先肯定要弄清Ceph分层存储的结构 ,结构图大概就是下图所示 缓存层(A cache tier)为Ceph客户端提供更好的I/O ...

  5. Ceph对象存储网关中的索引工作原理<转>

    Ceph 对象存储网关允许你通过 Swift 及 S3 API 访问 Ceph .它将这些 API 请求转化为 librados 请求.Librados 是一个非常出色的对象存储(库)但是它无法高效的 ...

  6. 006.Ceph对象存储基础使用

    一 Ceph文件系统 1.1 概述 Ceph 对象网关是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关 . Ceph 对象存 ...

  7. Ceph块存储介绍

    1. 块存储是什么 块存储简称RBD(RADOS Block Device),是一种有序的字节序块,也是在Ceph三大存储类型中最为常用的存储方式 ,Ceph的块存储是基于RADOS的,因此它也借助R ...

  8. 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例

    ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...

  9. 二十八. Ceph概述 部署Ceph集群 Ceph块存储

    client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚 ...

随机推荐

  1. gnu screen的用法

    在使用ssh或者telnet登录远程主机后执行一些耗时的命令, 如果此时ssh或者telnet中断, 那么远程主机上正在执行的程序或者说命令也会被迫终止. screen能够很好地解决这个问题, scr ...

  2. public-private-protected-默认缺省 的区别

    public 公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问 . private 私有,和public相反,加上这个修饰的属性和方法,只允许在本类中访问. protected 保护,位于 ...

  3. [转]nonlocal和global

    在Python中,当引用一个变量的时候,对这个变量的搜索是按找本地作用域(Local).嵌套作用域(Enclosing function locals).全局作用域(Global).内置作用域(bui ...

  4. TCP连接建立与释放

    tcp建立连接 tcp连接的建立需要经历”三次握手“的过程.过程如下 client发送SYN包(值为j)以及SEQ包到server端,此时client进入SYN_SEND状态.此为第一次握手. ser ...

  5. OpenCV 学习笔记 01 安装OpenCV及相关依赖库

    本次学习是基于Window10进行的.语言为python3. 1 与opencv相关的库简介 1.1 numpy numpy 是 OpenCV 绑定 python 时所依赖的库,此意味着numpy在安 ...

  6. Twitter Bootstrap 中文帮助文档

    http://wrongwaycn.github.io/bootstrap/docs/index.htmlTwitter Bootstrap 中文帮助文档 翻译得很不错~~~ 但是,还是要看英文文档 ...

  7. Android Studio找不到FragmentActivity类

    右击项目——>open module settings——>选择第五个选项卡“Dependencies”——>点击加号——>选择第一个Library dependency——& ...

  8. 【转】不要去SeaWorld

    不要去SeaWorld 很多人喜欢海洋动物,比如海豚和“杀人鲸”(orca),但是我建议不要去海洋世界看它们.海豚和杀人鲸都是有灵性的,跟人类的智慧很接近,而且对人极其友好的动物.“杀人鲸”名字吓人, ...

  9. 【转】完全用Linux工作

    我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. NU/Linux 不是每个人都想用的.如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了. 我不是 ...

  10. 关于switch语句中使用String类型的实现原理

    在Java 7 以后,switch语句可以用作String类型上. 从本质来讲,switch对字符串的支持,其实也是int类型值的匹配.它的实现原理如下: 通过对case后面的String对象调用ha ...