Gluster vs Ceph:开源存储领域的正面较量

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

引言:开源存储软件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所把持的存储市场。


相关文章
|
存储 弹性计算 关系型数据库
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
在我们选择阿里云服务器系统盘和数据盘时,如果是选择ESSD云盘,还需要选择云盘的云盘性能级别PL,PL性能级别有PL3、PL2、PL1、PL0四个性能级别的云盘规格,如果是通过阿里云的活动来购买云服务器的话,由于系统盘默认一般为20G或40G容量,可选的PL性能级别通常只有PL0(单盘IOPS性能上限1万)和PL1(单盘IOPS性能上限5万)可选择,有的用户肯能并不清楚ESSD云盘的性能等级之间有何区别,单盘IOPS性能指的是什么,本文为大家介绍一下ESSD云盘的云盘性能级别PL3、PL2、PL1、PL0相关知识点。
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
|
机器学习/深度学习 虚拟化
|
9月前
|
机器学习/深度学习 人工智能 机器人
阿里通义开源推理模型新王者!QwQ-32B:性能直逼671B的DeepSeek-R1
QwQ-32B 是阿里巴巴开源的新型推理模型,基于强化学习训练,具备强大的数学推理和编程能力,性能媲美更大参数量的模型。
917 8
阿里通义开源推理模型新王者!QwQ-32B:性能直逼671B的DeepSeek-R1
|
存储 测试技术 API
OpenStack的文件系统存储(Manila)
【8月更文挑战第24天】
418 2
|
前端开发 JavaScript 开发者
React 事件处理机制详解
【10月更文挑战第23天】本文介绍了 React 的事件处理机制,包括事件绑定、事件对象、常见问题及解决方案。通过基础概念和代码示例,详细讲解了如何处理 `this` 绑定、性能优化、阻止默认行为和事件委托等问题,帮助开发者编写高效、可维护的 React 应用程序。
551 4
|
缓存 监控 负载均衡
nginx相关配置及高并发优化
Nginx的高并发优化是一个综合性的过程,需要根据具体的业务场景和硬件资源量身定制。以上配置只是基础,实际应用中还需根据服务器监控数据进行持续调整和优化。例如,利用工具如ab(Apache Benchmarks)进行压力测试,监控CPU、内存、网络和磁盘I/O等资源使用情况,确保配置的有效性和服务的稳定性。
509 0
|
存储 监控 API
OpenStack有哪些主要组件?
【8月更文挑战第21天】
2844 2
|
域名解析 网络协议 Ubuntu
docker快速部署DNS,实现快速上线
docker快速部署DNS,实现快速上线
|
Dart Java 编译器
Android编译器及编译工具之编译器
习惯了IDE以及各种现成的编译工具为我们提供便捷的编译方式,我们很少会操心编译工具的编译过程和原理,但是工具越高级,隐藏的细节就越多,这样编译遇到问题时我们难以定位,遇到复杂的项目(尤其跨平台项目难以用ide)时不知如何下手。所以准备写两篇关于编译器和编译工具的文章。本文先来介绍编译工具。
476 0
|
消息中间件 缓存 NoSQL
设计一个高并发场景下的Python Web应用架构。
在高并发Python Web架构中,关键组件包括负载均衡器用于分散请求,应用服务器如Gunicorn与Docker部署多实例,缓存如Redis提升数据访问速度,优化后的数据库(如MySQL或MongoDB),消息队列如RabbitMQ处理异步任务,通过横向扩展增加服务器,监控和日志系统确保稳定性,代码优化减少不必要的操作,CDN加速静态资源,以及自动化部署和弹性伸缩工具适应负载变化。性能测试和优化是保证系统稳定性的关键。
399 4