hhtop avatar

文件系统发展史

hhtop

Published: 04 Jan 2018 › Updated: 04 Jan 2018

文件系统发展史

上一篇我们介绍了文件系统的基本原理,有助于使我们对于文件系统有个基本的认识,如果说的更详细一些,上一篇我们介绍的是单机文件系统的基本原理,而我们最终要实现的是一个分布式文件系统,从单机文件系统到分布式文件系统之间是如何变迁发展的呢?

文件系统的变迁之路

1. 单机文件系统

单机文件系统是所有文件系统的基础,用于操作系统和应用程序的本地存储。比如EXT2,EXT3,EXT4,FAT,FAT32,NTFS等。

在单机时代,最初为用户提供服务的时候,文件一般存储在单台服务器上,依靠操作系统的文件系统来实现文件的存储和管理。

随着互联网的兴起,以及日益增多的存储需求,单机文件系统的缺点逐渐显现出来:

  • 容量问题: 存储规模很容易达到单机存储的极限。

  • 性能问题: 在文件数目达到临界点,大量并发读写,性能会下降。

  • 可靠性问题 没有副本,一旦硬件出现损坏,会极易造成数据丢失。

1. 网络文件系统

可在计算机之间共享文件,俗称NAS,允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。

网络文件系统应用很广泛,现在出现的云存储,比如网盘的概念也是源于此。

网络文件系统的出现,能解决用户单机存储容量的问题,本地计算机可以使用较少的磁盘空间。

网络文件系统只是文件系统之上的一个网络抽象,没有根本上解决单机文件系统的各项瓶颈。

3. 集群文件系统

集群文件系统使网络上多个节点可以共用文件系统。消除了单机文件系统的各项问题。

最初集群文件系统是NAS的概念发展而来,依旧采用共享式。集群内的节点共同维护文件系统的数据,一个节点做出变更,则需要广播到其他节点。

通俗解释集群文件系统就是多个节点组成一个集群,各个节点上的文件数据都是相同的,一旦其中一个节点的数据发生变更,比如修改,删除等操作,那需要通知集群中的其他节点也做出相应的改变。

虽然解决了单机文件系统的各项问题,但集群文件系统也有不可避免的劣势:

  • 扩展性问题:集群中的节点数量不能太多,因为每个节点都可能同时在进行通信,那系统连接总数为: 节点数量x节点数量

  • 新的性能瓶颈:一旦集群内的节点发生故障,无法即时响应,影响整个系统的运作,网络开销大。

  • 新的可靠性问题:单个节点出现数据操作失误,比如删除元数据,则会波及整个系统。

4. 分布式文件系统

如何解决几千,几万个节点集群的各项问题,比如性能,可靠性等?

这时就诞生了分布式文件系统,比如Hadoop,分布式文件系统基本解决了上述文件系统面临的问题。

分布式文件系统有以下优点:

  • 扩展性: 可以随时增删节点,动态扩容。可使用廉价的服务器构建。

  • 可靠性: 有效避免单点故障。有很强的容错能力。

  • 高性能: 具有较高的吞吐量,性能较高,可满足大量文件的读写。

  • 便捷性: 操作简单,便于集中访问管理。

当然分布式文件系统也有一些缺点,比如不适合低延时应用,海量小文件问题,不适合频繁修改文件数据。

分布式文件系统是如何解决上述集群文件系统的问题呢?

在分布式文件系统中,节点只可以访问自己磁盘上的内容,这样就有效避免的大量的网络开销。

如何知道用户请求的数据在哪个节点呢?

一般元数据会存储在其中的几台节点上,称之为主,主节点之间组成了一个小的集群,可以同步信息,用户访问之时,通过查询主节点上存储的映射信息来确定访问哪个从节点。

主从模式有几种形式:

  1. 固定主节点,视情况而定,容易造成单点瓶颈。

  2. 随机主节点,典型的例子是选举模式。

当然每个节点上存储的数据也都是冗余备份的,一般都会备份三份,防止单点故障。

这篇文章主要讲一下,文件系统发展过程当中的变迁,以便对为什么需要分布式文件系统有个基础的认识,对分布式文件系统只讲了很少的一部分。

分布式CAP理论以及Paxos和Raft一致性算法,如何设计一个分布式文件系统等等,我们在后续的文章中慢慢介绍。

Leave 文件系统发展史 to:

Written by

Read more #cn posts


Best Posts From hhtop

We have not curated any of hhtop's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From hhtop