文件系统和日志分析
文件系统
文件是存储在硬盘上的,硬盘的最小存储单位叫做扇区,每个扇区存储512字节
一般连续八个扇区组成一个块,一个块是4K是文件存取的最小单位,操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取
文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在块中,存储文件元信息(比如文件的创建者,创建日期,文件大小,文件权限等)的区域就叫做inode 因此,一个文件必须占用一个inode,并且至少占用一个block
inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称 文件名和inode号码是一一对应关系,每个inode号码对应一个文件名。
所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码,通过inode号码,获取inode信息,根据inode信息,看该用户是否具有访问这个文件的权限,如果有,就指向对应的数据block,并读取数据
查看文件名对应的inode号 ls -i 文件名 或者 stat 文件名
linux系统文件的三个主要的时间属性
ctime | 最后一次改变文件或目录(属性)的时间 |
---|---|
atime | 最后一次访问文件或目录的时间 |
mtime | 最后一次修改文件或目录(内容)的时间 |
inode
inode的特性
由于inode号码与文件名分离,导致linux系统具有以下几种特有的现象:
1.文件名包含特殊字符,可能无法正常删除。这时可以直接删除inode号
2.移动文件或重命名文件,只是改变文件名,不影响inode号
3.打开一个文件以后,系统就以inode号来识别这个文件,不再考虑文件名
4.文件数据被修改保存后,会生成一个新的inode号
inode节点耗尽故障处理
1.使用fdisk分区 fdisk /dev/sdb
2.格式化 mkfs