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

一、inode与block

1.1 inode和block概述

■ 文件数据包括原信息与实际数据
■ 文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

■ block(块)

  • 连续的八个扇区组成一个block
  • 是文件存取的最小单位

■ inode(索引节点)

  • 中文译名为“索引节点”,也叫i节点
  • 用于存储文件元信息

1.2 inode的内容 1-1

■ inode包含文件的元信息

  • 文件的字节数
  • 文件拥有者的User ID(不包含文件名)
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳

■ 用stata命令可以查看某个文件的inode信息

  • 示例:stat aa.txt‘’

1.3 inode的内容 1-2

■ Linux系统文件三个主要的时间属性

  • ctime(change time)
    • 最后一次改变文件或目录(属性)的时间
  • atime(access time)
    • 最后一次访问文件或目录的时间
  • mtime(modif time)
    • 最后一次修改文件或目录(内容)的时间

1.4 inode的内容 1-3

■ 目录文件的结构

  • 目录也是一种文件
  • 目录文件的结构
文件名1 inode号码1
文件名2 inode号码1

每一行称为一个目录项
■ 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
■ Linux系统内部不使用文件名,而使用inode号码来识别文件
■ 对于用户,文件名只是inode号码便于识别的别称

1.5 inode的号码

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

  1. 系统找到这个文件名对应的inode号码
  2. 用过inode号码,获取inode信息
  3. 根据inode信息,找到文件数数据所在的block1,读出数据

■ 查看iodine号码的方法

  • ls -i命令:查看文件名对应的inode号码
    ls -i aa.txt
  • stat命令:查看文件inode信息中的inode号码
    stata aa.txt

1.6 文件存储小结

■ 硬盘分区后的结构
在这里插入图片描述
■ 访问文件的简单流程
在这里插入图片描述

1.7 inode的大小

■ inode也会消耗硬盘空间

  • 每个inode的大小
  • 一般是128字节或

■ 格式化文件系统时确定inode的总数
■ 使用df -i命令可以查看每个硬盘分区的inode总数和已使用的数量

1.8 inode的特殊作用

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

  • 当文件包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
  • 移动或重命名文件时,只改变文件名,不影响inode号码
  • 打开一个文件后,系统通过inode号码来识别该文件,不在考虑文件名

二、硬链接与软链接

2.1 链接文件 1-1

■ 为文件或目录建立连接文件
■ 链接文件分类

软链接 硬链接
使用范围 失效 仍旧可用
保存范围 与原始文件可以位于不同的文件系统中 必须与原始文件在同一个文件系统(如一个Linux分区)内

2.2 链接文件 1-2

■ 为文件或目标建立链接文件
■ 链接文件分类

  • 硬链接
    ln 源文件 目标位置
  • 软链接
  • ln -s 源文件或目录...链接文件或目标位置

三、恢复误删除的文件

3.1 恢复EXT类型的文件

■ 编译安装extundelete软件包

  • 安装依赖包
    • e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
    • e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm

■ 模拟删除并执行恢复操作

3.2 恢复XFS类型的文件

■ xfsdumo命令格式
xfsdump -f 备份存放位置 要备份的路径或设备文件

■ xfsdump 备份级别(默认为0)

  • 0:安全备份
  • 1-9:增量备份

■ xfsdump 常用选项:-f 、-L、-M、-s

■ xfsdump 命令格式
xfsdump -f 恢复文件的位置 存放恢复后文件的位置

■ 模拟删除并执行恢复操作

3.3 xfsdump使用限制

■ 只能备份已挂载的文件系统
■ 必须使用root的权限才能操作
■ 只能备份CFS文件系统
■ 备份后的数据只能让xfsrestore解析
■ 不能备份两个具有相同UUID的文件系统

四、分析日志文件

4.1 日志文件 4-1

■ 日志的功能

  • 用于记录系统、程序运行中发生的各种事情
  • 通过阅读日志,有助于诊断和解决系统故障

■ 日志问价你的分类

  • 内核及系统日志

    • 由系统服务rsyslog 统一进行管理,日志格式基本相似
  • 用户日志

    • 记录系统用户登录及退出系统的相关信息
  • 程序日志

    • 由各种应用程序独立管理的日志文件,记录格式不统一

4.2 日志文件 4-2

■ 日志保存位置

  • 默认位于:/var/log 目录下

■ 主要日志文件介绍
在这里插入图片描述

4.3 内核及系统日志 4-3

■ 由系统服务rsyslog 统一管理

  • 软件包:rsyslog-7.4.7-16.el7.x86_64
  • 主要程序:/sbin/rsyslogd
  • 配置文件:/etc/rsyslog.conf

4.4 内核及系统日志 4-4

■ 日志消息的级别

级别 消息 级别 说明
0 EMERG 紧急 会导致主机系统不可用的情况
1 ALERT 警告 必须马上采取措施解决的问题
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 可能会影响系统功能的事件
5 NOTICE 注意 不会影响系统但值得注意
6 INFO 信息 一般信息
7 DEBUG 调试 程序或系统调试信息等

4.5 内核及系统日志 4-5

■ 日志记录的一般格式
在这里插入图片描述

4.6 用户日志分析

■ 保存了用户登录、退出系统等相关信息

  • /var/log/lastlog:最近的用户登录事件
  • /var/log/wtmp:用户登录,注销及系统开,关机事件
  • /var/log/utmp:当前登录的每个用户的详细信息
  • /var/log/secure:与用户验证相关的安全性事件

■ 分析工具
- users、who、w、last、lastb

4.7 程序日志分析

■ 由相应的应用程序独立进行管理

  • Web服务:/var/log/httpd/
    access_log、error_log
  • 代理服务:/var/log/squid/
    access_log、cache_log
  • FTP服务:/var/log/xferlog

■ 分析工具

  • 文本查看,grep过滤检索,Webmin管理套件中查看
  • awk、sed 等文本过滤、格式化编辑工具
  • Webalizer、Awstats等专用日志分析工具

4.8 日志管理策略

■ 及时作好备份和归档
■ 延长日志保存期限
■ 控制日志访问权限

  • 日志中可能会包含各类敏感信息,如账户、口令等

■ 集中管理日志

  • 将服务器的日志文件发到统一的日志文件服务器
  • 便于日志信息的统一收集、整理和分析
  • 杜绝日志信息的意外丢失、恶意篡改或删除

猜你喜欢

转载自blog.csdn.net/weixin_44733021/article/details/107560454