Linux文件系统


ext2 作为索引式文件系统,一个文件占用一个inode,记录着文件的权限和属性,同时记录此文件的数据所在的block号码;

磁盘分区的好处:以mysql是数据目录为例,如果将数据目录单独放在一个分区,可以很大程度减少磁盘碎片,提高读写效率。

ext2文件系统在格式化后分成多个块组,每个块组都有独立的inode/block/superblock

inodetable 记录的信息:

文件的访问模式 r w x

文件的所有者和组

文件的大小

文件的创建或状态改变的时间 ctime

最近一次读取的时间actime

最近修改的时间mtime

定义文件特性的标志

文件真正内容的指向

每个inode大小固定为128bytes,每个文件都会占用一个inode 每个block号码在inode中占用4byte,文件系统所能创建的文件数量与inode数量有关;

系统读取文件时首先找到inode并分析inode所记录的权限与用户是否符合,符合才能开始实际读取b'lock内容

inode记录block号码的区域定义为12个直接、一个间接、一个双间接、一个三间接 :假设block 为 1kB

12k + 256k+ 256*256k+ 256*256*256 = 16GB

除了第一个block group 含有superblock 之外,后续的block group 不一定含有superblock ,一个文件系统应该含有一个superblock,在一个文件系统中的其他superblock主要是作为备份

superblock

记录block与inode的总量;使用与未使用的inode/block数量;block与inode的大小;文件系统挂载时间、最近一次写入数据的时间、最近一次磁盘检验fsck的时间等

validbit 若以挂载 为 0 否则为 1

block bitmap

块对照表 记录block是否使用;当删除一个文件时就要在bitmap中找到该block号码,并将该block的标志修改为未使用

inode bitmap

记录使用与未使用的inode号码

挂载点 与 文件系统

查看哪些是xfs文件系统

[hotspot@bogon ~]$ mount | awk 'BEGIN{print "挂载点\t文件系统"}{if($5=="xfs" || $5=="tmpfs")print $3 "\t" $5}' | column -t
挂载点          文件系统
/dev/shm        tmpfs
/run            tmpfs
/sys/fs/cgroup  tmpfs
/               xfs
/boot           xfs
/run/user/42    tmpfs
/run/user/1001  tmpfs
/run/user/0     tmpfs
/run/user/1004  tmpfs

优质内容筛选与推荐>>
1、令人迷惑的隐藏规则
2、几种vue的数据交互形式
3、四、自动化平台搭建-Django-如何做验证码
4、[moka同学笔记]五、Yii2.0课程笔记(魏曦老师教程)[审核功能]
5、System-day1


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号