[关闭]
@Spongcer 2015-03-25T10:09:39.000000Z 字数 2231 阅读 2604

主流开源分布式文件系统概览

分布式 文件系统


综述

总所周知,目前有大量的应用都需要依赖于分布式环境对大规模的数据量进行处理和分析,特别是那些高性能计算的应用尤其如此,比如:概率分析、天气预测、空气动力学研究等,这就促使一些新的基础设施的形成,用以为这些计算的执行保驾护航,比如:网格计算、千万亿次架构计算等,它们大多都包含了分布式计算,以及在一个大规模的分布式计算平台上的各个节点上的并行计算。而且,随着数据量的递增,对这些数据的使用方式的高效性和易用性,以及对存储方案的高可靠性等的需求就成为计算科学需要考虑的一个主要问题。就目前而言,分布式文件系统(Distributed File Systems)被证明是解决此类问题的有效方案。本文展示了当下比较常用的六种分布式文件系统,同时对它们进行了对比。它们大多都被广泛的用于解决存储的容量问题、数据的访问问题以及分布式平台的资源整合问题。

当下,标准的存储方案有超级主机、集群、数据中心,当然,还有分布式文件系统。通过整合分散于网络的存储资源,DFS 为众多文件提供永久的存储方案,并为它们构建一个层次化、标准化的对外接口。高性能的计算应用对这些DFS有着较强的依赖。

我们考虑对这些 DFS,当然还包括一些较老的 DFS,进行一个全面系统的学习和比较,以帮助用户在选择时做一个参考。本文我们对四种较新和两种较老的 DFS 从扩展性、用户透明度、容错能力三个方面进行一个展示和比较。我们选择当下比较较流行的,被应用于生产环境的,而且更新比较频繁的六种 DFS 系统:HDFS、MooseFS、iRODS、Ceph、GlusterFS、Lustre。

本文分为三个部分:Section 1 提供了一些定义和相关知识,供大家前期参阅. Section 2 专门用于 DFS 的学习。最后我们会对这些 DFS 进行一个系统的分析和对比。

1.必备知识

本节我们主要讨论 DFS 的一些基本的问题、设计原则和特性。

1.1.分布式文件系统

DFS 提供了一个持久化的存储方案,对于存储于其中的对象集合,从它们显示的被创建开始,到显示的被删除为止,DFS 都将保证它们一直存在,而不受系统错误的影响。这些持久化的存储包含了一系列被整合的存储资源,客户端可以在其中进行创建、删除、读取、写入操作。和本地存储系统有所不同,DFS 的存储资源和客户端分散于网络中的不同位置。DFS 中的文件以一种层次化、标准化的视图在用户之间共享:文件被存储在不同的存储资源中,但对于用户而言,它们就好像存放到一个地方一样。一个分布式文件系统必须具有用户透明性、容错性以及可扩展性,具体如下:

接下来我们详细探讨分布式文件系统的上述三个特性。

1.2.可扩展性

对于 DFS 来说,并没有一种按部就班的统一设计,但是一个可扩展性的设计必须避免一些潜在的缺陷,比如:依赖于单点服务器为中心的架构系统会出现系统瓶颈,将用户的请求分散到各个服务器上会得到更高的性能提升。另外,当系统的可扩展性过分依赖于主机的交互能力时,可能会产生网络拥堵,比如进行大量的数据转换,或者共享大量的消息,就会导致网络阻塞。因此,在构建一个 DFS 之前,就必须将一些关键的因素纳入考虑范围之内。

Currently, some systems still adopt a centralised architecture, but provide tools to
push limits. Multi-Threading are one of such tools. Requests will use little resources
and will not block the entire server in the contrary of single threading systems. Thus,
several requests can be processed in parallel, but the system will always be limited to
the computation power of the machine it runs on. Though local parallelism using multithreading
improves the capacities of a system to scale, it is far to be enough for the
today's volumes of data. Another solution consists in caching data, which can reduce the
number of data transfers. This is discussed in Section 1.3.3.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注