您的位置:首页 > 运维架构 > Linux

Linux 磁盘与文件系统 —— 基础知识(一)

2017-10-09 09:02 417 查看
一,磁盘的物理组成

1、扇区(Sector)是最小的物理存储单位,有 512bytes 和 4K 两种格式。

2、将扇区组成一个圆,就是磁柱。

3、最小分区单位通常为扇区。

4、硬盘分区表主要有两种格式,一种是限制较多的 MBR 分区,一种是限制较少的 GPT 分区。

5、MBR 分区中,一个扇区最重要,包括主要开机区(MBR)和分区表(partition table)。

6、GPT 分区的分区数量扩充多,支持的磁盘容量大。


二,磁盘的文件名

/dev/sd[a-p][1-128]:实体磁盘的文件名

/dev/vd[a-d][1-128]:虚拟磁盘的文件名

/dev/md[1-128]:软件磁盘的文件名


三,文件系统特性

分区槽只有格式化之后,才能成为操作系统能够利用的文件系统格式(filesystem)。

Linux 文件系统:权限与属性数据放置到 inode 中,实际数据放置到 data block 中,文件系统的整体信息数据放置到 superinode 中。



四,Linux 的 EXT2 文件系统

1、boot sector(启动扇区):安装开机管理系统,位于文件系统的最前端。

2、data block(资料区块)

(a)block —— EXT2 文件系统的限制



(b)block 的大小和数量在格式化之后无法更改(除非重新格式化)

(c)每个 block 最多只能放置一个文件的数据

(d)如果文件大于 block 的大小,则一个文件会占用多个 block 数量

(e)如果文件小于 block 的大小,则会造成磁盘空间浪费

3、inode table(inode 表格)

(a)inode 记录的文件数据

该文件的存取模式

该文件的拥有者和群组

该文件的容量

该文件建立或状态改变的时间

最近一次的读取时间

最近修改的时间


(b)每个 inode 大小固定为 128bytes (新的 ext4 与 xfs 可设定为 256bytes)

(c)每个文件都仅会占用一个 inode 而已

(d)文件系统所能建立的文件数量与 inode 数量有关

(e)系统读取文件时,需要先找到 inode ,并分析 inode 所记录的权限与用户是否符合,若符合才能够开始实际读取 block 的内容。

4、Superblock(超级区块)

(a)block 和 inode 的总量

(b)未使用与已使用的 inode / block数量

(c)block 和 inode 的大小(block 为1,2,4K;inode为 128bytes 或 256bytes)

(d)filesystem的挂载时间,最近一次写入数据的时间,最近一次检测硬盘的时间等文件系统的相关信息

(e)一个 valid bit 数值,若此文件系统已被挂载,则 valid bit 为 0;若未被挂载,则 valid bit 为1

5、Filesystem Description(文件系统描述):记录每一个 block group 的开始和结束的 block 号码。

6、block bitmap(区块对照表):记录 block 是否为空

7、inode bitmap(inode 对照表):记录 inode 是否为空

五,与目录树的关系

目录:

Linux 系统中建立目录时,文件系统会分配一个 inode 和至少一块 block 给该目录。

1、inode 记录该目录的相关权限和属性,并可记录分配到的那块 block 号码。

2、block 记录在这个目录下的文件名和这些文件名占用的 inode 号码数据。

3、如果目录下的文件数太多,Linux 会给予目录多一个 block 来继续记录相关的数据。

文件:

Linux 系统中建立文件时,文件系统会分配一个 inode 和与相对于该文件大小的 block 数量给该文件。同时,由于 inode 有12个直接指向,因此还要多一个 block 来作为区块号码的记录。

1、相关含义可参考第四点 —— Linux 的 EXT2 文件系统

参考书籍:

1、鸟哥的Linux私房菜

2、The Linux Command Line
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息