对于分布式存储,许多开发者已是耳熟能详,但是,大多数人对其概念或者知识点了解得都过于分散,看了很多却“只见树木,不见森林”,学了很多往往只能“知其然,却不能知其所以然”。


其实分布式存储却并不有想象中那种简单,它是一个涉及到文件系统、存储系统、网络、算法、管理等多方面技术的汇聚。要想真正的掌握分布式存储技术,绝不是一件轻松的事。今天这篇文章,将对分布式存储的概念、问题和矛盾进行一一分析和解读,希望对你能够有所帮助。


首先,分布式存储是究竟是什么?


按照官方的定义:分布式存储就是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散地存储在网络中的各个角落。


换个通俗易懂的说法,其实“分布式存储技术”就是一种用来“存储数据”的技术,只不过它受到了“分布式”这一特点的加持,拥有了其他“存储技术”没有的特殊“光环”。


根据物理存储形态,数据存储可分为集中式存储与分布式存储两种。集中式存储以传统存储阵列(本地存储)为主,分布式存储以软件定义存储为主。


传统存储阵列素以可靠性高、稳定性好,功能丰富而著称,并在以往应用实践中得到了广泛认可。但与此同时,传统存储阵列也暴露出了很多不足,比如横向扩展性差、价格昂贵、弹性缺乏、数据连通困难等各类问题,容易形成数据孤岛,导致数据中心管理和维护的成本居高不下。


而分布式存储的出现完美的解决了这类问题。分布式存储本质上就是将数据分散存储在网络上的多台独立设备上。一般是采用标准x86服务器和网络互联,并在其上运行相关存储软件,系统对外作为一个整体提供存储服务。常见的分布式文件系统有FastDFS,GFS、HDFS、Ceph 、GridFS 、mogileFS、TFS等,其各自适用于不同的领域。


值得一提的是,分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切割后存放在不同的电脑里。就像存放100个鸡蛋,不是放在同一个篮子里,而是分开放在不同的地方,加起来的总和是100个。


分布式存储的优势特点


可扩展性。分布式存储系统可以扩展到几百台甚至几千台这样的一个集群规模,系统的整体性能线性增长。


易调整。分布式存储系统的自动容错、自动负载均衡的特性,允许分布式存储系统可以构建在低成本的服务器上。另外,线性的扩展能力也使得增加、减少服务器的成本低,实现分布式存储系统的自动运维。


高性能。以x86服务器为基础,分布式存储易实现高处理能力和高IO吞吐量。


易用性。分布式存储系统需要对外提供方便易用的接口,另外,也需要具备完善的监控、运维工具,并且可以方便的与其他的系统进行集成。


分布式存储能更好地保障企业数据的一致性,在业务连续性得以保证的同时,还能灵活地进行系统扩展和变更,使得企业高性能的需求得以满足,并有效节省了成本,


但是人无完人,技术也会存在着特定的局限性,分布式存储系统目前的挑战主要来源于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。


例如,分布式存储一般情况下都是靠“副本”来确保数据的安全性和完整性。每块盘记录的数据内容都不一样,当某一块盘出现问题,都需要从其他不同盘内的数据块中进行快速的数据重构。


当故障的服务器恢复了,重新加入存储资源池,副本就需要迁移。这个系统完全恢复的时间比较长,迁移过程中一旦数据的一致性无法保证,就可能会影响到服务的正常开展。因此为了减少服务器故障所带来的影响,需要给分布式存储系统定期更换高性能服务器,并慎重对待迁移操作。


相信在未来,这一系列挑战和问题将被一一攻破,到了那时,分布式存储的光芒,将更加闪耀夺目!

*专家文章为作者独立观点,不代表移动Labs立场. 转载此文章须经作者同意,并请附上出处(移动Labs)及本页链接。

0