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 "挂载点 文件系统"}{if($5=="xfs" || $5=="tmpfs")print $3 " " $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