分布式存储解决方案主要应用于对于存储性能要求不是很高的应用当中。分部是存储解决方案,在用多个主机,多个副本冗余的方案,来保证业务的可靠性。比如众所周知的Google的GFS解决方案就是典型的分布式解决方案。分布式解决方案的较大问题是,存储网络利用传统网络和服务器来传输数据和保存数据到服务器的本地磁盘,这样会导致大量的性能下降。
目前开源的分布式存储解决方案有:
Hadoop的HDFS,HDFS的基本原理和GFS的原理是相同的
有Redhat主导的Ceph,但是相比HDFS,Ceph提供了更丰富的数据访问形式,包括直接块访问、文件访问、对象访问的三种形式。便于在云应用中提供灵活的存储服务。
Ceph的解决方案和HDFS相类似,都分为Master节点和Slave节点来存储数据,其中Master节点主要是负责记录数据所在位置,用户目录树等信息,Slave(inode)节点主要负责存储具体的数据。
分部是的存储服务有这样的两个优点,价格低廉、若耦合性、易于扩展。分布式存储由于采用了多副本的冗余类型,可以使得单个存储节点的可靠性要求大大降低,就是失去心跳连接,还可以正常访问;同时,分布式存储也没有对于存储服务器的品牌型号有要求,甚至可以是老旧个人计算机;第三代,由于利用了IP网络作为节点间传输数据的方式,因此在扩展时,只受限于IP子网的所容纳主机的个数,在扩展时可以大量增加服务器个数。
但是这样的存储也免不了这些缺点:1、Master节点成为了单点的性能瓶颈和故障中心:由于Master节点存储用户目录树数据和控制信息,所以Master节点的可靠性变得尤为重要,通常采用多机备份的方式来实现可靠性,但是性能瓶颈的问题难于解决。2、存储访问效率低下:由于节点的不可靠性,需要存在多个副本来保证数据的可用性,这样大大浪费了存储空间,也增加了存取时间。3、访问速度低下:由于访问每次的写操作需要写入大量的副本,服务器节点的性能也不佳,存取受限于网络访问速度,导致访问速度并不是很快。
常见的应用场景:
分布式存储的常见应用场景通常位于实时性要求不高的环境下,如大数据分析等应用环境。但是今年来,随着技术的进步,分布式存储的应用领域逐渐增加。