两大主流开源分布式存储的对比:GlusterFS vs. Ceph

存储世界最近发生了很大变化。十年前,光纤通道SAN管理器是企业存储的绝对标准,但现在的存储必须足够敏捷,才能适应在新的基础架构即服务云环境内运行。

GlusterFS和Ceph是在现代云环境中表现最出色的两个敏捷存储系统。

在讲述GlusterFS和Ceph的相同点和区别之前,我们先谈一谈云环境中敏捷存储的一些关键点。

纵向升级和横向扩展。在云环境中,很容易向服务器添加更多存储空间和扩展可用存储池。Ceph和GlusterFS都符合这一需求,让新的存储设备可以轻松融入现有存储产品环境。

高可用。GlusterFS和Ceph都会使用复制方法将数据同时写入不同存储节点。这种运作模式会增加读写次数,但同时也确保了数据的可用性。以Ceph为例,数据在默认情况会被复制到三个不同的节点,确保数据副本一直可用。

通用的硬件。GlusterFS和Ceph的开发基础都是Linux操作系统(OS)。因此,对于硬件的唯一要求就是:能够正常运行Linux即可。由于几乎任何商品硬件都能运行Linux操作系统,只要选择这些存储技术,这些技术的使用单位就可以大幅节省硬件投入。实际上,有许多公司也正在投资专用于GlusterFS或Ceph的硬件平台,因为专门优化的硬件可以更快速高效地访问存储空间。

去中心化。正常的云环境绝对不会出现某个中心节点故障而引起的失效。对于存储系统而言,这就意味着不应该使用单个中央位置来保存元数据。GlusterFS和Ceph的解决方案实现了元数据访问分散化,从而提高了存储访问的可用性和冗余性。

接下来我们来谈谈GlusterFS与Ceph的差异和对比。顾名思义,GlusterFS是来自Linux世界的文件系统,并且完整遵守POSIX便携式操作系统接口标准。尽管您可以轻而易举地将GlusterFS集成到Linux的环境中,但是让GlusterFS和Windows环境紧密配合同样至关重要。

Ceph是一种全新的存储方法,被定义成Swift对象存储的一种实现。在对象存储中,应用程序不会直接写入文件系统,而是使用存储设施提供的直接API访问写入存储。因此,应用程序能够绕过操作系统的功能和限制。如果应用程序已经针对Ceph存储编写读写接口,那么应用程序的读写就和操作系统无关。结果是,在Windows环境中集成使用Ceph存储就和在Linux系统中一样简单。

当然,基于API来访问存储并非应用程序访问Ceph的唯一途径。为了实现最佳集成,Ceph也提供一个块设备接口,可以在Linux环境中作为常规块设备使用,使您能够使用Ceph来模拟常规Linux硬盘。Ceph还有CephFS,这是一个针对Linux环境编写的Ceph文件系统。

最近,SUSE已经添加了一个iSCSI接口,使得运行iSCSI客户端的客户端能像访问任何其他iSCSI目标一样访问Ceph存储。所有这些功能使Ceph成为异构环境的最佳选择,而不仅仅适用于Linux操作系统。

综上所述,Ceph是一个更容易集成到非Linux环境中的更灵活的产品。对于许多公司来说这就有足够的理由决定在Ceph而不是GlusterFS上构建存储产品。但是对于只需运行Linux的环境,灵活性不是重点,所以让我们再谈谈其他非常重要的事情:速度。

在GlusterFS与Ceph的比赛中已经有过若干次测试,目的是证明这些存储产品中的某一种比另一种更快,然而迄今并没有明显的赢家。GlusterFS的存储算法更快,并且由于GlusterFS在节点块中使用更多的层次化组织方式,这在某些情况下可能实现更高的速度,特别是如果和未经优化的Ceph对比的话。但另一方面,Ceph也提供了丰富的定制灵活性,这足以让Ceph与GlusterFS同样快速,结果就是,两者的性能对比都不够令人信服,不足以证实自己能完全超越对方。

最后,现实表明,Ceph独特的存取存储空间的方法正在使其成为更受欢迎的技术。事实证明更多的公司正在考虑Ceph技术而不是GlusterFS,部分原因也在于GlusterFS仍然与Red Hat关系密切。例如,SUSE没有GlusterFS的商业实施案例,而Ceph已经被开源社区大量采用,市场上已经出现多种基于Ceph的产品。结论就是:在GlusterFS与Ceph的竞争战斗中,Ceph事实上已经比GlusterFS略胜一筹。

————————————————

版权声明:本文为CSDN博主「CloudXli」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/CloudXli/article/details/79681699

两大主流开源分布式存储的对比:GlusterFS vs. Ceph的更多相关文章

  1. 6 大主流 Web 框架优缺点对比:15篇前端热文回看

    摘自:http://blog.csdn.net/VhWfR2u02Q/article/details/78993079 注:以下文章,点击标题即可阅读 <6 大主流 Web 框架优缺点对比> ...

  2. 6大主流开源SQL引擎总结,遥遥领先的是谁?

    根据 O’Reilly 2016年数据科学薪资调查显示,SQL 是数据科学领域使用最广泛的语言.大部分项目都需要一些SQL 操作,甚至有一些只需要SQL.本文就带你来了解这些主流的开源SQL引擎!背景 ...

  3. 3大主流NoSQL数据库性能对比测试报告

    近日,知名独立基准测评机构Bankmark,针对目前市面上主流的NoSQL数据库SequoiaDB.MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试并发布测试报告.在所有的 ...

  4. 6 大主流 Web 框架优缺点对比(转)

    英文: Kit Kelly   译文:oschina https://www.oschina.net/translate/web-frameworks-conclusions 是该读些评论和做一些总结 ...

  5. Java Web J2EE下的两大框架SSH和SSM对比

    当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...

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

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

  7. 11大Java开源中文分词器的使用方法和分词效果对比

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

  8. 大数据领域两大最主流集群管理工具Ambari和Cloudera Manger

    不多说,直接上干货! 目前啊,都知道,大数据集群管理方式分为手工方式(Apache hadoop)和工具方式(Ambari + hdp 和Cloudera Manger + CDH).  手工部署呢, ...

  9. 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

随机推荐

  1. HTTP抓包

    1 概述 wireshark:全平台抓包工具,需要图形化界面,十分强大: httpry:http抓包插件,功能一般,操作简单: tcpdump:强大的抓包插件,支持多种网络协议. 2 httpry ( ...

  2. SQLAlchemy 在查询期间丢失与MySQL服务器的连接

    遇到问题 pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query') 建立的 pymysq ...

  3. restTemplate源码解析(三)创建ClientHttpRequest请求对象

    所有文章 https://www.cnblogs.com/lay2017/p/11740855.html 正文 上一篇文章中,我们大体看了一下restTemplate的核心逻辑.再回顾一下核心代码 p ...

  4. VBA术语(三)

    在本章中,将介绍常用的Excel VBA术语.这些术语将在很多的模块中使用,因此理解其中的每一个术语都很重要. 模块 模块是编写代码的区域.如下图中,这是一个新的工作簿,因此没有任何模块. 要插入模块 ...

  5. css:display:grid布局

    简介 CSS Grid布局 (又名"网格"),是一个基于二维网格布局的系统,主要目的是改变我们基于网格设计的用户接口方式.如我们所知,CSS 总是用于网页的样式设置,但它并没有起到 ...

  6. TypeScript入门八:TypeScript的命名空间

    初识命名空间(namespace指令) 命名空间与文件拆分 多重命名空间与三斜杠指令引入依赖文件 一.初识命名空间(namespace指令) TypeScript的命名空间可以说就是ES6的模块化,其 ...

  7. 使用Linux的tcpdump命令结合Windows的wireshark抓包和分析

    tcpdump简介 tcpdump是Linux系统下的一款抓包命令集,工作原理是基于网卡抓取流动在网卡上的数据包.在Linux系统中由于tcpdump命令的简单和强大,我们一般直接使用tcpdump命 ...

  8. C C++输出格式 <转载>仅用于个人

    转载链接:C++ C C语言输出格式总结 1 一般格式    printf(格式控制,输出表列)    例如:printf("i=%d,ch=%c\n",i,ch);    说明: ...

  9. AppMain

    @Controller@ComponentScan@Configuration@EnableScheduling@EnableAutoConfiguration(exclude={DataSource ...

  10. Ubuntu系统---C++之Eclipse IDE 编译器安装

    Ubuntu系统---C++之Eclipse IDE 编译器安装 Eclipse是一个基于Java的.开放源码的.可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境(Integrate ...