《鸟哥—基础学习》总结(8):Linux磁盘与文件系统管理 之 认识EXT2系统

1 磁盘组成与分区

1.1 磁盘物理组成

(1)圆形盘片—记录数据

(2)机械手臂及磁头—读写盘片数据

(3)主轴马达—使得机械手臂成功读写数据驱动

1.2 盘片物理组成

(1)扇区—最小物理存储单位,512bytes

(2)柱面—扇区组成的圆,分区的最小单位

(3)第一扇区—最重要的扇区,包含主引导记录MBR446bytes 以及 分区表PB 64bytes

1.3 磁盘接口在Linux中文件名

(1)/dev/sd[a-p][1-15]  为 SCSI 、 SATA 、 USB 、 Flash等接口的磁盘文件名

(2)/dev/hd[a-d][a-63]  为IDE接口的磁盘文件名

2 文件系统特性

2.1 不同操作系统使用的文件系统

(1)传统Windows98及以前的操作系统主要利用的文件系统为FAT或FAT16

(2)Windows2000及以后的操作系统主要利用NTFS为其文件系统

(3)Linux操作系统的正规文件系统均为EXT2 或 EXT3 为其文件系统

2.2 文件系统的存储块

通常,文件系统一般有三个存储块:

(1)super block : 超级块,用来存储文件系统的整体信息,包括其余两块innode 及 block的总量、使用量、剩余量以及文件系统的格式和文件信息

(2)innode:主要记录文件的属性信息,一个文件会占用一个innode块,同时记录该文件实际数据所在的block的编号

(3)block:主要记录文件的实际数据,根据实际情况可能占用一个或多个block存储

2.3 不同文件系统的数据访问方式

(1)索引式文件系统

此类文件系统的innode块内存储文件实际数据所在的所有block的编号,此时,操作系统可以由此从开始就读取出文件数据所在的全部block。Linux的EXT2 、 EXT3都是这类文件系统;索引式文件系统的优点:它基本上不需要进行碎片整理,因为其文件写入的block不至于过于离散。

结构如下图:

(2)FAT文件系统

此类文件系统没有innode块的存在,因此也就不存在一开始就读取文件实际数据的所有block。这种文件系统,通常都是一个block内存储要访问的下一block的编号,该存储方式容易造成文件数据block的过于离散。所以说,FAT的文件系统需要经常进行碎片整理,来保证其性能。我们通常使用的U盘一般是采用的FAT文件系统。

结构如下图:

3 Linux的EXT2文件系统

3.1 EXT2 存储块详解

对于Linux的EXT2以及EXT3文件系统,有3个存储块,super block 、 innode以及block ,文件系统一开始就把innode和block规划好了,除非重新格式化或者利用resize2fs等命令更改,否则这两部分便不再进行改动。

(1)data block

data block是用来存储文件数据的块,EXT2文件系统中支持的block大小有1KB、2KB和4KB三种而已。

data block的大小在文件系统开始就已经初始化完毕,且不再改变。

一个block最多只能存储一个文件的数据,一个文件的数据根据实际内容量可以存储在多个block中。

对于小于block大小的文件来讲,在block中剩余的容量则不能再被其他文件占用,此时造成一定程度的磁盘空间浪费。

(2)innode block

innode主要记录文件的属性以及该文件实际数据存储在block的编号。

具体来讲,innode block中存储的内容有:

该文件的访问模式;

该文件大小;

该文件的所有者与组;

该文件创建状态改变的时间;

最近修改的时间;

定义文件特性的标志,如SetUID等;

该文件真正内容的指向;

innode block的大小也在文件系统格式化时已经确定,每个block的大小均固定为128bytes,每个文件只会占用一个innode block。

文件系统能够创建的文件数量与innode的数量有关。

系统读取文件时,先找到innode,分析权限,符合要求则读取block的内容。

innode block与文件大小密切相关,由于innode大小有限,只有128bytes的容量,记录一个block号码占用4bytes,而对于大文件则需要非常多的block来存储数据,block的数量远远超出了innode块可存储的容量。为此,文件系统采用多级存储结构,有12个直接,1个间接,一个双间接,一个三间接记录区,这样就满足了大文件的繁多block号的记录。

innode多级结构如下图:

那么,这样的存储结构可以指定多少个block呢?以较小的1KB的block来讲:

12个直接指向,12*1K=12K , 直接指向可以记录12条;

间接指向,256*1K=256K,每条block号码的记录需要4bytes,因此1K大小可以记录256条;

双间接,256*256*1K,第一层指定256个记录,每个第二层指定256条;

三间接,256*256*256*1K , 第一层指定256个记录,每个第二层指定256条,每个第三层也指定256条记录;

总量,12+256+256*256+256*256*256(K)=16GB

此时,我们可以知道,文件系统将block划分为1KB时,能够容纳的最大文件为16GB,与文件限制表结果一致。但是这个方法不适用与block大小为2KB或者4KB时,因为大于2KB的block将会受到EXT2文件系统本身的限制,计算结果与限制表产生出入。

(3)super block

此块记录整个文件系统相关信息的地方,记录信息主要有:

block与innode的总量;

未使用和已使用的innode/block的数量;

block和innode的大小;

文件系统挂载时间、最近一次写入数据的时间、最近一次检验磁盘时间等;

一个validbit数值,挂载值为0,未挂载值为1;

3.2 EXT2文件系统与目录树的关系

3.3 EXT2与EXT3文件系统访问与日志文件系统

3.4 文件系统操作及挂载点

3.5 其他Linux文件系统

以上几节内容理论性强,通读《鸟哥的Linux私房菜—基础学习篇》P204-209了解即可。

时间: 2024-12-05 18:02:41

《鸟哥—基础学习》总结(8):Linux磁盘与文件系统管理 之 认识EXT2系统的相关文章

第八章、Linux 磁盘与文件系统管理

第八章.Linux 磁盘与文件系统管理 1. 认识 EXT2 文件系统 1.1 硬盘组成与分割的复习 1.2 文件系统特性: 索引式文件系统 1.3 Linux 的 EXT2 文件系统(inode): data block, inode table, superblock, dumpe2fs 1.4 与目录树的关系 1.5 EXT2/EXT3 文件的存取与日志式文件系统的功能 1.6 Linux 文件系统的运行 1.7 挂载点的意义 (mount point) 1.8 其他 Linux 支持的文

linux磁盘及文件系统管理初步(1)

Linux系统管理 磁盘分区及文件系统管理 RAID LVM:能够实现磁盘边界的动态管理 网络属性管理 程序包管理:程序包的增删查改 sed 和awk 进程查看和管理 内核管理:内核的组成部分,内核的编译安装 系统启动流程 Linux内核的定制,编译内核,busybox 系统安装:kickstart,dhcp,pxe shell脚本编程 Linux磁盘及文件系统管理: 整个操作系统的组成部分:硬件和软件 整个操作系统的组成层次:最底层为硬件设备(这也是我们计算机能够运行的基础),在硬件设备上冯诺

linux磁盘及文件系统管理的部分知识一

今天学习了linux磁盘及文件系统管理的部分知识,这里做下小结备忘. 文件系统相关: 虚拟文件系统(VFS): 可以这么理解吗? 对上层用户命令及操作进行翻译转换 目的是可以在不同文件系统上运行. 根(\): 理解存储及访问方式. 一切目录不管它是否被挂载到其他分区上 对于这个目录本身而言及它的父目录都是存储在根分区的\var \etc \etc\rc.d\init.d 访问的时候不管直接或者间接都是通过根目录进行访问的. 文件系统类型: ext4\3\2  xfs ... 硬盘相关: 1.硬盘

Linux磁盘与文件系统管理

Linux磁盘与文件系统管理 磁盘分区后需要进行格式化,是为什么呢? 因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此需要将分区进行格式化,以成为操作系统能够利用的文件系统格式.

Linux系统--Linux磁盘和文件系统管理

Linux磁盘和文件系统管理 一.Linux磁盘管理: 1.磁盘的物理组成部分(这里介绍的主要是机械硬盘) a.磁盘的组成主要有: 盘片,机械手臂和磁头,主轴马达 b.磁盘的数据存储和读取在于磁盘的盘片,在盘片上的一些概念: 扇区(sector):就是将盘片划分成若干个扇区.扇区是最小的存储单位,每个扇区512个字节. 柱面(Cylinder):磁盘是有多个盘片组合而成,而柱面是有不在同一磁盘上的相同位置上的扇区组成.柱面是分区的最小单位,也就是分区是根据柱面分区的. c.第一个扇区的组成: 有

Linux磁盘和文件系统管理

Linux系统中的磁盘和文件系统管理,之所以将二者放在一起总结,是因为在平时的工作中,二者是相辅相成的,常常用来一起使用. 首先介绍下磁盘分区的管理工具 常用的磁盘分区管理工具有fdisk,parted,sfdisk 这里我们介绍下常用的fdsik工具 fdisk -l [DEVICE]... :列出指定磁盘设备上的分区情况 fdisk [DEVICE]:创建分区 fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能:所有的操作均在内存中完成,没有直接同步到磁盘:直到

linux磁盘及文件系统管理进阶

回顾: 磁盘,磁盘分区,文件系统 现在的磁盘有两类:机械硬盘和固态硬盘 为了使机械硬盘上流传下来的概念,和组织方式依然可用,固态硬盘也模拟了类似于机         械硬盘上的很多特性,想MBR之类的哪些东西,依然模拟扇区和那些机制,只不过是        固态硬盘是电器设备工作,机械硬盘是机械方式工作而已. 无论是那种格式的硬盘在cent0S6,7只要是磁盘设备而且能够驱动的话统统识别为:                 /dev/sd[a-z]# 管理分区:fdisk,parted,sfdi

linux磁盘和文件系统管理(一)

磁盘和文件系统管理(一) 要求: 一,关机后添加一块20GB的SCSI磁盘,重新开机进入RHEL 5系统 二,分区并格式化 1,使用fdisk命令对新硬盘进行分区,建立一个10GB的主分区("/dev/sbd1") 步骤:如图所示: 执行"fdisk -l"命令可以查看,确认新增硬盘的设备名称和设置."fdisk -l"命令的作用是列出当前系统中所有硬盘设备及其分区的信息. 在硬盘设备中创建.删除.更改分区等操作同样通过fdisk命令进行,只要使

初学者----linux磁盘和文件系统管理

大家也许对windows的磁盘和文件系统管理很懂,但是linux却没有像windows那样简单方便,但我们喜欢的是linux的高效快捷,所以学会linux的磁盘和文件系统管理,将会使得我们在企业的工作当中更加的如沐春风. 下面是我在虚拟机下面做的一些linux简单的逻辑磁盘管理,有错误的地方还希望大家多多探讨!!!! 一.在安装好的linux系统上添加两块虚拟硬盘 二.安装完成后重启系统. 三.查看两块硬盘是否存在. 四.磁盘划分 第一块磁盘划分 第二块磁盘划分 五.逻辑卷管理 六.实验验证