存储概念
随着市场发展,存储按照使用方式主要划分为块存储、文件存储、对象存储三种存储类型。
块存储
块存储主要指将裸磁盘空间提映射给主机使用的存储。常见的块存储为硬盘和RAID。
文件存储
文件存储,也称为文件级或者基于文件的存储,它是以一种分层的结构存储数据。数据保存于文件和文件夹中,同样的格式用于存储和检索。文件存储可直接用于数据存放。
对象存储
对象存储,也称为基于对象的存储,是一种扁平结构,其中的文件被拆分成多个部分并散布在多个硬件间。在对象存储中,数据会被分解为称为“对象”的离散单元,并保存在单个存储库中,而不是作为文件夹中的文件或服务器上的块来保存。
存储架构
存储按照存储架构分为分布式存储和集中式存储。
集中式存储
集中式存储,是指由一台或多台主计算机组成中心节点,数据集中存储在中心节点上,且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理。其扩展方式为Scale-UP。
分布式存储
分布式存储,是一种将数据平均存放在多个节点的存储技术,通过网络将多台服务器组成存储集群,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散均匀存储。其扩展方式为Scale-OUT。
开源存储
存储产品有很多,常见的集中式存储主要由存储厂商把控,信息闭塞。而近些年分布式存储更受欢迎,分布式存储的也争夺了不少市场份额,最大的特点就是开源,大多数厂商可基于开源分布式存储进行二次开发,投入和开发成本较低。其次就是分布式存储的扩展更灵活,能够支持在线弹性扩展,由于近些年的业务增加,数据量剧增明显,大容量可扩展的存储是业务的不二选择。小编简单汇总了热度较高的几款开源存储产品进行简单探讨。
Ceph
Ceph是开源存储中最火最受欢迎的存储产品。受欢迎的主要原因是其丰富的功能在存储圈内号称无与伦比的存在。虽然Ceph的性能在开源存储圈内具有较大优势,但和圈内顶尖的商业存储相比,仍具有较大差距,而在新兴的全闪存储相比,性能差距更加明显。
Ceph前期功能主要是提供文件存储,但从版本发布以来文件存储的诟病广受质疑。之后借着OpenStack的春风在块存储和对象存储领域发展的风生水起。目前很多国内厂商都基于Ceph进行二次开发,提供块存储和对象存储功能,已经广泛应用于多种行业的生产环境。经过多个版本的迭代,近些年Ceph的文件存储功能有较大提升,部分业务场景也开始在生产环境中使用Ceph的文件功能。可以说Ceph在开源存储圈内老大的地位毋庸置疑。
MinIO
MinIOn是一款为对象存储而生的分布式存储产品。MinIOn起步较晚,主力团队是由之前GlusterFS团队重点人员组成。相比Ceph,MinIO只支持对象存储,虽然功能有所减少,但其强劲的性能,简单灵活的使用方法,还是很受追捧。最核心的特点就是纠删码性能优势明显。众所周知,海量小文件是分布式存储的痛点问题,除了几家顶尖的商业分布式存储外,其它大部分产品在海量小文件场景面前,都会面临性能瓶颈。如果在海量小文件场景中使用得盘率较高的纠删码冗余方式存放数据,性能更是低的可怜。而MinIOn却很好的解决了这一痛点问题。
HDFS
HDFS作为一款文件存储,是大数据业务场景的原生存储。HDFS文件存储主要适用于大文件业务场景。主要优点是原生支持Hadoop生态圈的所有组件使用,能够与所有组件兼容。但由于HDFS的缺点较为明显,所以近些年逐渐呈现被其它存储所取代的趋势。
HDFS作为文件存储,只支持副本模式,需要单独的元数据中心NameNode,既面临扩展瓶颈,又存在元数据节点无法高可用的问题。HDFS不适合存放小文件,由于硬件配置资源有限,所以HDFS集群规模不能太大,扩展不够灵活。
GlusterFS
GlusterFS是一款分布式文件存储产品。具有灵活扩展、稳定可靠的特性,是开源存储中最受欢迎的文件存储,前些年曾与Ceph争得不相上下。但近些年文件存储的大多数场景逐渐被对象存储取代,高性能计算领域的文件存储使用基本还是被Lustre等并行文件系统占有,GlusterFS的热度逐渐下降。当然,除了这些外,Gluster也存在一些问题,海量小文件场景遍历目录慢是公认的痛点,另外就是社区不够活跃,Gluster本身功能较少。
以上内容全为个人认知,如有认识不全或其它不妥之处,欢迎指正。