00:00
大家好,欢迎大家继续收看上硅谷的Linux云计算视频。我是王瑶老师。那这节课呢,我们去学习一下我们的分布式存储值MFS。MFS呢叫Mo system,这是它的全称。那它是现金用的比较多的这么一款分布式文件系统。之一,对吧,好,那对于他来说呢,他的中文名叫驯鹿,这是我们一个简单的了解。那接下来的课程中呢,我们就会去学习它的相关原理,以及它的一些构建方式,包括它的一些日常操作的恢复啊等等。那接下来的课程部分呢,我们会分为这么几个片段,第一个我们先讲解一下什么是MFS,对吧?这是它的简称,帽似CT目的简称,我们后面都用MFS去代替。以及他的第二个。主件有几个主线。每个柱间有什么作用?我们都会在第二个片段去说明。
01:01
第三个,在进行我们所谓的增删改、查读便利等等的一些我们的文件操作的时候,MFS以及客户端之间要经历哪些过程,我们都要去详细说明一下,对吧?这也是比较重要的一些原理。第四个MFS的补充说明,比如它的一些特性,对吧,需要我们注意的点都在这一栏目里,我们去给他讲解。第五个,那前面经历了这么多部分以后,我们已经对MFS有一个相当充分的了解了,那接下来呢,我们就去构建一个完整的MFS集群。去进行所谓的分布式存储,对吧?好,第六个在日常呢,我们的公司环境中去操作它的话,我们需要注意哪些事项,以及如果MFS损坏以后我们怎么去恢复,对吧?这都是需要我们去了解以及掌握的部分。那首先呢,我们先看第一个片段,也就是什么是MFS。那首先MFS呢,是一个具备冗余容错功能的分布式网络文件系统。
02:03
具备冗余容错,需要大家注意一下,这个怎么去理解?首先,冗余的概念就是这里的冗余是一个良性冗余。我们知道冗余有分为良性和恶性,对吧?比如,如果与一个我不需要的文件被存储了多份。那这个相当于是一个恶性冗余,那如果我是我需要的一个文件,非常重要的一个文件,我被备份了多个,那这应该是一个良性冗余,对吧,我们这里说的是良性冗余。也就意味着我可以设置一个文件,它保存在几个节点上。那当一个节点损坏以后,另一个节点还传出这个文件,并不会由于单个或者是几个节点的损坏而造成文件的丢失,这就是我们所谓的冗余功能。容错就是如果我误删除了一些文件,我还是可以恢复的。所以对于MFS来说,它是一个绝对能够在生态环境中使用的这么一个分布式文件系统。当然有很多公式都在采用,对吧,这是毋庸置疑的,好。
03:03
分布式网络文件系统分布式,我们听过分布式计算,听过网格计算,分布式存储呢,也是一个分布式概念,也就意味着我们把文献打散到不同的机器节点去存储。那这些不同的机器节点组合在一起呢?就是一个完整的我们存储的整个文件。这里需要注意一下,对于MFS来说呢,它的分布式是有一定区别的,举个例子。我现在有一个文件,它这个文件单个大小是一个G,文件名叫一。这个文件在存储到我们的MF的时候,它不会被分散成多快。它只会存储在一个节点上,一个node上。那如果我现在有两个文件,一个是一文件,一个是R文件,它存到MFS身上以后,它会存储在NOTE1上。存1NO2上。
04:01
存取二。他是这样分布式的。也就意味着对于MFS来说,单个文件,这就是最小的,最小的文件属性。他不会把单个文件啪劈成两半,一个点点上存一半,另一个点点上存另一半。为什么不这样做呢?我们思考一下。其实对于我们大部分的文件来说,它都是一个较小的文件。这句话应该大家都能理解对吧,比如我们的网页文件。对吧,比如我们的什么所谓的一些其他的视频,大部分是不是都十几兆啊,除了一些专门做我们的什么爱奇艺这种类型啊。才会有大量的单个文件,大大文件存在,对吧。那如果是小文件的话。我读取一个节点,从一个节点里去读和从两个节点里去读,你觉得谁更好?肯定是一个,原因是什么?一加一加二交给一个人去算快,还是一加一加二,先把一加一交给第一个人算,再把得到的结果再加二交给第二人算呢?
05:06
能理解我的意思吗?明明已经非常容易的步骤,为什么要搞这么复杂?你的越复杂,是不是就会造成我们的存储效率越低啊?所以对于MFS来说,需要注意第一点就是单个文件就是存储的最小单位。没有什么,一个文件的一半存到这里,另一半存那里,不存在。明白我的意思了吗?非常重要的一个概念,对吧,好。它将数据分别存放在多个物理服务器、单独磁盘或分区。也就意味着。这里分布式从这里能够理解了,对吧,那单独磁盘或分区类似于我们之前所学习到的I对吧。Z,为什么这样说呢?SZ在提供存储能力的时候,我是不是先给大家用我们的逻辑卷组演示的,又用单独的快演示的,也就意味着其实对于这种存储服务器来说。
06:03
基本上对存储能力提供的类型没有什么要求。基本上都可以用,只要他能存数据。哪怕讲难听点,他是一个U盘插上的,也能共享。他一般没有这么玩的,对吧,好。确保一份数据有多个副本,这也就是我们这些所谓的荣誉功能,对吧?已经强调过了。对于客户端来说,分布式文件系统看起来像一个资源一样,也就意味着像使用本地文件一样,对吧,类似于unix的文件系统。你可以理解为。对于我们的上层应用程序来说,或对于我们的本机来说,都认为这个存储共享过来的存储目录它是本机的,其实它存到远程的。MS服务器完成。对吧,就这么一个概念,需要大家去理解一下,好。那底下呢,这个呢,就是我们的。MFS的logo。这个没什么好说明的,对吧,那接下来呢,我们去看第二点,也就是MS的特性。
07:04
第一个,高可靠性。这里的高额指的是一个数据可以设置多个副本。多个副本也就意味着在多个不同的主机存储。多个不同主机存储也就意味着什么,单主机或两个主机死亡以后不会造成我们文件的丢失,这还是比较重要的一个属性,对吧?第二个,高可扩展性。这也比较重要,有些现在的分布式存储一旦增加过新节点以后,它需要进行各种的同步以及设置,对于MS来说不需要,你只需要告诉他你的主节点是谁,它会自动的进行同步以及真替。比较容易。好,第三个高可容错性。这里的容错性指的是文件的误删除。MFS有个垃圾箱的机制,也就意味着在一定的时间内删除的文件是可以找回的。在最后一个日常章节里,我们会给大家去演示这么一个步骤。
08:02
最后一个,高数据一致性。即使被写入访问时,我们依然可以对文件完成一致性快照。这里的一定快照你可以理解为是一个链接关系。也就是把我们的什么同一个块。用两个不同的超级点去标识,那这样的话删除一个超级点是不是文件依然存在啊,对吧?好。那这个呢,就是我们的MFS的一些比较重要的一些特性。其实我们刚才说的类,你都可以理解为是MFS的一些优点,对吧。那这东西都这么好,没有缺点吗?不存在对吧。基本上我们可以辩证的去看的话,每一件事物的存在都有对应的。优点以及缺点。那缺点有哪些呢?前前我们先看第一个,也就是must must目前是单点。这个怎么理解啊?也就意味着,如果我们这里有个master服务器,如果死了的话,整个集群就会中断,数据虽然不会丢,但是会中断。
09:08
那这里需要注意一下,我这里讲的是MFS的社区版。什么叫社区版?也就是免费版?他的企业版是进行了所谓的高可用的,也就意味着官方就会给你两个M节点的高可用配置。首先我们先想一下,第一点就是。这个会不会影响我们的生态环境对吧?那为了让MFS损坏以后,里面的元素信息不会丢失?那它会有一个叫做备份服务器。这个备份服务器啥也不干,就是实时的进行备份我们的M的信息的,也就意味着M损坏以后只会造成我们的MS存储服务器的宕机,而不会造成我们的所有的数据中断,这里需要注意一下。你说这不是还会影响我们的网络服务吗?
10:00
那我刚才也说了呀,对吧,我们这里讲的是社区版,如果你有钱的话,企业一般来说都不会差这点钱,对吧,你可以购买它的企业版,完全没有问题。你说我就想有他,又没有钱怎么办?那咱们是不是学过keep alive啊?可以通过keep alive加上。RD啊,叫DRDB这么一个软件,可以实现我们的M的节点的高可用以及自动自动转换。这是可以通过我们自己的技术去对他完成。就是在后期的话,如果有时间的话,可以给大家去详细构建一下。下一个缺点。Ma服务器对主机的内存要求略高。这个怎么理解呢?在我们很多一些我们的分布式存储里,它会把我们的文件的原数据存储在我们的磁盘上,但对于我们的MFS来说,它会把所有的原数据存储在内存中,原因是什么?读写效率更高。随机读写也更高。那这样的话可以有利于我们的访问文件的速度更快。
11:01
能理解我的意思吧?那你就会说了,他这个略高到底有多略高呢?官方说明是100万个文件。100万个文件,你说大小会有影响吗?这个我们已经学习过前面的技术理论了,对吧?文件的原数据信息跟文件的大小其实是无关的,可以这样理解吧,对吧?好,哪怕是一个零字节的这么一个文件,和我们一个TB的一个单个文件,他们用的我们的元素信息可以理解为是大概相同的,对吧?原因是什么?气流它的次节数是不是也会占用一定的数据啊,对吧,好。那处理100万个文件的创生,我大概需要300兆B的内存。处理1亿个文件需要30GB的内存。首先先问大家一个问题,你觉得这个占用的内存高吗?你说诶占用30个G呢,你可别忘了这里存了1亿个子文件。如果你们公司的重要数据有1亿个子文件的话,我相信你们公司一定是一个中大型规模最少的。
12:05
那对于一个30GB的内存服务器来说,这相当于是现金服务器的标配。标配的还都是64GB的。能理解我的意思吗?所以这个可以理解为,虽然它比其他的占用的多,但是它依然是我们非常非常非常能接受的一个范围之内。好,下一个matlo复制元数据时间较长,这里说的复制元数据呢,讲的是一个完整拷贝,也就是完整备份时间过长,那当然如果你的原数据信息比较小的话,你可以进行一个比如修改,修改一个小时备份一次也是没有问题的。那也意味着这里的缺点,其实从我们辩证的角度考虑的话,除了第一个缺点需要我们用技术解决以外,其他几个都还好。能理解我的意思吧?那一款软件你到底使不使用它,就是你要相中它的优点,并且接受它的缺点,你是不是才能去使用它,我们在这里可以发现它的优点非常之多,对吧?但缺点都是我们可以容纳范围之内的。
13:04
所以MFS总体来说在现今来说是被企业所接受是有一定道理的。能理解我的意思吗?那接下来呢,我们去看一下MFS在哪些场景中比较实用。第一个,大规模、高并发的线上存储。以及访问小文件、大文件都适合,也就单个文件、子文件或者单单个文件比较大的情况下都是适合的。大规模的数据处理,如日志分析等。那这里怎么理解呢?其实你会发现他们有个共性,就是大规模。如果我就三个文件,你把它存到分布式存储里。这是不是有点扯啊?能理解我的意思吗?举个例子,我现在有三道题,一加一,一加二,一加三。你自己做是不是可能只要一秒就完成了,结果你现在找了三个人去做。
14:00
第一个人,第二个人,第一第三个人,你先把第一题给第一个人,再把第二题给第二个人,再把第三个题给第三个人,他们三个做完以后再把结果给你。你觉得这个过程和我们的直接自己做,谁消耗的时间更长,肯定是第二种,对吧?所以你小文件如果搞了分布式存储以外,反而会增加我们的访问时间。能理解我的意思吗?也就意味着,只要是大规模、高并发的数据存储。MPA都是实用的。需要我们注意一下。那这节课呢,我们就先讲到这里,我们今天先了解了我们什么是MFS,对吧,以及它的一些特性等等。那下节课我们继续。
我来说两句