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

一、inode和block概述

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

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

  • block(块)

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

        是文件存取的最小单位

  • inode号(索引节点)

        中文译名为索引节点,也叫i节点

        用于存储文件元信息

二、inode的内容

  • inode包含的文件的元信息

        文件的字节数

        文件拥有者的user ID

        文件的group ID

        文件的读、写、执行权限

        文件的时间戳

        (不包含文件名)

  • 用stat命令可以查看某个文件的inode信息

stat 文件(aa.txt)
  • Linux系统文件三个主要的时间属性

  • ctime(change time)

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

  • atime(access time)

        最后一次访问文件或目录的时间

  • mtime(modify time)

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

  • 目录文件的结构

        目录也是一种文件

        目录文件的结构

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

三、inode的号码

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

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

        通过inode号码,获取inode信息

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

  • 查看inode号码的方法

        查看文件名对应的inode号

ls -i 文件(aa.txt)

        查看文件inode信息中的inode号码

stat 文件(aa.txt)

四、inode的大小

  • inode也会消耗硬盘空间

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

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

五、inode的特殊作用

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

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

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

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

六、链接文件

为文件或目录建立链接文件

链接文件分类

软链接硬链接
删除源文件会失效删除源文件不会失效
(因为是和源文件共享同一个文件数据)
适用于文件和目录只适用于文件
软链接文件可以和源文件不在同一个分区里硬链接文件必须要和源文件在同一个分区里
软链接文件和源文件inode号不同硬链接文件和源文件inode号相同

七、案例

  • 恢复EXT类型的文件

  • 编译安装extundelete软件包

        1.安装依赖包

        e2fsprogs-libs-1.41.12-18.el6.x86 64.rpm

        e2fsprogs-devel-1.41.12-18.el6.x86 64.rpm

      2. 配置、编译及安装

        extundelete-0.2.4.tar.bz2

  • 恢复XFS类型的文件

  • xfsdump命令格式
xfsdump -f 备份存放位置 要备份的路径或设备文件
  • xfsdump备份级别(默认为0)

        0:完全备份

        1-9:增量备份

  • xfsdump常用选项
-f指定备份文件目录
-L指定标签 session label
-M指定设备标签 media label
-s备份单个文件,-s 后面不能直接跟路径
  • xfsdump使用限制
  1. 只能备份已挂载的文件系统
  2. 必须使用root的权限才能操作
  3. 只能备份XFS文件系统
  4. 备份后的数据只能让xfsrestore解析
  5. 不能备份两个具有相同UUID的文件系统(可用 blkid命令查看)
  • xfsrestore命令格式
xfsrestore -f 恢复文件的位置 存放恢复后文件的位置

八、日志文件

  • 日志的功能

        用于记录系统、程序运行中发生的各种事情

        通过阅读日志,有助于诊断和解决系统故障

  • 日志文件的分类

  • 内核及系统日志

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

        主配置文件/etc/rsyslog.conf

  • 用户日志

        记录系统用户登录及退出系统的相关信息

  • 程序日志

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

  • 日志文件保存位置

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

  • 主要日志文件介绍

    内核及公共消息日志/var/log/messages
    计划任务日志/var/log/cron
    系统引导日志/var/log/dmesg
    邮件系统日志/var/log/maillog
    用户登录日志/var/log/lastlog
    /var/log/secure
    /var/log/wtmp
    /var/run/btmp

九、内核及系统日志

  • 由系统服务rsyslog统一管理

        软件包:rsyslog-7.4.7-16.el7.x86_64

        主要程序:/sbin/rsyslogd

        配置文件:/etc/rsyslog.conf

  • 日志消息的级别

0emerge紧急会导致主机系统不可用的情况
1alert警告必须马上采取措施解决额问题
2crit严重计较严重的情况
3err错误运行出现错误
4warning提醒可能会影响系统功能的事件
5notice注意不会影响系统但值得注意
6info信息一般信息
7debug调试程序或系统调试信息等
  • 日志记录的一般格式

/var/log/messages
时间标签主机名子系统名消息

十、用户日志分析

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

        /var/log/lastlog:最近的用户登录事件

        /var/log/wtmp:用户登录、注销及系统开、关机事件

        /var/run/utmp:当前登录的每个用户的详细信息

        /var/log/secure:与用户验证相关的安全性事件

  • 分析工具

        users、who、w、last、lastb

        last命令用于查询成功登录到系统的用户记录

        lastb命令用于查询登录失败的用户记录

十一、程序日志分析

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

  • web服务:/var/log/httpd/

        access_log        //记录客户访问事件

        error_log        //记录错误事件

  • 代理服务:/var/log/squid/

        access.log、cache.log

  • 分析工具

  • 文件查看、grep过滤检索、webmin管理套件中查看

  • awk、sed等文件过滤、格式化编辑工具

  • webalizer、awstats等专用日志分析工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值