webgl存本地文件_【最强科普】什么是文件系统 ,分布文件系统有哪几类?

b6487cde6cba20487330405f263c43e3.png

17170143f517e9b14344f0a427287a85.png

上一期的文章我们讲述了《什么是分布式存储》,接下来这期我们来学习下分布式文件系统。

公司的技术大拿正在给新员工做技术培训:"大家都用过电脑,相信都知道什么是文件系统。"

"什么是文件系统?" 新员工蛋蛋不合时宜的插嘴道。

小伙伴们被蛋蛋的勇气惊呆了。

9ae9fa1749f2939a93fcc5620b0fc136.png

▉ 什么是文件系统?

技术大拿眉头皱了皱,忍住快要爆发的情绪。解释到:

"数据是以二进制的方式存储在介质中的,但是我们并不能直接理解这些高低电平的数据代表什么意思,而文件系统就是告诉我们这些二进制的数据要表达的意思。"

看着依然紧皱眉头的蛋蛋并不像捣乱的样子,技术大拿打开了自己的电脑。

5c0bca02da2a9373d9a524a10d26a87f.png

这些文件大家都见过吧,这些文件是怎么出现的?这就靠文件系统来实现的。文件系统将二进制的数据按照人类可理解的架构来解析出来,我们可以通过这个系统来管理、删除和复制这些文件,从而来控制存储里面的数据。

那么文件系统是什么价值?蛋蛋继续追问到。

▉ 文件系统的价值是什么?

文件系统是管理磁盘的软件系统,能够简化用户对磁盘空间的使用,降低使用难度,让用户可以更加形象的方式将磁盘中的数据供给我们使用。

打个比方,存储的磁盘就相当于我们的仓库。如下图所示,这是一个很大的空仓库,这就相当于一个没有格式化的磁盘,空间很大,让我们来存储数据使用。

d4c40b0558ba040773b868c9dd1b04b4.png

虽然我们可以直接将数据存储到磁盘的空间,但是由于缺少规划,我们数据可能就会毫无规律的存放在磁盘上。不但放的数据比较少,而且当我们想查找的时候也会非常费劲,甚至找不到需要的数据。

26d29bd67f242917c0c4c125e4bb5d90.png

因此,文件系统出现了。一方面将数据进行统一管理,另一方面让我们用户能够更好的查到数据。

就好比我们仓库中的货架,我们可以将货物进行统一的规划和管理,这样我们就能按照编号快速的找到我们需要的数据,不仅存放的数据多,而且查找起来也更方便。

32ca0b0f279ca7fb58e4b2b68a23d01a.png

文件系统就相当于管理货物的货架和人的集合,让我们不再为存储数据担心,方便我们管理和查找数据。

看着眉头舒展开的蛋蛋,技术大拿知道可以接下往下进行了。

▉ 本地文件系统和网络文件系统

文件系统早期是本地操作系统管理存储设备的一种方式,早期的管理需求大多基于本地的文件管理,比如Ext4 、XFS、FAT32和Btrfs等文件系统,这些文件系统之后能提供本地磁盘格式化并使用。

但是随着传输技术的发展,人们开始有了新的需求,不止限于本地文件的传输I/O技术,人们也开始对远程数据传输有了需求,人们希望通过TCP/IP方式获取数据,就相当于增加了一种可以远距离传输的I/O技术,例如我们的文件共享需求。

f726dc44901979ef7cbae28c8f16e8f7.png

目前主流的接入协议有NFS协议为代表的Linux阵营和以CIFS/SMB协议为代表的Windows产品阵营。不过随着技术的发展,基本上可以通用了。

支持远程访问的文件系统解决了资源共享的问题,但是这些文件系统虽然能够支持多个客户端访问,但是毕竟是单机,处理能力有限,因大规模的数据访问领域,例如电商网站,大数据处理,采用NFS这种访问方式就无法满足需求。

于是,为了可以让多台机器上的多用户通过网络分享文件和存储空间,于是就出现了分布式文件系统,该文件系统的服务端通过一个集群来实现,客户端可以并发的访问该集群的多达数万个节点,因此承载能力得到极大的提升。

b1654651bd1fcdb259e7a13486e77531.png

对应上面的仓库比喻,我们可以简单理解为:在仓库的初期,管理更多的是基于本地的需求,这个时候采用的文件系统是Ext4、XFS、FAT32和Btrfs等,这些系统只支持本地访问。

但是随着传输技术的发展,人们希望通过网络来访问这个存储仓库,于是NFS、CIFS/SMB开始出现。但是这些文件系统在的支持远程访问的个数有限,于是就出现了分布式文件存储。

9cfec658bbb3bd984f58b92f955175dc.png

本地文件系统、网络文件系统和分布式分拣系统这几种文件系统没有本质的差别。只是网络连接的可靠性复杂性等因素,相对于本地总线而言,分布式文件系统接入的存储设备,需要应用层做更多复杂的策略来配合达到相同的效果。

▉ 主流分布式文件系统

随着数字化转型的深入,海量数据对存储系统提出了新的要求,市场上出现了多种分布式存文件系统。如HDFS、Ceph、GFS、GPFS、Swift等。在实际工作中,为了更好地引入分布式文件系统,我们需了解各种文件系统的特点,以及各种技术的适用场景,下面分别介绍:

中间控制节点架构(HDFS)

HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。

HDFS是Hadoop大数据架构中的存储组件。在开始设计的时候,HDFS就已经明确的它的应用场景,就是为大数据服务。主要的应用场景有:

1、对大文件存储的性能比较高,例如几百兆,几个G的大文件;

2、适合低写入,多次读取的业务;

3、HDFS采用多副本数据保护机制,使用普通的X86服务器就可以保障数据的可靠性,不推荐在虚拟化环境中使用;

09bfdcc79839dbc7fa0ffa6fb8e61571.png图 HDFS简化架构图示意图

完全无中心架构---计算模式(Ceph)

Ceph是一个开源的存储项目,是目前应用最广泛的开源分布式存储系统,已得到众多厂商的支持,许多超融合系统的分布式存储都是基于Ceph深度定制。而且Ceph已经成为Linux系统和OpenStack的"标配",用于支持各自的存储系统。

11f2090cfc1f3832bb8d80b28a64a0d9.png

图 Ceph简化架构图示意图

Ceph可以提供对象存储、块设备存储和文件系统存储服务。同时支持三种不同类型的存储服务的特性,在分布式存储系统中,是很少见的。

Ceph没有采用HDFS的元数据寻址的方案,而且采用CRUSH算法,数据分布均衡,并行度高。而且在支持块存储特性上,数据可以具有强一致性,可以获得传统集中式存储的使用体验。

但是目前Ceph支持文件的性能相比其他分布式存储系统,部署稍显复杂,性能也稍弱,一般都将Ceph应用于块和对象存储。

Ceph是去中心化的分布式解决方案,需要提前做好规划设计,对技术团队的能力要求比较高。

完全无中心架构---一致性哈希(Swift)

Swift最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务。

Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题。

02c289276bbeba7911a4314cfc60c305.png

图 Swift简化架构图示意图

Swift和Ceph提供的对象存储服务类似。Swift主要用于解决非结构化数据存储问。它和Ceph的对象存储服务的主要区别是:

1、客户端在访问对象存储系统服务时,Swift要求客户端必须访问Swift网关才能获得数据。而Ceph使用一个运行在每个存储节点上的OSD(对象存储设备)获取数据信息,没有一个单独的入口点,比Swift更灵活一些;

2、在数据一致性方面,Swift的数据是最终一致,在海量数据的处理效率上要高一些,但是主要面向对数据一致性要求不高,但是对数据处理效率要求比较高的对象存储业务。而Ceph是始终跨集群强一致性。主要的应用场景,在在OpenStack中,对象存储服务使用的就是Swift,而不是Ceph;

除了上述HDFS、CEPH和Swift等分布式文件系统外,还有GlusterFS、CephFS等很多分布式文件系统,不同的文件系统解决的问题是不同的,因此应用场景也是有很大差异的。因此,大家在工作中如果选型时,也需要考虑这些差异。每种分布式文件系统的细节又有所差异,这个也是与它们所要解决的具体问题相关的。

▉ 未完待续……

虽然分布式文件系统可以处理高并发访问的问题,但对于同一个文件同时写会存在数据不一致的问题。

为了解决同一个文件被不同客户端的应用并发写的问题,这个时候就出现了集群文件系统。

接下来的文章我们将继续介绍《分布式和集群的区别》

——END—— 文章内容部分来源于网络,侵删! ➤  往期精彩回顾 8154a544f9f36a3ef9ef4b6f3257efba.png ◆ 私有云像公有云一样灵活付费 这或是未来趋势! ◆教女朋友读懂云计算 ◆【最强科普】一文读懂分布式存储 ◆ 伪存储专家装X指南 ◆【最强科普】块存储、文件存储、对象存储三者有何区别? ◆ 这款AMD服务器不简单 ◆《EMC发家史》编年体 530656540e5e4687a5786a6d9bf9b1cd.png

bd841a2dc83ffd01bdda09d6391a2f29.png

b55fbd4216b621debfc674ac2dce4495.png“点赞”和“在看”是一种美德!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值