CentOS 7文件系统与日志分析详解

在处理 Linux 系统出现的各种故障时,故障的症状是最易发现的,而导致这一故障的原因才是最终排除故障的关键。熟悉 Linux 系统中常见的日志文件,了解一般故障的分析与解决办法,将有助于管理员快速定位故障点、“对症下药”、并及时解决各种系统问题。

inode 与 block 详解

文件存储再硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

文件数据包括元信息与实际数据

元信息包含文件属性信息,文件打开来输入的内容为实际数据

block(块)

连续的八个扇区组成一个block (4k)

是文件存取的最小单位

inode(索引节点)

中文译名为“索引节点”,也就i节点

用于存储文件元信息

关于CentOS 7文件系统与日志分析

inode的内容 inode包含文件的元信息

文件的字节数

文件拥有着的User ID

文件的Group ID

文件的读、写、执行权限

文件的时间戳

……

使用stat命令查看inode信息 [root@localhost mnt]# stat abc.txt //查看abc文件inode信息 文件:"abc.txt" 大小:12 块:8 IO 块:4096 普通文件 设备:802h/2050d Inode:18123362 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:mnt_t:s0 最近访问:2019-09-02 04:12:18.210370997 +0800 最近更改:2019-09-02 04:12:18.210370997 +0800 最近改动:2019-09-02 04:12:18.210370997 +0800 创建时间:- Linux系统文件三个主要的时间属性

ctime(change time):最后一次改变文件或目录(属性)的时间

atime(access time):最后一次访问文件或目录的时间

mtime(modify time):最后一次修改文件或目录(内容)的时间

目录文件的结构

目录也是文件

目录文件的结构

关于CentOS 7文件系统与日志分析

每个inode都有一个号码,操作系统用inode号码来识别不同的文件

Linux系统内部不使用文件名,而使用inode号命来识别文件

对于用户来说,文件名只是inode号码便于识别的别称

inode的号码

用户通过文件名打开文件时,系统内部的过程

系统找到这个文件名对应的inode号码

通过inode号码,获取inode信息

根据inode信息,找到文件数据所在的block,读出数据

查看inode号码的方法

ls -i命令:查看文件名对应的inde号码

[root@localhost mnt]# ls -i abc.txt //查看文件节点信息 18123362 abc.txt inode的大小

inode也会消耗硬盘空间,每个inode的大小,一般时128字节或256字节

格式化文件系统时确定inode的总数

使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量

[root@localhost mnt]# df -i //查看分区节点信息 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点 /dev/sda2 10485760 121203 10364557 2% / devtmpfs 229708 376 229332 1% /dev tmpfs 233381 1 233380 1% /dev/shm tmpfs 233381 560 232821 1% /run tmpfs 233381 16 233365 1% /sys/fs/cgroup /dev/sda5 5241856 146 5241710 1% /home /dev/sda1 3145728 328 3145400 1% /boot tmpfs 233381 6 233375 1% /run/user/42 tmpfs 233381 17 233364 1% /run/user/0 /dev/sr0 0 0 0 - /run/media/root/CentOS 7 x86_64 inode的特殊作用

由于inode号码与文件名分离,导致一些Linux系统具有以下的现象

当文件名包换特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件

按节点号删除文件命令:find ./* -inum [节点号] -delete

[root@localhost mnt]# ls -i 16777284 ac1.txt 18123362 ac2.txt 18123366 ac3.txt 18123370 ac4.txt 18123371 ac5.txt [root@localhost mnt]# find ./* -inum 16777284 -delete [root@localhost mnt]# ls -i 18123362 ac2.txt 18123366 ac3.txt 18123370 ac4.txt 18123371 ac5.txt

移动或重命名文件时,只改变文件名,不影响inode号码

[root@localhost mnt]# ls -i 18123362 ac2.txt 18123366 ac3.txt 18123370 ac4.txt 18123371 ac5.txt [root@localhost mnt]# mv ac2.txt /opt [root@localhost mnt]# ls -i /opt 18123362 ac2.txt 1389838 rh

打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

访问文件的简单流程

关于CentOS 7文件系统与日志分析

xfs 类型文件备份和恢复

xfs文件的恢复需要我们先把文件备份到另一块磁盘,当文件损坏时可以通过备份的文件进行恢复(这里面的备份文件是通过对文件做固定格式的压缩来进行备份)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11657.html