深入理解Linux文件系统与日志分析

水深无声 2021-07-24 22:55 464阅读 0赞

文章目录
一、inode与block详解
1、inode和block概述
2、inode的内容
3、inode的号码
4、inode的大小
二、inode耗尽故障处理
三、硬链接与软连接
(1)硬链接
(2)软连接
四、恢复误删除的文件
五、分析日志文件
(1)日志文件的分类
(2)日志文件分析

一、inode与block详解
1、innide和block概述
(1)文件数据包括元信息与实际数据
(2)文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
(3)block(块)
①连续的八个扇区组成一个block
②是文件寻去的最小单位
(注:存储单元:PE:4M ; chunk:512k ;扇区:512字节 ; block:4k)
(4)inode(索引节点)
①中文译名为“索引节点”,也叫i节点

2、inode的内容
(1)inode包含文件的元信息
①文件的字节数
②文件拥有者的User ID
③文件的Group ID
④文件的读、写、执行权限
⑤文件的时间戳
⑥指向block
(2)用stat命令可以查看某文件的inode信息
示例:stat aa.txt
stat +目录 查看目录inode信息在这里插入图片描述
stat -f +文件 查看当前文件所在的文件系统inode详细情况在这里插入图片描述
(3)Linux系统文件三个主要的时间属性
①ctime (change time):最后一次改变文件或目录(属性)的时间
②atime(access time):最后一次访问文件或目录的时间
③mtime(modify time):最后一次修改时间或目录(内容)的时间

(4)目录文件的结构
①目录也是一种文件
②目录文件的结构
(5)每个inode都有一个号码,操作系统用inode号码来识别不同的文件
(6)Linux系统内部不使用文件名。而使用inode号码来识别文件
(7)对于用户,文件名只是inode号码便于识别的别称

3、inode的号码
(1)用户通过文件名打开文件时,系统内部的过程
①系统找到这个文件名对应的inode号码
②通过inode号码,获取inode信息
③根据inode信息,找到文件数据所在的block,读取数据
(2)查看inode号码的方法
①ll -i命令:查看文件对应的inode号码
ll -i +文件:查看文件inode号码在这里插入图片描述
4、inode的大小
(1)inode也会消耗硬盘空间
①每个inode的大小
②一般是128字节或256字节在这里插入图片描述
(2)格式化文件系统时确定inode的总数
(3)使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量在这里插入图片描述
5、inode的特殊作用
(1)由于inode号码与文件名分离,导致一些Unix/Linux系统具有一下的现象
①当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也是删除文件
②移动或重命名文件时,只改变文件名,不影响inode号码
③打开一个文件后,系统通过inode号码来识别该文件,不在考虑文件名
④删除inode节点号删除文件
find -type f -inum+inode节点号 -exec rm -rf {};
二、inode耗尽故障处理
模拟:①先管理磁盘,创建磁盘,在这里插入图片描述
②进行挂载之前先确定文件系统类型,进行格式化,格式化为ext4,在根目录下面创建一个子目录在这里插入图片描述
③查看挂载表,确认文件系统类型更改成功,查看inode号在这里插入图片描述
④使用for循环创建文件,超出inode号范围是否无法创建在这里插入图片描述⑤经过查看挂载表,发现已用容量仅731k,在这里插入图片描述

当现在文件将要满的时候,还想继续创建文件,只需要将内部的文件删除,解除inode占用即可。
结论:磁盘内可用inode号使用完后,即使磁盘还剩余空间也无法再创建文件。

三、硬链接与软连接
1、硬链接(ln):一般情况下,文件名和inode号码是一一对应的关系,每个inode号码对应一个文件名。但是Linux系统允许 ,多个文件指向同一个inode号码。这意味着可以用不同的文件名访问同样的内容
2、软链接(ln -s):软链接是在创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。表示文件A 依赖于文件B而存在,如果删了文件B,打开文件A就会报错。
3、硬链接与软链接的区别:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode’链接数“不会因此发生变化。

四、恢复误删除的文件
xfsdump命令:主要的是备份的作用
1、xfsdump命令格式
xfsdump -f 备份存放位置要备份的路径或设备文件
2、xfsdump备份级别(默认为0)
①0:完全备份
②1-9:增量备份
3、xfsdump常用选项
①xfsdump -f 备份存放位置,要备份的路径或设备文件
②xfsdump -L 看标名
③xfsdump -M 媒体名
④xfsdump -I 查看备份状态,具体信息
⑤xfsdump -l 级别
4、xfsretore -f :表示恢复文件的位置,存放恢复后文件的位置

5、主要的命令
备份:xfsdump -f /bak(要备份的文件) /dev/sdb1 -L sdb1 -M sdb1
恢复:xfsretore -f /bak /opt/bak(恢复到哪个文件下面)

6、xfsdump使用限制
①只能备份已挂载的文件系统
②必须使用root的权限才能操作
③只能备份xfs文件系统
④备份的数据只能让xfsretore解析
⑤不能备份两个具有相同UUID的文件系统

五、分析日志文件
1、日志的功能
①用于记录系统、程序运行中发生的各种事件
②通过阅读日志,有助于诊断和解决系统故障
2、日志文件的分类
①内核及系统日志:这种日志数据由系统服务reyslog统一管理,根据其主要配置文件/etc/reyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。
②用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
③程序日志:有些应用程序会选择自己独立管理一份日志文件,用于记录本程序运行过程中的各种事件信息。
3、日志消息的级别
在Linux内核中,根据日志消息的重要程度不同,将其分为不同的优先级别(数字等级越小,优先级越高,消息越重要)
①0 EMERG(紧急):会导致主机系统不可用的情况
②1 ALERT(警告):必须马上采取措施解决的问题
③2 CRIT(严重):比较严重的情况
④3 ERR (错误):运行出现错误
⑤4 WARNING(提醒):可能会影响系统功能的事件
⑥5 NOTICE(注意):不会影响系统但值得注意
⑦6 INFO(信息):一般信息
⑧ 7 DEBUG (调试):程序或系统调试信息等

发表评论

表情:
评论列表 (有 0 条评论,464人围观)

还没有评论,来说两句吧...

相关阅读

    相关 深入了解Linux文件系统

    深入了解Linux文件系统 1. 简介 什么是文件系统 文件系统是操作系统中用于管理和组织存储数据的一种机制。它定义了文件和目录的结构,以及文件如何存储、访问