《Linux磁盘与档案系统管理14385.doc》由会员分享,可在线阅读,更多相关《Linux磁盘与档案系统管理14385.doc(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Evaluation Warning: The document was created with Spire.Doc for .NET.Linux 磁盘与档案系统管理1认识 EXXT2 档档案系统11硬盘物理组组成1磁盘分割 ( Paartittion )2档案系统33Linuxx 的 EXTT2 档案案系统( inoode )4EXT2/EXT33 档案的的存取与日日志式档案案系统的功功能8数据的不一一致 (IInconnsisttent) 状态11Linuxx 档案系系统的运作作12挂载点的意意义 (mmountt poiint)一一三其它 Liinux 支持的档档案系统一一三档案系统的
2、的简单操作作14磁盘与目录录的容量114df14du17连结档的介介绍: lln一八# Harrd Liink (硬式连结结或实际连连结)19# Symmboliic Liink (符号连结结,亦即是是快捷方式式)20关于目录的的 linnk 数量量22磁盘的分割割、格式化化、检验与与挂载233磁盘分割: fdiisk244# 删除磁磁盘分割槽槽27新增磁盘分分割槽288# 操作环环境的说明明30# 注意事事项:311磁盘格式化化31mkboootdissk (制制作软盘开开机片)33fdforrmat (进行软软盘低阶格格式化)33磁盘检验: fscck, bbadbllockss33fsc
3、k334badbllockss35sync335磁盘挂载与与卸载366umounnt (将将装置档案案卸载)39磁盘参数修修订39mknodd39e2labbel400tune22fs411# hdpparm441设定开机挂挂载43各式磁盘挂挂载与中文文编码挂载载还有 UUSB 随随身碟444挂载软盘444挂载 Wiindowws 磁盘盘44挂载 USSB 随身身碟45开机挂载 /etcc/fsttab 及及 /ettc/mttab455特殊装置 loopp 挂载49建立大型档档案49格式化499挂载50虚拟内存之之建置500建立虚拟内内存装置551建立虚拟内内存档案551虚拟内存的的限制53
4、3本章习题练练习:53389Linuxx 磁盘与与档案系统统管理我们在前面面的档案权权限介绍的的章节当中中,提到很很多的权限限与属性的的观念,那那么接下来来要了解的的是,这些些属性是记记录在硬盘盘的那个地地方?这里里就要特别别了解到 Linuux 档案案系统( fillesysstem )是如何何记录档案案,与档案案是如何被被读取的啰啰!而要了了解整个档档案系统的的观念,就就不能不知知道硬盘的的组成组件件!所以,在在这个章节节当中,我我们由最基基础的硬盘盘组成组件件介绍起,并并介绍 iinodee 与连结结文件等基基本知识,以以及如何利利用开机即即可挂载的的方式来使使我们的各各个 paarti
5、ttion 可以在开开机时就已已经进行好好挂载的动动作喔!认识 EXXT2 档档案系统既然这个章章节主要在在探讨 LLinuxx 的磁盘盘档案系统统,所以我我们当然就就需要先来来了解一下下硬盘是个个什么东西西啦!首先先,我们就就来看一看看硬盘的物物理组成,了了解了物理理组成之后后,再来说说明一下怎怎么样进行行硬盘的分分割 (ppartiitionn) 吧!硬盘物理组组成就硬盘的物物理组件来来说,硬盘盘其实是由由许许多多多的圆形硬硬盘盘所组组成的,依依据硬盘盘盘能够容纳纳的数据量量,而有所所谓的单碟碟 (一块硬硬盘里面只只有一个硬硬盘盘) 或者是多多碟 (一块硬硬盘里面含含有多个硬硬盘盘)的硬盘
6、。在在这里我们们以单一个个硬盘盘来来说明,硬硬盘盘可由由底下的图图形来示意意:图二、磁柱示意图图一、硬盘盘示意图首先,硬盘盘里面一定定会有所谓谓的磁头 ( Heead ) 在进进行该硬盘盘盘上面的的读写动作作,而磁头头是固定在在机械手臂臂上面的,机机械手臂上上有多个磁磁头可以进进行读取的的动作。而而当磁头固固定不动 (假设机机械手臂不不动) ,硬盘盘盘转一圈圈所画出来来的圆就是是所谓的磁磁道( Traack );而如同同我们前面面刚刚提到到的,一块块硬盘里面面可能具有有多个硬盘盘盘,所有有硬盘盘上上面相同半半径的那一一个磁道就就组成了所所谓的磁柱柱( Cyllindeer )。例如上图二二所示
7、意,在在两个硬盘盘盘上面的的同一个磁磁道就是一一个磁柱啦啦!这个磁磁柱也是磁磁盘分割( parrtitiion )时的最小小单位了;另外,由由圆心向外外划直线,则则可将磁道道再细分为为一个一个个的扇区( Secctor ),这个个扇区就是是硬盘盘上上面的最小小储存物理理量了!通通常一个 secttor 的的大小约为为 5122 Byttes 。以以上就是整整个硬盘的的基本组件件。在计算整个个硬盘的储储存量时,简简单的计算算公式就是是:Cyllindeer x Headd x SSectoor x 512 Bytees。另外外,硬盘在在读取时,主主要是硬硬盘盘会转转动,利用用机械手臂臂将磁头移移
8、动到正确确的数据位位置(单方向的的前后移动动),然后将将数据依序序读出。在这个操操作的过程程当中,由由于机械手手臂上的磁磁头与硬盘盘盘的接触触是很细微微的空间,如如果有抖动动或者是脏脏污在磁头头与硬盘盘盘之间时,就就会造成数数据的损毁毁或者是实实体硬盘整整个损毁因此,正确确的使用计计算机的方方式,应该该是在计算算机通电之之后,就绝绝对不要移移动主机,并并免抖动到到硬盘,而而导致整个个硬盘数据据发生问题题啊!另外外,也不要要随便将插插头拔掉就就以为是顺顺利关机!因为机械械手臂必须须要归回原原位,所以以使用操作作系统的正正常关机方方式,才能能够有比较较好的硬盘盘保养啊!因为他会会让硬盘的的机械手臂
9、臂归回原位位啊!磁盘分割 ( Paartittion )在了解了硬硬盘的物理理组件之后后,再接着着下来介绍绍的就是硬硬盘的分割割( Parrtitiion )啰!为什什么要进行行硬盘分割割啊?!因因为我们必必须要告诉诉操作系统统:我这这块硬盘可可以存取的的区域是由由 A 磁柱柱到 B 磁柱,如如此一来,操操作系统才才能够控制制硬盘磁头头去 A-B 范围围内的磁柱柱存取数据据;如果没没有告诉操操作系统这这个信息,那那么操作系系统就无法法利用我们们的硬盘来来进行数据据的存取了了,因为操操作系统将将无法知道道他要去哪哪里读取数数据啊!这这就是磁盘盘分割( Parrtitiion )的重点了了:也就是
10、是记录每一一个分割区区( Parrtitiion )的起始与与结束磁柱柱!好了,那么么这个分割割区的起始始与结束磁磁柱的数据据放在哪里里呢?!那那就是我们们在 Liinux 安装与多多重开机技技巧那个章章节提到的的主要开机机扇区( Masster Boott Reccordeer, MMBR )啰!事实实上, MMBR 就就是在一块块硬盘的第第零轨上面面,这也是是计算机开开机之后要要去利用该该硬盘时,必必须要读取取的第一个个区域!在在这个区域域内记录的的就是硬盘盘里面的所所有分割信信息,以及及开机的时时候可以进进行开机管管理程序的的写入的处处所啊!所所以,当一一个硬盘的的 MBRR 坏掉时时,
11、由于分分割的数据据不见了,呵呵呵,那么么这个硬盘盘也就几乎乎可以说是是寿终正寝寝了,因为为操作系统统不知道该该去哪个磁磁柱上读取取数据啊那么 MBBR 有什什么限制呢呢?他最大大的限制来来自于他的的大小不够够大到储存存所有分割割与开机管管理程序的的信息,因因此,MBBR 仅提提供最多四四个 paartittion 的记忆,这这就是所谓谓的 Prrimarry (PP)与 Exttendeed (EE) 的 parrtitiion 最最多只能有有四个的原原因了。所所以说,如如果你预计计分割超过过 4 个 parrtitiion 的的话,那么么势必需要要使用 33P + 1E ,并并且将所有有的剩
12、余空空间都拨给给 Exttendeed 才行行( 记得呦! Exttendeed 最多多只能有一一个 ),否则则只要 33P + E 之后后还有剩下下的空间,那那么那些容容量将成为为废物而浪浪费了,所所以结论就就是如果果您要分割割硬盘时,并并且已经预预计规划使使用掉 MMBR 所所提供的 4 个 parrtitiion ( 3P + E 或 4P )那么磁磁盘的全部部容量需要要使用光,否否则剩下的的容量也不不能再被使使用。不不过,如果果您仅是分分割出 11P + 1E 的的话,那么么剩下的空空间就还能能再分割两两个 prrimarry paartittion !档案系统在告知系统统我的 ppa
13、rtiitionn 所在的的起始与结结束磁柱之之后,再来来则是需要要将 paartittion 格式化为为我的操操作系统认认识的档案案系统( Fillesysstem )啰!因为每个个操作系统统认识的 fileesysttem 并并不相同!例如 WWindoows 操操作系统在在预设状态态下就无法法认识 LLinuxx 的档案案系统 ( 这里指指 Linnux 的的标准档案案系统 eext2 )。所以以当然要针针对我们的的操作系统统来格式化化 parrtitiion 啰啰!我们可以说说,每一个个 parrtitiion 就就是一个 Fileesysttem ,那那么一个 parttitioon
14、 是否否可以具有有两个 FFilessysteem 呢?!理论上上应该是不不行的!因因为每个档档案系统都都有其独特特的支持方方式,例如如 Linnux 的的 extt3 就无无法被 WWindoows 系系统所读取取!而你将将一个 ppartiitionn 格式化化的时候,总总不能格式式化为 eext3 也同时格格式化为 fat332 吧?!那是不不可能的啊啊!不论是哪一一种 fiilesyystemm ,数据据总是需要要储存的吧吧!既然硬硬盘是用来来储存数据据的,想当当然尔,数数据就必须须写入硬盘盘啦!刚刚刚我们提到到硬盘的最最小储存单单位是 ssectoor ,不不过数据所所储存的最最小单
15、位并并不是 ssectoor 喔,因因为用 ssectoor 来储储存太没有有效率了。怎怎么说呢?因为一个个 secctor 只有 5112 Byytes ,而磁头头是一个一一个 seectorr 的读取取,也就是是说,如果果我的档案案有 100 MByytes ,那么为为了读这个个档案,我我的磁头必必须要进行行读取 (I/O) 204480 次次!为了克服这这个效率上上的困扰,所所以就有逻逻辑区块( Bloock )的产生了了!逻辑区区块是在 parttitioon 进行行 fillesysstem 的格式化化时,所指指定的最最小储存单单位,这这个最小储储存单位当当然是架构构在 seecto
16、rr 的大小小上面( 因为 seectorr 为硬盘盘的最小物物理储存单单位啊! ),所以以啦, BBlockk 的大小小为 seectorr 的 2 的次次方倍数。此此时,磁头头一次可以以读取一个个 bloock ,如如果假设我我们在格式式化的时候候,指定 Blocck 为 4 KKBytees ( 亦即由连连续的八个个 secctor 所构成一一个 bllock ),那么么同样一个个 10 MByttes 的的档案,磁磁头要读取取的次数则则大幅降为为 25660 次,这这个时候可可就大大的的增加档案案的读取效效能啦!不过,Bllock 单位的规规划并不是是越大越好好喔!怎么么说呢?因因为一
17、个 Blocck 最多多仅能容纳纳一个档案案 (这里指指 Linnux 的的 extt2 档案案系统)!这有什什么问题呢呢?举例来来说好了,假假如您的 Blocck 规划划为 4 KByttes ,而而您有一个个档案大小小为 0.1 KBBytess ,这个个小档案将将占用掉一一个 Bllock 的空间,也也就是说,该该 Bloock 虽虽然可以容容纳 4 Kbyttes 的的容量,然然而由于档档案只占用用了 0.1 Kbbytess ,所以以,实际上上剩下的 3.9 KByttes 是是不能再被被使用了,所所以,在考考虑 Bllock 的规划时时,需要同同时考虑到到: * 档案读读取的效能能
18、 * 档案大大小可能造造成的硬盘盘空间浪费费因此,在规规划您的磁磁盘时,需需要留意到到您主机的的用途来进进行规划较较佳!例如如 BBSS 主机由由于文章较较短,也就就是说档案案较小,那那么 Bllock 小一点的的好;而如如果您的主主机主要用用在储存大大容量的档档案,那么么考虑到效效能,当然然 Bloock 理理论上,规规划的大一一点会比较较妥当啦!Superrblocck:如同同前面说的的,当我们们在进行磁磁盘分割( parrtitiion )时,每个个磁盘分割割槽( parrtitiion )就是一个个档案系统统( fillesysstem ),而每每个档案系系统开始的的位置的那那个 bl
19、lock 就称为 ssuperrblocck ,supeerbloock 的的作用是储储存像是档档案系统的的大小、空空的和填满满的区块,以以及他各自自的总数和和其它诸如如此类的信信息等等,这这也就是说说,当您要要使用这一一个磁盘分分割槽( 或者说是是档案系统统 )来进行行数据存取取的时候,第第一个要经经过的就是是 supperbllock 这个区块块了,所以以啰, ssuperrblocck 坏了了,您的这这个磁盘槽槽大概也就就回天乏术术了!Linuxx 的 EXTT2 档案案系统( inoode )看完了上面面的说明,您您应该对于于硬盘有一一定程度的的认识了!好了,那那么接下来来就是要谈谈一
20、谈 LLinuxx 的档案案系统( Fillesysstem )啰!我我们这里以以 Linnux 最最标准的 ext22 这个档档案系统来来作为说明明。还记得得我们在 Linuux 档案案属性与目目录配置那那个章节提提到的,在在 Linnux 系系统当中,每每个档案不不止有档案案的内容数数据,还包包括档案的的种种属性性,例如:所属群组组、所属使使用者、能能否执行、档档案建立时时间、档案案特殊属性性等等。由由于 Liinux 操作系统统是一个多多人多任务务的环境,为为了要保护护每个使用用者所拥有有数据的隐隐密性,所所以具有多多样化的档档案属性是是在所难免免的!在标标准的 eext2 档案系统统当
21、中,我我们将每个个档案的内内容分为两两个部分来来储存,一一个是档案案的属性,另另一个则是是档案的内内容。为了应付这这两个不同同的咚咚,所所以 exxt2 规规划出 iinodee 与 Bloock 来来分别储存存档案的属属性( 放在 innode 当中 )与档案案的内容( 放置在 BBlockk areea 当中中 )。当我我们要将一一个 paartittion 格式化( forrmat )为 extt2 时,就就必须要指指定 innode 与 Bloock 的的大小才行行,也就是是说,当 parttitioon 被格格式化为 ext22 的档案案系统时,他他一定会有有 inoode ttab
22、lee 与 bloock aarea 这两个区区域。Blockk 已经在在前面说过过了,他是是数据储存存的最小单单位。那么么 inoode 是是什么?!简单的说说, Bllock 是记录档案内容容数据的的区域,至至于 innode 则是记录录该档案案的相关属属性,以及及档案内容容放置在哪哪一个 BBlockk 之内的信息。简简单的说, inode 除了记录档案的属性外,同时还必须要具有指向( pointer )的功能,亦即指向档案内容放置的区块之中,好让操作系统可以正确的去取得档案的内容啊!底下几个是 inode 记录的信息(当然不止这些): * 该档案案的拥有者者与群组(owneer/grr
23、oup); * 该档案案的存取模模式(readd/wriite/eexcutte); * 该档案案的类型(typee); * 该档案案建立或状状态改变的的时间(ctimme)、最最近一次的的读取时间间(atimme)、最最近修改的的时间(mtimme); * 该档案案的容量; * 定义档档案特性的的旗标(flagg),如 SeetUIDD.; * 该档案案真正内容容的指向 (poiinterr);我们在前一一章 Liinux 档案与目目录管理当当中提到过过利用 lls 查询询档案所记记载的时间间,就是 atimme / ctimme / mtimme 三种种时间。这这三种时间间的意义我我们已经
24、在在前一章的的 touuch 指指令介绍时时提过,这这三种时间间就是记录录在 innode 里面的啦啦如果回回到前一章章,您会发发现,我们们可以利用用 ls 的相关功功能来查询询到时间喔喔!而预设设的显示时时间是 mmtimee 。roottxlinnux # lls -lla -timee=atiime PPATH那个 PAATH 是是您所想要要查询的档档案或目录录名称。利利用上面的的 ls 相关参数数,就可以以取得您想想要知道的的档案相关关的三种时时间啰至至于一个 inodde 的大大小为 1128 bbytess 这么大大 (可以使使用底下要要介绍的 dumppe2fss 来查阅阅 in
25、oode 的的大小喔!) !好了了,那么我我的 Liinux 系统到底底是如何读读取一个档档案的内容容呢?底下下我们分别别针对目录录与档案来来说明: * 目录:当我们在 Linuux 下的的 extt2 档案案系统建立立一个目录录时, eext2 会分配一一个 innode 与至少一一块 Bllock 给该目录录。其中,inode 记录该目录的相关属性,并指向分配到的那块 Block ;而 Block 则是记录在这个目录下的相关连的档案(或目录)的关连性! * 档案案:当我们在 Linuux 下的的 extt2 建立立一个一般般档案时, ext2 会分配至少一个 inode 与相对于该档案大小
26、的 Block 数量给该档案。例如:假设我的一个 Block 为 4 Kbytes ,而我要建立一个 100 KBytes 的档案,那么 linux 将分配一个 inode 与 25 个 Block 来储存该档案!要注意的是是, innode 本身并不不纪录文件件名,而是是记录档案案的相关属属性,至于于文件名则则是记录在在目录所属属的 bllock 区域!那那么档案与与目录的关关系又是如如何呢?就就如同上面面的目录提提到的,档档案的相关关连结会记记录在目录录的 bllock 数据区域域,所以当当我们要读读取一个档档案的内容容时,我们们的 Liinux 会先由根根目录 / 取得该该档案的上上层目
27、录所所在 innode ,再由该该目录所记记录的档案案关连性 (在该目目录所属的的 bloock 区区域) 取得该该档案的 inodde ,最最后在经由由 inoode 内内提供的 blocck 指向向,而取得得最终的档档案内容。我我们以 /etc/cronntab 这个档案案的读取为为例,他的的内容数据据是这样取取得的:图三、读取取 /ettc/crrontaab 的简简易流程示示意。一块 paartittion 在 extt2 底下下会被格式式化为 iinodee tabble 与与 bloock aarea 两个区域域,所以在在图三里面面,我们将将 parrtitiion 以以长条的方方
28、式来示意意,会比较较容易理解解的啦!而而读取 /etc/cronntab 的流程为为: 1. 操作系系统根据根根目录( / )的相关资资料可取得得 /ettc 这个个目录所在在的 innode ,并前往往读取 /etc 这个目录录的所有相相关属性; 2. 根据 /eetc 的的 inoode 的的资料,可可以取得 /etcc 这个目目录底下所所有档案的的关连数据据是放置在在哪一个 Blocck 当中中,并前往往该 bllock 读取档案案的关连性性内容; 3. 由上个个步骤的 Blocck 当中中,可以知知道 crrontaab 这个个档案的 inodde 所在在地,并前前往该 iinodee
29、 ; 4. 由上个个步骤的 inodde 当中中,可以取取得 crrontaab 这个个档案的所所有属性,并并且可前往往由 innode 所指向的的 Bloock 区区域,顺利利的取得 cronntab 的档案内内容。整个读取的的流程大致致上就是这这样,如果果您想要实实作一下以以了解整个个流程的话话,可以这这样试做看看看:1. 察看看一下根目目录所记载载的所有档档案关连性性数据roottxlinnux # lls -llia / 2 ddrwxrr-xr-x 224 rooot rroot 40996 Juul 166 23:45 . 2 ddrwxrr-xr-x 224 rooot rroo
30、t 40996 Juul 166 23:45 .7194889 drrwxr-xr-xx 833 rooot rooot 1122888 Jull 21 04:002 ettc 5232265 ddrwxrr-xr-x 224 rooot rroot 40996 Juun 255 20:16 vvar# 注意看看一下,在在上面的 . 与 . 都是连结结到 innode 号码为 22 的那个个 inoode ,# 也就是是说, / 与其上上层目录 . 都都是指向同同一个 iinodee nummber 啊!两者者是相同的的。# 而在根根目录所记记载的档案案关连性 (在 bloock 内内) 得到
31、 /eetc 的的 inoode nnumbeer# 为 77194889 那个个 inoode nnumbeer 喔!2. 察看看一下 /etc/ 内的档档案关连性性的数据roottxlinnux # lls -lliad /etcc/croontabb /ettc/.7194889 drrwxr-xr-xx 833 rooot rooot 1122888 Jull 21 04:002 /eetc/.7234996 -rrw-r-r- 11 rooot rooot 6633 Jull 4 12:003 /eetc/ccronttab# 瞧!此此时就能够够将 /eetc/ccronttab 找
32、找到关连性性啰!所以您知道道,目录的的最大功能能就是在提提供档案的的关连性,在在关连性里里面,当然然最主要的的就是档档名与 iinodee 的对应应数据啰啰!另外,关关于 EXXT2 档档案系统,这这里有几点点小事情要要提醒一下下: * extt2 与 extt3 档案案在建立时时 (foormatt) 就已已经设定好好固定的 inodde 数与与 bloock 数数目了; * 格式化化 Linnux 的的 extt2 档案案系统,可可以使用 mke22fs 这这个程序来来执行! * extt2 允许许的 bllock sizee 为 10224, 22048 及 40996 byytes;
33、* 一个 paartittion (fillesysstem) 所能容容许的最大大档案数,与与 inoode 的的数量有关关,因为一一个档案至至少要占用用一个 iinodee 啊! * 在目录录底下的档档案数如果果太多而导导致一个 Blocck 无法法容纳的下下所有的关关连性数据据时,Liinux 会给予该该目录多一一个 Bllock 来继续记记录关连数数据; * 通常 innode 数量的多多寡设定为为 (paartittion 的容量) 除以 (一个 innode 预计想要要控制的容容量)。举例来来说,若我我的 bllock 规划为 44Kbyttes,假假设我的一一个 innode 会控
34、制两两个 bllock ,亦即是是假设我的的一个档案案大致的容容量在 88Kbyttes 左左右时,假假设我的这这个 paartittion 容量为 11GByttes,则则 inoode 数数量共有:( 1GG * 11024MM/G * 10224K/MM ) / ( 88K ) = 一三10722 个。而而一个 iinodee 占用 1228 byytes 的空间,因因此格式化化时就会有有 ( 一三10722个 * 1128byytes/个 ) = 1677772116 byyes = 163384 KKbytees 的 inoode ttablee 。也就就是说,这这一个 11GB 的
35、的 parrtitiion 在在还没有储储存任何数数据前,就就已经少了了 16MMBytees 的容容量啊! * 因为一一个 innode 只能记录录一个档案案的属性,所所以 innode 数量比 bblockk 多是没没有意义的的!举上面面的例子来来说,我的的 Bloock 规规划为 44 Kbyytes ,所以 11GB 大大概就有 2621144 个个 4Kbbytess 的 bloock ,如如果一个 blocck 对应应一个 iinodee 的话,那那么当我的的 inoode 数数量大于 2621144 时时,多的 inodde 将没没有任何用用处,徒然然浪费硬盘盘的空间而而已!另外
36、外一层想法法,如果我我的档案容容量都很大大,那么一一个档案占占用一个 inodde 以及及数个 bblockk ,当然然 inoode 数数量就可以以规划的少少很多啦! * 当 bloock 大大小越小,而而 inoode 数数量越多,则则可利用的的空间越多多,但是大大档案写入入的效率较较差;这种种情况适合合档案数量量多,但是是档案容量量小的系统统,例如 BBS 或者是新新闻群组( Newws )这这方面服务务的系统; * 当 Bloock 大大小越大,而而 inoode 数数量越少时时,大档案案写入的效效率较佳,但但是可能浪浪费的硬盘盘空间较多多;这种状状况则比较较适合档案案容量较大大的系统
37、!简单的归纳纳一下, ext22 有几个个特色: * Bloocks 与 inoodes 在一开始始格式化时时 (foormatt) 就已已经固定了了; * 一个 paartittion 能够容纳纳的档案数数与 innode 有关; * 一般来来说,每 4Kbyytes 的硬盘空空间分配一一个 innode ; * 一个 innode 的大小为为 1288 byttes; * Bloock 为为固定大小小,目前支支持 10024/22048/40966 byttes 等等; * Bloock 越越大,则损损耗的硬盘盘空间也越越多。 * 关于单单一档案:若 bloock ssize=10244,
38、最大容容量为 116GB,若若 bloock ssize=40966,容量最最大为 22TB; * 关于整整个 paartittion :若 bloock ssize=10244,则容量量达 2TTB,若 bllock sizee=40996,则容容量达 332TB。 * 文件名名最长达 255 字符,完完整文件名名长达 44096 字符。另外,关于于 parrtitiion 的的使用效率率上,当您您的一个 parttitioon 规划划的很大时时,例如 100GGB 这么么大,由于于硬盘上面面的数据总总是来来去去去的,所所以,整个个 parrtitiion 上上面的档案案通常无法法连续写在在
39、一起,而而是填入式式的将数据据填入没有有被使用的的 bloock 当当中。如果果档案写入入的 bllock 真的分的的很散,此此时就会有有所谓的档档案离散的的问题发生生了。虽然然我们的 ext22 在 inoode 处处已经将该该档案所记记录的 bblockk nummber 都记上了了,所以资资料可以一一次性读取取,但是如如果档案真真的太过离离散,确实实还是会发发生读取效效率低落的的问题。果果真如此,那那么可以将将整个 ppartiitionn 内的数数据全部复复制出来,将将该 paartittion 重新格式式化,再将将数据给他他复制回去去即可解决决。此外,如果果 parrtitiion
40、真真的太大了了,那么当当一个档案案分别记录录在这个 parttitioon 的最最前面与最最后面的 blocck,此时时会造成硬硬盘的机械械手臂移动动幅度过大大,也会造造成数据读读取效能的的低落。因因此, ppartiitionn 的规划划并不是越越大越好,而而是真的要要针对您的的主机用途途来进行规规划才行!_EXT2/EXT33 档案的的存取与日日志式档案案系统的功功能综合上面谈谈的种种,我我们可以知知道,当一一个 exxt2 的的 fillesysstem 被建立时时,他拥有有 supperbllock / grroup desccripttion / bllock bitmmap / i
41、noode bbitmaap / inodde taable / daata bblockks 等等等区域。要要注意的是是,每个 ext22 fillesysstem 在被建立立的时候,会会依据 ppartiitionn 的大小小,给予数数个 bllock grouup ,而而每个 bblockk grooup 就就有上述的的这些部分分。整个 fileesysttem 的的架构可以以下图展现现:图四、整个个 fillesysstem 的展现示示意图我们将整个个 fillesysstem 简单化,假假设仅有一一个 bllock grouup ,那那么上面的的各个部分分分别代表表什么呢? * Su
42、pperBllock:如前所述述, Suuperbblockk 是记录录整个 ffilessysteem 相关关信息的地地方,没有有 Supperbllock ,就没有有这个 ffilessysteem 了。他他记录的信信息主要有有: o bblockk 与 inoode 的的总量; o 未未使用与已已使用的 inodde / blocck 数量量; o 一一个 bllock 与一个 iinodee 的大小小; o ffilessysteem 的挂挂载时间、最最近一次写写入数据的的时间、最最近一次检检验磁盘 (fscck) 的的时间等档档案系统的的相关信息息; o 一一个 vaalid bit
43、 数值,若若此档案系系统已被挂挂载,则 valiid biit 为 0 ,若若未被挂载载,则 vvalidd bitt 为 1 。 * Grooup DDescrriptiion:纪纪录此 bblockk 由由何何处开始记记录; * Bloock bbitmaap:此处处记录那个个 bloock 有有没有被使使用; * Inoode bbitmaap:此处处记录那个个 inoode 有有没有被使使用; * Inoode ttablee:为每个个 inoode 数数据存放区区; * Datta Bllockss:为每个个 bloock 数数据存放区区。如果想要知知道某个 ext22/extt3
44、的档档案系统内内,关于上上述提到的的相关信息息时,可以以使用 ddumpee2fs 这个指令令来读取,举举例来说,鸟鸟哥将我自自己的主机机 /deev/hdda1 读读出 exxt3 的的讯息:roottxlinnux # ddumpee2fs /devv/hdaa1Filessysteem voolumee namme: /Filessysteem sttate: cleeanErrorrs beehaviior: ConntinuueFilessysteem OSS typpe: LinnuxInodee couunt: 一五370888Blockk couunt: 一五362007Fre
45、e bloccks: 7355609Free inoddes: 一三930889Firstt bloock: 0Blockk sizze: 40996Filessysteem crreateed: Satt Junn 25 16:221:一三 20005Last mounnt tiime: Satt Jull 16 23:445:044 20005Last writte tiime: Satt Jull 16 23:445:044 20005Last checcked: Satt Junn 25 16:221:一三 20005Firstt inoode: 11Inodee sizze: 1288Journnal iinodee: 8Groupp 0: (Bloocks 0-322767) Priimaryy supperbllock at 00, Grroup desccripttors at 11-1 Resserveed GDDT bllockss at 2-3776 Bloock bbitmaap att 3777 (+3377), Inoode bbitmaap att 3788 (+3378)