00:00
好,那接下来呢,咱们来给大家说一说如何来创建文件系统,那分区分完了,一般紧接着就要在这个分区上来创建文件系统。因为只有创建了文件系统,在这个分区上存放数据,才能以文件方式访问啊,否则那就是零幺零幺二进制了。那文件系统呢,我们在Linux里比较常用的是E4,当然三度七往后呢,推出了XFS,那么创建文件系统的。命令,我们可以用这个叫make FS后面跟上一个点,后面跟上文件系统的类型。或者用那FS-T后面跟上文件系统类型也可以,这个文件系统的。
01:02
支持是内核的来完成的,所以内核支持哪种文件系统你才能使用,并不是说你想创建哪种文件系统就是任意创建。那微热系统呢,它的这个支持是由内核。加载了相应的驱动模块。那我现在可以在这来搜索一下,有一个叫lab module这个目录,这个目录里面存放的就是内核。相关的各种驱动模块。那我怎么知道的呢?实际上大家应该知道内核文件。关键就是这个文件,那这个文件来自于哪个包,我们是不是就可以反过来查啊,比方说VM4.18,大家看来自于克扣。
02:01
而那kernel号里面包括什么文件,那kernel号你看是不是很多都是level module?看到了吧,哎,来模就那其中这一个一个的koko文件,就是驱动模块,这里面就应该含有咱们支持的文件系统。那么文件系统,当然大家看这里面是网络的相关的,你看net就是网络相关的,还有就是其他硬件设备的驱动,那当然我们这不关心网络,我们现在关心的是文件系统,那文件系统FS就是文件系统,看到没?FS就是文件系统,那么这里面支持哪些文件系统?大家看这一个文件夹,这就是一个文件系统的名称类型,那找找有没有咱们熟悉的E4啊好吗?这就是那个驱动模块所在的文件。位置。啊,所以你要用EP4好了,那么你必须要有这样的文件系统驱动才行啊,你支持B就得有文件系统驱动才可以的啊,这里面就已经列出了,当然这里面肯定有那个XFS的啊,找找有没有XFSXX应该是往后列是吧,按照排序的话应该往后大家看这有吧,有当然按照这样的一个逻辑的话呢,在S6上。
03:23
三到六上有没有呢?那我们就搜一下吧,Lab Mo,然后它这个里面的目录是2.6.32,这是它的内核版本啊,我们找一个什么呢?嗯,找一个XFS的点心是吧。诶,我们发现六实际上已经支持了XFS,只不过就六上一般我们不太用啊,你像咱们现在默认用的硬盘分区,你看在三六上都是推荐采用ET4的,虽然它有了,但是它并没有啊,被红帽所推推崇使用。
04:10
在三度七上开始推广SFS,好,那总之一个文件系统要用,必须要确保你的内核里面先支持。当然。这些通常来讲都是操系统来自己完成的事儿,我们不用去管。当然。内核里面支持文件系统。并不是全部的文件都支持啊,比方说微软的NTFSNTFS在linu层默认就不支持啊,不支持这个地方你搜也搜不到,比方说我们来搜一下NTFS。没有。啊,那八上面有没有呢?啊内NTFS没有,所以微软的NTFS默认在V子中不支持。
05:08
啊,所以说你在Windows里边,你插了个U盘,用NTFS给格式化了,你插到Linux里识别不了。不支持,要想支持。那你得让内核增加这个日这个功能模块。啊,怎么做的编译内核。编译内核,咱们前面编译。HTDP是吧,编译这个其他软件内核也可以支持编译啊,所以这个,所以为什么知道需要编译了吧,有些功能他没加进去嘛,没加进去你要用你就自己编译啊,啊,这就是他背后的逻辑,当然我们一般也用不到这个NTFS,那是微软的啊,咱们也不用。好,那么这个文件系统呢?我们除了内核支持,那我们用户空间需要用工具来格式化文件系统,所以我们现在来看一下,你像这个B1B2这上面是没有文件系统的,那我要创建文件系统用什么呢?Make FS点,大家看后面是不是跟了这一串支持的文件系统类型啊,那make FS不就是创建文件系统吗?
06:17
那你想用哪种文件系统,你写上这个文件系统名称就行了,比方说我们用这个,当然也可以用别的命令啊,就是用这个make FS-T后面跟上这个文件系统类型也可以,两种语法都行。两种语法都可以啊,那比方说我们就把ID be给它得了走。接着确定吗?确定啊,这就说完了,说完以后呢,他这提醒我们了,说已经分配了一个文件系统的UUID啊,然后呢,这些有什么超级块,超级块我们待会再说,然后这个创建完以后呢,我们用LSDLK-F看一下这是不是多了一四了啊,同时我们用BKID也能够看到目前拥有文件系统的分区信息。
07:05
那现在我们看到SDB这多了个UID,这个UID3F62,就是刚才这个地方提醒我们是不是有一个什么3F62不就这吗?那这个UID。在这个地方显示出来了,这也告诉我们是些T4的文件系统,知道吧,那当然ED sdb2SDB2是不是没有文件系统平态,所以SDB2你看这个是不是就没有对应的什么文件的类型,这一说空的后面空的它就没有文件系统啊,那这就是文件系统的创建,那文件系统创建就那么简单,对于XFS文件系统来讲也简单,那么就是无非也就换个命令嘛,那fs.xfs后面跟上,比方说IDB2就这么简单,就就创建完了,不过呢,它的这个显示格式不太一样,它这个格式。啊,那创建完了以后,我们看看有没有呢,发现这是不是XF出来了啊BLKLSBL啊,然后杠F看看这是不是出来了,XFX2个都有了。
08:07
对吧,哎,这样的话就格式化完了,就这么简单,所以这个命令分区创建文件系统,当然我们之前也说过,有些企业里面会不分区,直接把整个硬盘做成一个文件系统啊,也是可能的啊,比方说CC的话,因为它上面是有这个分区的啊,那我们把这个分区干掉。啊,我这个是粗暴简单了啊,把五标全干掉,那上面是不是就彻底没分区了是吧?哎,然后我们直接。把整个硬盘当成一个分区啊,当成一个文件系统删掉啊也可以。好,创建完了吗?我们来确认一下。看着吗?这就是不分区,整个硬盘一块用也不是不行啊,可以用啊可以用。
09:03
好,这是刚才给大家实现的,当然我们这样做的话呢,它的这个分析表还有吗。啊空了啊,你看是不是根本没有分区表,因为你没分区,没分区是不是全是这零,但是它有文件系统对吧?有文件系统啊BKD,你看这是不是有文件系统啊是吧?所以文件系统不一定和分区有关啊,文件系统可以是把整个硬盘全弄成一个文件系统也行。好文件系统咱们就创建完了,文件系统创建完以后呢,紧接着我们就开始进行挂载文件系统,相当于有了这样的一个可用的空间,可以把数据放上去了,但是你放上去。那我要访问这些数据,总得给我一个文件夹路径吧?那我们说所有的文件访问都必须要关联到一个现有的目录跟的一级级的文件夹某一个文件夹里面才能访问一切接文件吗?一切接文件你不得关联到现有的这个根的目录的某一个文件夹里吗?那这个过程咱们称为挂载。
10:20
称为挂载啊,那挂载怎么挂呢?那就是帽子。那比方说我们现在已经创建好了B2KID创建好了B1 B2和C,这是我们新增加的,那这些是没有任何的目录和它关联,我们用地能看到这里面现有的这些是老的,我们刚才分的B1 B2和C是没有挂载点的,所以这个地方没出来,那要想把它访问,那就是挂一个文件夹,那挂一个文件夹,这个文件夹我们因为挂载点这个文件夹必须事先存在,所以我们就建一个,比方说IDB12。
11:02
啊,建起来再建个C啊,我们把它建起来,建起来以后手工的去执行挂载命令,叫ma s db1 m nt I db1,这不挂上了吗?挂上以后地再看,大家看这是不是就出来了。那这时候你在使用这个IDB分区,那就有目标了,怎么用啊,是不是就往这里面存数据就好了,你只要往这里面存数据,自然它就存到这儿来了啊,那我们说过,这些硬盘空间要想用,必须要和现有的跟某一个文件夹关联起来,关联起来以后,我们访问数据都是从这个根来作为入口的,这根就是入口,所以你要想访问这些硬盘的空间,你必须要和现有的这个根的某一个文件夹联系在一起,把它挂上去,挂上去以后咱们才能通过根的某一个文件夹进行访问,那现在我们就可以在m nt s be这里面建数据了啊,比方说我们建一个sb be test这样一个文件,大家看这个文件呢,就可以使用了。
12:09
啊,就可以使用了,当然大家可能发现,诶,那么我们创建好文件系统以,底下怎么还有个lost found呀,那对于s d be1有这个拉放的,那现在我们再把刚才分的不是还有别的分区吗?IDB2,然后呢,我们挂到met t I db2里面,它这里面有没有拉丝放的呀。哎,这肯定没有,这咋回事呢?那实际上这个和文件系统有关,因为我们刚才用的IDB是。E4,而这个呢,用的是XSS,只要记住FT系列的不仅是四啊,比方说三版本,二版本,它都会默认生成一个文件夹,叫lost fund,这个文件夹是E文件系统的一个特点,默认分完它就会这给你创建一个空文件夹,这是个空文件夹,这个文件夹它的功能。
13:07
就像它的名称所提示的一样,Lost found啥意思呀?这是啊,失而复得吧,是吧,是不是丢了再找回来,这就是咱们,呃,咱们之前之前好像政府有一个机构叫收容所是吧,是不是收容所就是你这个找不着家了,你就把你收容到收容所里啊,或者你犯了什么事了,就把你放到收容所里。啊,收容所乱放的,就是干类似的活的,就是当咱们在Linux里面发现有一个文件出了问题。他这个文件不知道他应该放在哪个文件夹里,出了这种故障了,就是无家可归了,他不应该不知道他放哪个文夹里,诶,那就干脆扔到lost放哪,哎找一个临时扔一个目录,最起码把你丢了,总把你丢了,要调嘛,找个地儿扔进去,放进去就放到lost丝放那啊,所以正常情况下这个目录没有用,明白了吧,正常情况没有用啊,所以有好多人进来以后先把它删了,看了就头疼,看着都烦,就删了啊,实际上无所谓啊,那现在我们都知道中国是不是已经好像取消收容。
14:17
这个制度了是吧,好像这个取消,因为之前出了个事儿是吧,是不是把一个大学生给放进去给弄死了。好像有这个事啊,我有点印象,所以取消了收入制度。收入制度。所以你现在可以胡作非为了吗?啊,实际上收容制度这个实际上就这个有点像拘留嘛,是吧,就把这个人给拘留了,收容了什么的啊,就类似的啊,老放XFS就没有这个东西了啊,它删掉了啊,当然那现在我们已经知道怎么去挂载,但这个只是第一步啊,第一步那接下来我们还要看看文件系统的一些特征。
15:07
那么文件系统呢,在使用的时候并不这么简单,它实际上每个文件系统都有自己的一些特征,那我们这边来看一下。以下这个图,这个图呢,描述了文件系统的背后的工作逻辑。大家刚才应该看到过,我们在创建文件系统的时候呢,它提醒我们有超级块的概念啊,这个地方提到了超级块啊超级块。啊,那么这个都是什么意思呢?是这样的。咱们把之前给大家讲的那个节点表可以来回忆一下了,大家记得节点表吗?节点表放了什么?这就是节点表,节点表放了就是文件的类型啊,属性啊,权限啊,所有者所属组是不是还有个小指针,这个指针指向什么?指向这个文件存放的数据的位置吗?
16:06
对不对,哎,那实际上节点表是放在哪呢?实际上是放在我们分区中的一个叫块组的超级块的空间中。那么实际上呢,我们这边有一个分区,比方说我们这硬盘分成了四个分区,最前面是不是有一个叫mdr的是吧?哎,这里面不是描述了从哪到哪是一个分区嘛,啊,那么然后每个分区里面它又分成两个部分,一个是启动扇区。和文件系统的数据部分。然后这个扇区是。存放了这个分区的一些元数据信息,我们先不管它,看这个,这是文件系统的信息,这个文件系统里面,它并不是把所有的这个分区里的空间作为一个整体来统一分配,它是作为一个分组。
17:02
它分成了组零,组一组二组三,分成了很多组,因为我们的数空间,硬盘分空间比较大啊,我们通过分组呢,相当于我们给它分成类了,分成不同的组了,分成不同的组,比方说我们一个组零,还有个组一组二组三,那分成组以后,每个组里面就有很多很多块。那这个块呢,用的比较多的单位就是4K4K当然也可以是1K2K啊。4K的字节,那么我们这一个块组里面会涵盖有很多4K的小块,在硬盘上给文件分配的时候都是按照一块一块来分配的,那么其中我这一个块组里面假设有上万个块。上万块,那么我们去给硬盘的文件分配的时候,怎么去分配空间呢?诶,那咱们在块头里面,它有这样的一个组成,前面有一个叫超级块。这个超级块实际上是描述了我们分组信息,以及以及这个文件系统的一些原数据啊,那这个超级块存放的内容有哪些呢?咱们用这个命令可以来看,这个命令叫FKEFS-L啊,DVSDB1啊,这可以看,这就是它的超级块里的信息,这个超级块信息实际上保存的就是它的原数据,当然这个信息里面还不全,我们还可以用另外一个命令看,叫do啊,一二啊,这个这个来看的话呢,它不仅能看到前面的元数据信息,比方说每个块多大,大家看这有那个块大小,4K看到没有,这就是那4K嘛,四个字节啊,4K个字节嘛啊,然后这里面还有很多其他属性啊,比方说我们一个分区里面支持多少个节点。
18:57
总的节点总的ino的数量是多少个?看到没?还记得我们每个分区是不是有一个节点编号的数字数量是吧?这是那个数量有多少个块是吧?这都是它的元数据。另外下面这就是分组,看到没有是不是组零啊,组一啊,组二啊,那么每个组里面到底是多少个块啊,3万个块。
19:21
3万个块,3万个块啊,从32768到65535,这是一个块。啊,这是属于这个组,那其中32768存的不是数据,存的就是超级块的备份,那超级块在哪呢?真正超级块在第一个里面。超级块里面存的就是我们数据,元数据包括从哪到哪,算是一个分组,那大家想这个超级块就是文件系统的原数据存放的位置。啊,当然这个原数据存放的位置很关键,它要是破坏了,那么我们是不是分区就乱套了,从哪到哪都搞不清了啊,从哪个地方到哪个地方是一组就搞不清了,所以超级块呢,为了避免它的故障,所以都有备份。
20:10
大家看这有备分成一块。备份超级串看到没有?备份超级块是不是有备份,那这个备份,而且备份的地方还挺多,这样带来的好处就是坏掉一个,我从别的地方能把它找回来啊。好,那这就是超级块,超级块后面还有什么GDP啊GDP啊GDP呢叫块组描述表,块组描述表啊,这个所有的块组描述表组成了。这样的一个GPD表,然后这里面有一些它的块描述信息,它的原数据信息,哎。啊,这个还有就是块的位图,这个块的位图呢,描述的就是我们当前硬盘这个分区,你不是有个块组吗?这个块组里面有好多块,有三万多个块,三万多个块的话,到底哪些块被占用了,哪些块没占,你是不是得表表示出来,因为将来你要创建文件的话,你往里放,我得知道哪些块能用啊,啊所以怎么表示呢?有一个叫位图,这个位图说白了就是一个小表格,大家。
21:19
大家买过楼吗?买房的时候你没买过,你至少看过吧,电影,电影它是不是有一个那个表啊,这个销表吧,应该是销控的,就是这个,比方说哎,这个404房间是吧?啊401402,比方说301302,这不是有一个编号有个表吗?如果这个房子卖出去了,他是不是给打个勾,那房子没卖是不是就是给他空着,对不对,这就是那个所谓的位图啊,那打逗勾,那那无非就是写个一嘛,写个一就表示房子卖出去了,那写个零,如果是空就表示没卖。啊,所以这个位图就是这个意思,位图这个意思啊,啊当然我也多年不看了啊,我这20年前看的,这20年前我买房的时候曾经看过啊,买楼的买楼的人啊,这个这个这个我有人传说我在这个呃,这个什么在这个在哪啊啊在在哪有有一套房是故宫是吧?啊这有有有位传说的啊,这是传说,实际上你要在故宫旁边住,不是生活不自由的,那小平房都是是吧,你实际上你们有机会去北京看一看啊,那边故宫旁边确实有。
22:59
有一些居民的房,不过那都是小平房,而且也挺拥挤的,停车都不好停,说实在的,汽车都挤到那个犄角旮旯动不动,可能旁边车就你蹭了没,没有停车的地儿啊,那这是刚才说的这个位图啊,当然节点编号也一样,那我们一个文件系统,它最多存放的节点数,这不是有限制吗?一个节点数就是一个节点数给一个文件分配吗?那这个节点,比方说节点编号一被占了没有,二被占了没有,三被占了没有,那这是不是也需要有一个分配的一个表示啊?哎,所以它这有一个节点编号的位图。
23:40
位图。啊,然后这边就是节点表了,节点表就是我们之前给大家说过的每个文件的属性啊,后面这个就是它的块空间,就是存放数据的位置。啊,所以现在大家看啊,这就被我们文件系统的整体上是不是有一个全面的认识啊,以前咱们给大家描述一个硬盘分区的大概组成,是不是原数据和数据实上现在呢,还有加了这么多东西啊,加了这么多东西。
24:16
好。那对于一个文件系统来讲呢,比较重要的它的元数据就是它的属性,说白了包括哪些呢?比方说它是否支持一些特性,我们不同的文件系统的特性是不一样的,比方说E4文件系统,它支持日志。这个日志的功能。在很多文件系统现在都开始支持早期的比方说e tr文件系统,它不支持日志,不支日志就带来的问题就是。我把数据直接放到文件系统里,没有日志的这个过程,这样的话很有可能产生一个问题,就是我写一个文件。
25:04
这个文件从内存中写文件,把你写到磁盘里,它是直接写到磁盘里的,万一写的过程中写了一半。那这个文件可能就破坏了,比方说我这有1K的文件。1K的文件从内存里写到磁盘里。刚写了512字节,还没有写完的时候,断停电了,那这时候是不是就写了一半数据进去,那这个文件就在磁盘上被损坏了。而日志呢,它的好处就是他把数据先放日志里面,他把这1K啊,先放在日志里面,当然日志也是放在本磁盘上的啊,他把这1K放在这儿,然后过一段时间再把这个日志里内容写入到真正存放数据的位置,带来的好处就是万一我写日志的时候坏了,坏了没关系啊,我这原始数据还在啊,对吧,万一我这个写日志的时候写完了,那写完了空调停电,停电没关系啊,机器重启它一日志一看有,他就把这数据给你写入到磁盘里去了。
26:07
总之多了日志功能可以确保你的数据的安全性啊,就相当于多了个备份似的啊,所以有了日志数据丢失的这种破坏的风险就降低了很多啊,这个就是它的,嗯,当然还有一些其他特性啊,其他特性另外呢,大家记得AC吗?这就是acl,看到没有acl呢?表示的是啊,访问控制列表,你想支持acl,这就必须要有acl,如果你把这个acl这个属性去了,那将来就不支持acl的,不过S748默认所有分子分区都支持acl,不过这里面需要注意,四六就不是四六,如果你是未分的分区是没有SL的,没有SR这个功能用不了啊,比方说我们在四六上如果也创建一个新的分区,我这刚才创建新的分区没有没有,那我就放分一个吧。
27:03
A,分一个啊,我分一个G分盘啊,不同步不同步。啊,不同步,我们刚才说过同步了,在三六上要同步,怎么同步啊,对吧,SBA啊住啊同步完了,同步完了以后呢,我们去合式化上用174来合式化。好个化列,你看现在再来看,大家有些东西就看懂了,你看这不就是一个块多大吗?对吧,然后呢,这里面有多少个节点呀,多少块啊。啊,对吧,有多少个超级备份块啊,这不都有吗?啊,然后这儿还有一个东西叫保留的块,保留块呢,在哪看呢,在这。
28:10
这个。这是保留的块,保留的块给谁用啊?大家看,这给褥子用,保留的块占总体空间的百分之多少啊?哎,这是总的块,保留了5%的空间,5%的空间给入的用户,也就是说硬盘如果空间满了,普通用户最多也就使用95%。5%的空间是给root用的。所以普通用户即使把硬盘撑满,只能撑95%,他预留了5%啊,防止你普通用户把所有空间都用光啊,是这个意思啊,那刚才我们已经分完了,分完以后呢,我们用这个命令来看一下这杠L1VDA6这个命令是可以看到咱们当前这个分区的原数据的。
29:06
那其中大家看这是不是就没有那个a CL mount option,这就缺了,你看八上面就有,你看八这是不是有mount option,是不是有acl,所以它没有acel,因此如果我们把它挂载到一个文件夹里面,比方说我们就建一个文件夹,把它挂上来,DVSD6挂上来,画上以后呢,你会发现这里面的数据它没有办法创建AC啊,比方说我们用set a c来设一下啊,记得这个命令吧,设一个读写加一下,你看它不支持。就是没有那个al啊,没有acl,那加呗,能不能加呢?可以加,就把这个地方给它加个CL,那怎么加acl呢?有一个命令叫特E2FS-oac后面跟上。分区的名称加了,加了以后看一看是不是真的加了。
30:06
有了吧,注意加了以后,它只是现在加了,那你刚才挂载已经来不及了,所以我们得重新挂载,那重新挂载呢,我们要取消挂载,先把原来的分区挂载先取消,然后重新挂载DVSD6重新挂载。啊,重新挂载完了以后呢,你进来再去设一下啊,成功了啊,你看上面有加号了吧。的加法不就说明设置成功了吗?理解了吧,所以三六呢,这个acr默认这个空间没有这个acr功能啊,当然我说的是自己分的分区啊,如果是你装测的时候分的分区,它有acl,你像咱们现在看到的系统自带的这个分区,比方说DVSD,这个是系统自带的,你看它就有acl。
31:01
是吧,你后分的没有,不管七往后都有了,不管你是手工分的还是操有分的,它都有啊都有。啊,保留的块,另外这个块大小,这个说到这个块,块是存放文件的最小单位,那么在Linux中叫块,在Windows里不叫块,叫促,叫促。就这个这个醋也好,块也好,是文件中啊存放文件的最小单位,啥意思啊,就是说你建一个新文件啊,这个文件哪怕它只有一个字节,那你也必须给它分配一个块。那我们刚才说了块大小是不是4K啊,那如果一个字节它要占4K,这些相当于这个城市居民的最低生活要求啊,你这个再低的工资,你不能低于这个吧,疫情期间是不是也得给老百姓最低生活?
32:05
收工资收入吧,啊,怎么也得给个2000块钱工资吧,要不没法生活呀,啊,这就是促,当然这个醋的话,因为它是4K为单位,所以这时候大家可能会想到一个问题,万一我的文件都是小文件,我这里面放了啊,很多很多小文件都是这个1K啊,2K呀,甚至几百个字节这种小文件。那你想这样的小文件就会带来什么问题?哎,你一个文件再小,它也要分配一一个块,而且我们不能说,哎,你挤挤吧,俩文件都放一个块里不行啊,这个这是最低生活要求,你至少也得给人家一张床吧,你不能俩人睡一张床吧。当然这个生活中是可以的啊啊,那但是我们这里面不允许啊,我们这里面不允许两个文件共用一个块啊,一个文件再小啊,你也得给人家一个块,所以这样的话,你是不是就会存在比较大的浪费啊,啊你像你这个文件都是1K的,你分配4K3K浪费。
33:19
啊,所以呢,这个块设多大一定要看你的实际业务需要,不过一般来讲现在都是大文件啊,小文件太少啊,太少了啊,如果说你的磁盘里都是小文件,那你可以考虑把这个块变小。这个块大小可以变成4K啊,如果你觉得大可以变成2K,也可以变成1K,这个呢,创建文件系统的时候可以指定啊,我们用这个方法来可以指,不过呢要指的话呢,先取消挂载。取消挂载,重新格式化,重新创建文件系统啊,指定的时候这有个杠B的选项,可以指定1K啊,也可以指定2K,默认是4K啊4K。
34:01
啊,这就值了,值完以后呢,确认一下它是不是变了啊,大家看1K了吧,啊1K了,当然你这个块小了,它块的数量是不是就多了啊是吧,那总的块数应该你看多了。啊,但是话说回来,如果你的文件都比较大,你要整个1K,你会觉得会产生问题,你是几个空间了,但是文件夹根本就没那么小的文件,都是大的文件,你这样会带来什么问题?那理论上我见的都是大文件,你结果抠抠搜索,每次都是1K1K给我的,我一个大文件肯定会分配很多很多块,这样的话是不是分配效率就低,一大块大块是不是吃肉那够痛快呀,对不对,那效率肯定高啊,大家生活也很幸福。是吧,每次都是1K1K给人家分,太小气了啊,理论上性能应该就差,那当然这个东西你得测一下啊,那这个测试呢,我们可以这样来测一下,Bv SD be挂到SD de这个目录下,那我们可以建个大文件来测一下,用D,然后zero of建一个文件,建个文件就要放在这里面啊,这个文件就叫F1,然后我们一块一兆建个1024,也就是。
35:31
一个G的文件,结果我们的块都是1K1K的,看看这个速度咋样。啊,这个速度大家看这已经看到了300多兆的速度吧,啊,300多兆的速度,而这这不还没我醒还是满了,这是。啊,那我分小了是吧,哎,我这个分区。分数多大呀,怎么都写满了呢,就是一个G啊,那就是将八不够啊,八不够啊,那就500吧,五百五百。
36:13
哎,为什么这次这么快呀,1.1个G,这个突破了我正常的理论,理论值了。因为有缓存。这就是缓存,你知道吧,它的数据放到内存里了,他分身放到内存里就成功了,所以这个就测出的值是不准的啊,不准的这个不是真实数据的空间。那所以我们这样,你可以用这个命令来测啊,测这个东西并不是很很很很准确,如果有缓存参与的话,那就是缓存的速度。好,那这个你们有时间可以来测一下啊,对于大文件的理论来讲,块越大效率越高,速度越快,但是应该说不会说是那么明显的,特别百分之多少啊,100%的提升的没那么明显夸张啊,有一点改善,有一点改善。
37:08
啊,另外呢,这边它有一个分区的文件系统的状态叫clean clean呢就是干净就表示文件系统是正常的,那么有的时候会出现no click noing就表示文件系统出故障啊,因为文件系统本身就是软件嘛,软件出事也是正常的啊,所以有的时候会出现no。No呢,比较容易出现的就是比方说不小心把人家的文件系统给破坏了,哎,尤其你看滴滴命令就可以破坏掉。啊,那比方说我们这边有一个这样的一个,呃,修复的方法,大家看,如果文件系统破坏了,我们可以怎么来修复呢?它有一个命令叫这样的命令叫EF。EC可以来修复文件系统啊,或者用FC。这个命令它可以修复各种各样的文件系统,在修复的时候呢,你要指定文件系统类型,比方说你要修E4,你就加E4啊,如果你要修FFS就加FSFS实际上是人家有专门的一个文件命令,就是专门修FFS这边也可以修,它也可以有一些选项,比方说我们故意来破坏一下啊,你看这个。
38:24
啊,我们把一个分区挂到一个文件夹里面,现在我已经挂上去了,刚才挂过了啊,挂过了以后呢,我们去看一下,它是挂载关系一步,你看我们这儿有一个IDB1,这不已经挂上来了吗?啊挂上以后呢,就能看到它的大小,总共的空间是这么多,已经用了空间这么多,剩下可用的空间这么多啊。啊,我们看到。可用的1%了,那这个这个空间快满了呀。空间快满了,呃,这是啊,不对,这是可使用的,这个是它的总大小,这是使用了多少,可用的这么多啊,那就是用过的1%,那还早呢啊,那我们现在在这里边没什么东西是吧?啊把这个清了吧,行了,好,那现在我就拷点文件过来,比方说我们把ETC这些文件都给它拷过来,好大家看拷了一大堆文件,那拷了一大堆文件以后呢,这个文件文件系统有可能被破坏了啊,比方说我们用DD命令不小心把人家给破坏了这个。
39:36
破坏的时候呢,我就破坏了它的一兆的数据。一兆一兆,我把这个分区的第一兆的空间给它破坏了,但是破坏的时候我把这命令改成IDB1,因为我们现在拿IDB做实验。那这个就是把整个ID be的第一兆的空间全部清零,那你想咱们文件系统有一部分数据是原数据是放在哪的,是不是放在这个这里面,比方说我们有超级块,超级块里面放在原数据,结果呢,你把超级块放在最前面给充明了,这不就破坏了,破坏以后现在这个空间还能用吗?那我们来看一下。
40:18
直接去访问ID be,你看。直接不能访问了。空了啊,空了啊,那空了那东西是不是真的就不能访问了呢?那我们来看一下个杠l evdb1。你看是不是这个分区都没有办法看到它的原数据了,直接就出问题了,因为你把人家原数据给破坏了,所以要修复,怎么修复呢?哎,我们刚才提到了有FICT这个命令先来修,但是修复的话呢,一定要先取消挂载,我刚才没有取消挂载还挂着呢,你看这个大小是不是都完蛋了。它既然显示到Z级别了,这不就全乱套了吗?哪有那么大呀,所以这个就是分区出了故障了,看到没有出了故障了啊,所以那出了这个问题,那我们先取消挂载,先把这个挂载关系先取消与uma,当然这种取消修复并不能确保真的能修复过来啊。
41:21
啊,只能说是看情况了啊,取消挂载了,取消挂载完了以后,那接着我们去修复,用这个命令修复128CK修复的时候呢,他会问你很多问题,所以这个问题呢很多,比方说他会问你他说什么,诶啊是一啊一,然后问你说是是不是要发现超级块无效了,那自动它就会找那个备份超级块,备份超级块不是放了它的原数据的备份吗?C,那超级块修复吗?那Y然后是不是要啊,他说这个inod已经无效了,是不是要重新创建,你想这一个问题一个问题问你太麻烦了,所以我们就不这么干了,哎,我们这儿有一个叫杠Y的。
42:07
杠Y呢,就是把所有的问题都是回答yes,那就省得我一个个回答了啊,他说什么,他说不能继续,哎,这个又是那个第二一,好,大家看这就修复了,看到没?你看这个里面是不是帮我们回答了不少意思呀。啊,修复了好,修复完了以后接着那看看那是不是能够整好啊,看看数据能不能恢复。得了,虽然修复了,但是数据都丢了啊,所以呢,这个东西修复并不是说真的能一定能确保你的文件一个不丢,运气好修复一下,运气不好数据还是丢了啊。就跟你重新格式化差不多了是吧,重新格式化不也这样吗?啊,所以我们现在虽然表面上修复了,但是数据实际上并没有真的。
43:04
恢复成功,数据还是丢了。啊,刚才我在这里面演示的时候,你看我这是以前演示的啊,以前演示的确实能找回来,F1F2找回来了,但是我刚才演示就失败了,所以这个修复终究来讲你故障还原。不能确保100%恢复。好,所以尽可能还是不要搞破坏啊,那最简单的方法,你不能保证破坏,那怎么办?备份呗,是不是关键数据是不是要备份啊,啊,大家看no clean not clean,那说明现在还不正常了。那这个not clean说明还是不正常,就是修复的还是不彻底啊,Not clean,所以这个实际上现在。准确的说,它这个修复还是并不是完全修复好,还是有问题的,还是有问题的,FC-FF强行修复,看能不能修复一部分。
44:08
好,然后呢,我们再去看一下这个接系统,它这显示没显示,哎,这回修好了是吧,另了,然后DVSDB1SDB1给它挂回来。数据还是没有是吧,这就丢了啊,虽然可了吧,但是已经无济于事了啊,无济于事了,所以实际上大家知道啊,这修啊终究是个亡羊补牢的事儿。是吧,那很可能数据就丢了,所以关键数据一定是有备份的。啊,关键数据一定是有备份的啊,当然备份没那么神奇,我们讲过了,就是他就是打包嘛,把你的重要数据打包,然后拷到远程的主机上,而且不要拷一份吧。
45:02
是不是至少得考两份啊?考两份,至少考两份,这样的话,万一有一份坏了,是不是还有另一份?对吧,所以数据呢,一定是生产中有备份。好,这是刚才给大家讲的这个特FS,不过这个命令需要强调一点,它只能观察ET系列的文件系统的特性,如果是XF,不是用它XFS,用这个叫英付这个来看,比方说IDB2 idb2是用X阿尔法来格式化的,所以你看他要看的话就看这个,这是它的特点,比方说它是不是也有块大小。是吧,有多少个块对不对,有多少个节点啊等等吧,这里面它实际上都有都有啊,当然这些底层文件系统呢,大家知道了解一下就行了,对于我们来讲呢,一般文件系统就是存数据的地方,你只要不要把它搞坏了就可以了啊。
46:01
那XFS最大的特点相对T来讲就是它支持更大的硬盘和分区,这个我们在之前看到过,它那个限制使用起来实际上对我们一般使用没什么大的区别。好,那刚才呢,我们已经给大家讲了这个文件系统的创建啊,包括还有就是挂载啊挂载,然后包括还有一些修复,这里面刚才我们也给大家讲了修复的方法FK,但是这个修复不确保数据一定能找回来啊,有的时候能找回来,有的时候还是找回来好,那这些命令咱们现在就知道了,X英符,这是我们刚才讲过了啊,这个是查看它的属性,就我刚才说过了,嗯。好,那么咱们这特efs这个命令,它除了用杠O,还有一些选项可以来讲,比方说还可以用杠U-U呢,是修改这个文件系统的UUID啊,不过一般来讲UID很少去修改,我们创建完了就不动了啊BKID就这个UID。
47:15
这个UID也可以改啊,我们刚才说用TEF-U可以来改,当然改的话呢,你一定要按照这个标准格式来改,这个UID呢,它的这个位数。很长,它都是用16进制来写的,这16进制呢,你看这个是八位的16进制,四位四位,四位12位。啊,那这是多少位呀。36你得刨去中间的减号32个三十二一个16进制相当于四个二进制。啊,一个16进制相当于四个二进制,所以乘四。这是它真正的这个UID占的二进制位数多少位啊,一百八位啊,一百八位啊,那一百八位这个数据量是非常巨大的啊,那么UUID这个ID我想想指定一个新的,那我得生成一个新的才行,那怎么生成新的呢?有一个叫UUIDJ这个命令,这个命令可以随机生成UUID。
48:28
所以生成之后,我就可以拿这个新生成的UID来设置我这个设备的ID号啊,那我们去改的话呢,就可以用特efs杠大U指定新的UID,再跟上有中文了,DVD1给它加上就行了。诶,他这提示我们说什么,说这个仓宇总要求一个。被干净的文件系统,那这个文件系统看的不干净的,它不干净,它是提醒我们用刷检查一下,他说不能进行,为什么被挂载,所以我们还得先取消挂载DB1把它取消挂载再检查,哎,然后再去执行检。
49:16
哎,确定吗?确定好了就就诶他说UID格式错误,诶格式错了吗?我这UID不是生成的吗?这格式错哪了,我不刚才不就是复制粘贴的吗。那你看它格式错误。UID再重新生成一个,那把它删了。啊用呃,TFS-U把它重新删了。来,再来一遍,走,哎,这回好了,神气不神气啊啊,这个UID就改了啊,UID这这应该就就变了啊,这个UID就变了。
50:09
当然实际上不神奇啊,不神奇啊,怎么做的,实际上这个中间呀。中间之所以第一次出错,就是因为这是中文输入的空格中文输入法导致的。看到没?你看这个壳是不是比一般的空格要多一半啊,所以有的时候你真的是看不出来啊,所以你们敲命令啊,尤其不要复制粘贴我那个文档啊啊,这文档一复制,说不定带中文乱七八糟的你就完蛋了,你又看不出来。因为那文档抄还能抄错呀,你别说就有抄错就有抄错。好,那这是咱们文件系统的UID,当然知道怎么改,一般也不改了啊,一般也不改啊,还有就是我们还可以贴标签,还可以给这个文件系统贴标签,贴标签就是描述它的功能,我用这样的命令, turne2杠大L给它贴标签,比方说将来SD be的这个要放数据库,那我们就给它起一个数据库的database MySQL MySQL数据库,哎,给它贴个标签,贴上标签了,贴了标签以后我怎么知道贴标签的呢?哎,你用BPID,你可以看这个地方是不是有一个叫label的东西出来了,这标签啊啊。
51:40
当然这个贴标签就是为了提醒我们说这个是干嘛用的,这个分区是做什么用的,是一个描述文字,相当于啊,那事实上到现在大家看对于这个分区来讲,是不是我们现在就有三个名字了,第一设备名,第二标签,第3UUID是不是都是它的名啊,那这三个名字我们将来在配置文件中是需要来写这个设备的。
52:06
信息的,那么写这个设备的信息,我们用这个三个名字理论上都是可以的。都是可以,那用哪个好啊。设备名可以,但是设备名不推荐。不推荐,之所以不推荐,咱们上次讲了吗?上明文是不是有可能变对吧?Label呢,也不太推荐,因为label万一10001000,比方说你从别的硬盘上拆了一个硬盘过来,结果它也叫label,是是不是和你冲突了,而UIB。会冲突吗?理论上可能存在,但是它的可能性基本上为零,几乎为零,那就是二的一百二十八一二的一百二次八次方分之一的可能性基本不存在。
53:04
所以用这个UID是比较推荐啊,当然缺点就是写起来比较长,当然你也不用写,你复制粘贴不就得了吗?是吧,写UIDUID。啊,这是刚才给大家讲的,另外呢,在这个地方,它这个属性里面有很多信息啊,比方说你看这个文件系统是创建时间,什么时候创建的,然后呢,这个这还有一个挂载,大家看啊,有一个叫挂载,你看这个是最后一次挂载的时间,就是这个分区不是挂载了吗?哎,那另外呢,这还有挂挂载次数,挂载次数那这个是零,那如果我现在挂一下,那我们来看看它有没有变化啊,现在没有挂,那我们就挂一下evid be挂到ID be1这个目录下,然后呢,看一下它这个次数会不会。是不是会不会变化。有吧,一是不是,哎,当然你要取消挂载,取消挂载会变吗?哎,他这个记录的是你总共挂了多少次啊,所以你取消挂了跟他没关系,那再挂一次,你在第二次再挂,再看是不是它增长啊,看到没有,就是总共挂了多少次嘛,啊挂了多少次它会记录,然后呢,这个总共挂了多少次,大家看这有一个最大的挂载看到没。
54:26
这什么意思?这个最大的挂载次数负一说的啥,就是不限制不限制,那如果把它改成十,这个是可以改的啊,这个东西怎么改呢?哎,我们可以用这个命令来改TEFF,杠杠,Help用它可以改,看哪改呢?C是挂在次数有一个。Mask。
55:01
这个小C我给他指定十,这就改了,改了以后你看是不是就改成了十,那改成十,我现在已经挂了两次了,十意味着什么?再挂八次就不能用了是吗?所以不是这个意思,不是说你最多挂十次,这个十和下面这个值是相有关的,哪个呢?就是嗯,这个。这个这个叫检测间隔,这个叫检测间隔,这个检测间隔说白了就是用F做文件系统检查,那么当你的挂载次数达到十次,或者这个检测间隔到达了这两个条件,只要有一个时间到达,比方说这因为这是空网,现在就现在不检查,那如果比方说我们在写成六六个月。
56:01
写成六个月以后,就是六个月或者挂的次数达到十次,要有一个条件满足,它就会自动的检查文件系统的完整性,那吧,它不帮你自动检查啊,相当于这个政府来检查你的是吧,工商营业执照了,哎,多长时间检查一次,如果有问题是不是就开始给你整顿了。啊,这个意思。啊,这就是这样的一些常见的原数据啊,当然这些原数据呢,大家了解一下,一般我们也很少去刻意的去改,刻意的去改。好,那这就是刚才给大家讲的这些命令啊,杠O。这个也是可以去掉日志功能,这个我们知道就行了,一般也别去啊,什么把YET3提升啊,变成yet t t t2变成T3,这个也不用去换了,因为现在都不用E2E3淘汰了,还有这个这个东西我觉得还是看一下这个叫预留的百分比,刚才还记得吗?预留百分之多少来着,五百分之五的话呢,对于一般的分区还是可以,但是有的时候分区比较大,比方说我的硬盘买回来两个T的硬盘分了一个分区,你说你要预留5%,那大概多少啊。
57:19
一个T吧,一个T好算是吧,一个T一个T的5%是多少?是不是50G。是吧,一个T你预留5%不就是50T嘛,啊50G,那50G也就是50G的空间,普通用户是用不了的,所以预留5%是不是预留的有点多呀,所以这个值可以百分之比一调啊,这个调的话呢,咱们现在你看这就是5%,这能看出来啊,你看这个是保留的空间,这是总的空间啊,这应该就是5%吗?这能看出来,那我现在就不想预留5%,像预留1%行不行。
58:00
假如预留0.1%行不行啊,那就是特杠。C-M是吧,比方说0.1改了,看你看看是不是一零点百分之零点一。看见没,你数数是不是百分大概吗?是吧,这可以,这是可以调的啊,可调这里面需要注意块大小是改不了的啊,块大小要想改,重新格式化。大家重新格式化创建容器系统,那是不是数据就丢了?所以块刚开始一定要之后好指定好啊,后期你就不要改了,后期要改那就重新把这数据都给刷了啊,所以块呢,一般来讲指定好大小就行,然后节点的数量也不能改,大概这就是节点数,节点数量就是创建的时候自动就给你根据磁盘的空间大小自动指定了一个大小。
59:05
这个大小你在创建文件系统的时候可以指,但是创建完了就不能改了,这个创建文件系统的时候,你可以通过make FS这个可以来指啊,比方说我们现在挂着是吧,挂着先取消挂载,取消挂载,取消挂载完了以后用用make FS,比方说E4这是可以指定。它的节点的数量,这个节点数量呢,我们看到现在是,呃,最大是多少,65535对吧,这是它的数量,但是我们也可以认为指,那指头是怎么指呢?这有一个数量,看到没有有个N。可以指定多大多少。啊,指定多少。啊,比方说我们指定一个数量是。给它翻十倍,就这个给他翻十倍加个零加B。
60:03
4096-B是指块大小啊,然后看看有没有变成我们想要的。啊,是这么大吧,对不对啊,但是你觉得这样做有没有意义?大家看4K为什么说没有意义呢?为什么没意义啊,我指定了这么多不好吗?这么多可以存放这么多文件呀,一个节点号给一个文件呀,为什么说你们有人我听说没意义呀,你没意义咋咋咋来的,你看见了吗?块总共才多少?块总共才这么多,结果你比块的数量还多,一个块最多给一个文件,所以那我们最小最小一个文件占一个块,那结果你。
61:07
你这么多节点有用吗?用不着啊,浪费呀,是不是明白这一逻辑吗?因为我们一个块最多给一个文件,所以最多也就这么多文件,结果你还整出这么多节点预留出来给用啊。没有用啊,而且没那么多名额,而是就没那么多人,你非要预留那么多名额,是不是没用意义啊?好,这是,所以这个东西呢,我们大概知道就行了,一般来讲呢,这些我们指定完就可以默认指定好就不用动了啊,你要是不指定,它默认就会分配一个默认值,默认值。默认值。默认值和文件系统的空间大小有关,空间越大,这个节点数就越多。
62:00
那。呃,好像在生产中有的时候万一不小心把节点用光了,这个怎么办呀?节点编号用光了,但是我的硬盘空间还大,那这个怎么办啊?节点编号不够了,但是硬盘空间还够。那这个怎么办?那就说明你小文件太多了是吧,你的这个小文件消耗了特别多的节点编号啊。那像这种情况下,那怎么办呢?要么你就是把这个分区的数据给它挪走,挪走以后重新把这个分区创建文件系统的时候,指定小的编号啊,指定比方说这个块是不是少一些。然后这个节点标号多一些。然后再把那个数据给他拷回来。
63:02
因为你改是不能改的,你只能重新创建文件系统,知道吧,改是没法改,就这么来做。啊,所以希望大家明白它背后的逻辑啊。啊,这个确实有些。环境中啊,因为文件都是小文件,碎文件,消耗了比较大的节点编号,文件空间还够,但是节点标号不够。好,这是我们给大家讲的,另外呢,还有一些命令,比方说这个是给E系列的文件系统加标签啊,加标签刚才我们创建文系统的时候可以加,那实际上这个我们在创建好之后也可以给它修改贴标签,用E2LABEL贴标签也是可以的啊,比方说我们这已经格式化文件系统了,不想重新格式化了,那你也可以用这个方式来重新给他贴上一个新的标签。你像这个上面没有标签了,那我给它贴标签,用E2LABEL DV be,比方说贴一个标签叫什么呢,数据。
64:11
一般来讲,贴标签建议大家把这个标签的名称和它的挂载点。同名,比方说将来他要挂到这儿,那你就给他贴个标签,是这个啊,你再看这不就有标签了吗。对吧,Label就贴标签。好啊,另外呢,我们用finds可以搜索,它可以搜索,比方说根据标签来搜索,根据UID来搜索。可以来定位啊,比方说根据UID来搜索啊,那我们假设这有个UID是这个,那我要搜,那换一个FS,后面跟上这个UID等于啥就搜出来了。啊,诶,那现在大家想一想,现在我想知道知道啥呢?这个文件,大家看这个文件里面,这是不是有ID,现在我想知道data塔对应的这个UID,这个ID对应的设备是谁。
65:14
怎么找?就是我想找data这个分区对应的设备名是谁,因为这光写一个ID不知道设备名是啥,我就想找到你是sda什么什么,到底是谁,怎么找。一条命令能不能搞定?写一个命令搞定。怎么找啊?啊,比方说这个是塔。Data是第二列是吧,第二列,那我们把这个文件的data先找出来。
66:02
啊,找出来以后,我们要把这个取出来。这个取出来以后作为条件提用find的法是不是就搜到了,那这个怎么把它找出来呀。就到这不就行了吗?啊,那怎么把这段取出来呀,实际上我们用free set1条命令搞定吗?正好复习一下赛。在这怎么找对他包含这一行,搜索替代,这不都是套路吗?搜索啥防守中间。非空格的任意字符。非空格的。任意字符一个以上加号,当然这个地方用扩展的这个表达式。
67:00
是吧,啊,然后一直到哪把它点星,然后用分组是不是,然后用反向后向。引用找出来,打印找出。找出来以后把它作为条件换一个FS。看懂了吗?看明白了吗?这是不是很easy呀?没啥难的吧,因为大家用多了,用多了就熟了是吧。
68:02
啊,这是搜索。好,那么现在呢,我们就知道了,分区的这个简单的从创建分区到创建文件系统到挂载啊,咱们现在就知道大概怎么用了,所以拿着一块新硬盘,现在我们可以玩的转了是吧?分区创建微机农一挂不就可以使用空间了吗?当然,这还是刚刚开始啊,还有更重要的东西,休息一会儿再讲。
我来说两句