Gluster和Ceph 开源存储首先都能为用户带来很大的成本优势,如果做比较的话,哪个易用性更强,性能更高呢?
开源的Ceph和Red Hat Gluster都是成熟的技术,随着横向扩展存储和云计算的发展,基于开源软件的存储解决方案将进入市场。
Ceph和Gluster有很大区别,Ceph是对象存储,它有一系列关于块,文件和对象的API。Ceph集群的拓扑结构是围绕复制和信息分发而设计的,内在设计提供很强的数据完整性、一致性。
红帽的Gluster其实是横向扩展的NAS,同时有对象存储。它用哈希算法把数据存放在存储池,跟Ceph有些类似。所有的节点服务器都能做哈希计算,以此来找出数据正确的存放位置,所以,是去中心化的结构,没有像Hadoop那样的访问瓶颈。
Ceph和Gluster有类似的数据分布能力。Ceph在跟大多数对象存储软件一样,能跨多个大型节点集将数据条带化,以此来避免存储访问瓶颈。
由于Ceph的默认数据块很小,只有64KB,所以,数据流会分解成很多随机的IO操作,而通常磁盘随机IOPS只有150左右,即使是磁盘的IOPS提升一下也不会有什么大的变化,因此较大数据块通常能比较有效地提高数据传输的效率。
Gluster默认的数据块为128KB,这也是红帽宣称测试中Gluster性能超越Ceph的主要原因,其实这主要是配置改动造成的,其实Ceph的数据块也可以修改啊,如果改成256KB甚至1MB的话,性能也是杠杠滴。所以,有时候,Benchmark并不能说明一切。
再来看看横向扩展的性能,两个系统都能避免单点故障,线性扩展方面差别不大,数据压缩、重复数据删除方面的性能表现两者也没有明显区别。
Ceph支持把日志写到SSD,所以能显著提升性能,同时又因为支持缓存和分层技术,所以能提升灵活性和经济性。
Ceph特别擅长恢复故障盘,由于数据分布在大节点集群上,磁盘能够并行地从其他副本写入数据,这样可以减少重建时间,同时又不会把压力放到任何单一硬盘上。这一特性在大型集群中的作用更为明显。
Ceph和Gluster的安装和管理都比较简单,但做一个长期规划就需要花点时间了。Inktank Ceph Enterprise就比较复杂了,因为它的文件系统,块访问,远程复制等功能都是内置的服务,Gluster也是如此,所以,这是Ceph相对于Gluster的一大优势,所以Gluster的安装量不如Ceph。
无论是Ceph还是Gluster,两者都以合理的价格提供服务选项。基本代码是公开免费的,但也有像红帽Inktank Ceph提供的Licence服务。与传统的存储相比,Ceph和Gluster提供的价值已经相当高了,因为Ceph和Gluster用的都是商用化的标准通用硬件,价格上便宜多了。
由于有丰富的功能特性、出色的性价比,Ceph和Gluster对传统的专有存储提供了很好的替代性。未来在市场上的份额会逐步扩大,对EMC和NetApp为主的存储产业格局带来影响。