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

文章介绍了inode与block在文件系统中的角色,包括inode的元信息存储和block的数据存储功能。同时,讨论了日志文件的重要性,如内核及系统日志、用户日志和程序日志的分类,以及日志管理策略。还提到了如何恢复XFS文件系统的内容。
摘要由CSDN通过智能技术生成

一.inode与block

1.inode与block概述

文件数据包括元信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
block(块)
连续的八个扇区组成一个block
是文件存取的最小单位
inode (索引节点)
中文译名为:索引节点 ,也叫i节点
用于存储文件元信息

在这里插入图片描述
block 的作用:用来存真正的数据内容
每个扇区的大小规定是512B,系统在读取硬盘数据时,并不会一个个扇区去读,而是一次性连续性读取多个扇区,即一次性读取一个快,这种多个扇区组成的块,是文件存取的最小单位,块的大小,最常见的是4kb,即连续8个sector组成一个block

inode 的作用:用来存数据的元信息的,所谓元信息指的就是该数据的一些属性,特性。

那我们的inode可以记录的信息有哪些?

可以是文件权限(rwx)的记录,文件的属主,属组,文件大小,时间戳等,这种存储文件元信息的区域就叫做 inode,中文译名"索引节点”,也叫i节点,因此,一个文件必须占用一个inode,但至少占用一个block
注:inode中并不包括文件名,其实文件名是存放在目录当中的,linux系统中一切皆文件,因此目录也是一种文件即查看目录中的文件,cd转目录后通过ls列目录里可以查看文件名,而我们每个inode都有一个号码,系统用inode号码识别不同的文件,系统内部不使用文件名,而使用inode号码来识别文件。

2.inode的内容

2.1inode包含文件的元信息

  • 文件的字节数
  • 文件拥有者的User ID
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳
  • 。。。。
    2.2用stat命令可以查看某个文件的inode信息
 stat aa.txt

在这里插入图片描述

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

ctime(change time)

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

atime(access time)

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

omtime(modify time)

2.6.最后一次修改文件或目录 (内容) 的时间
2.7目标文件的结构

  • 目录也是一种文件
  • 目录文件的结构
    在这里插入图片描述
  • 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
  • Linux系统内部不使用文件名,而使用inode号码来识
    别文件
  • 对于用户,文件名只是inode号码便于识别的别称
3.inode的号码

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

  • 系统找到这个文件名对应的inode号码
  • 通过inode号码,获取inode信息
  • 根据inode信息,找到文件数据所在的block,读出数据
    (2)查看inode号码的方法
    ls -i命令: 查看文件名对应的inode号码
ls -i aa.txt

stat命令: 查看文件inode信息中的inode号码

stat aa.txt

3.硬盘分区后的结构
在这里插入图片描述

  • 访问文件的简单流程:
  • 当一个用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它的 inode ,看该用户是否具有访问这个文件的权
  • 如果有,就指向相对应的数据block
  • 如果没有,就返回Permission denied

4.访问文件的简单流程
在这里插入图片描述

  • inode也会消耗硬盘空间,每个inode的大小,一般是128字节或256字节
  • inode的总数,在格式化时就确定
  • 查看每个硬盘分区的inode总数和已经使用的数量,可以使用命令: df -i
    [root@localhost ~]# df -i
    文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
    /dev/mapper/centos-root 26214400 145278 26069122 1% /
    devtmpfs 221158 446 220712 1% /dev
    tmpfs 225137 1 225136 1% /dev/shm
    tmpfs 225137 646 224491 1% /run
    tmpfs 225137 16 225121 1% /sys/fs/cgroup
    /dev/sda1 524288 328 523960 1% /boot
    /dev/mapper/centos-home 38400000 10 38399990 1% /home
    tmpfs 225137 9 225128 1% /run/user/42
    tmpfs 225137 1 225136 1% /run/user/0
4.inode的特殊作用
由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象
  • 当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
  • 移动或重命名文件时,只改变文件名,不影响inode号码
  • 打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
5.链接文件
  • 为文件或目录建立链接文件
  • 链接文件分类
    在这里插入图片描述
硬链接
ln  源文件  目标位置
软连接
ln -s 源文件或目录... 链接文件或目标位置
6.恢复XFS类型的文件

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

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

(3)xfsdump常用选项: -f、-L、-M、-s
xfsrestore命令格式
(4)xfsrestore -f 恢复文件的位置 存放恢复后文件的位置
模拟删除并执行恢复操作

xfsdump使用限制
  • 只能备份已挂载的文件系统
  • 必须使用root的权限才能源作
  • 只能备份XFS文件系统
  • 口各份后的数据只能让xfsrestore解折
  • 不能备份两个只有相同UWID的文件系统

二.日志文件

1.日志的功能
  • 用于记录系统、程序运行中发生的各种事件·
  • 通过阅读日志,有助于诊断和解决系统故障
2.日志文件的分类

内核及系统日志

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

  • 主配置文件/etc/rsyslog.conf

  • 用户日志

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

    • 由各种应用程序独立管理的日志文件,记录格式不统-
  • 日志保存位置
    ·默认位于: /var/log目录下

/var/log/messages记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I0错误、网络错误,程序故障等。对于未使用独立日志文件的应用程序或服务,,一般都可以从该日志文件中获得相关的事件记录信息
/var/log/cron记录crond计划任务产生的事件信息
/var/log/dmesg记录Linux系统在引导过程中的各种事件信息
/var/log/maillog记录进入或发出系统的电子邮件活动
/var/log/lastlog记录每个用户最近的登录事件
/var/log/rpmpkgs记录系统中安装的各rpm包列表信息
/var/log/secure记录用户认证相关的安全事件信息
/var/log/wtmp记录每个用户登录、注销及系统启动和停机事件
/var/run/btmp记录失败的、错误的登录尝试及验证事件
3.内核及系统日志

由系统服务 rsyslog 统一管理

  • 软件包: rsyslog-7.4.7-16.el7.x86 64
  • 主要程序: /sbin/rsyslogd
  • 配置文件: etc/rsyslog.conf
    由rsyslog软件包提供了rsyslogd程序,分别用于记录系统内核的消息和各种应用程序的消息在/etc/syslog.conf配工文件中,配置记录的格式如下(具体参考 man syslog.conf) :
    日志消息的级别
级别消息级别说明
0EMERG紧急会导致主机系统不可用的情况。如系统崩溃
1ALERT警告必须马上采取措施解决的问题。如数据库被破坏
2CRIT严重比较严重的情况。如硬盘错误,可能会阻碍程序的部分功能
3ERR错误运行出现错误。不是非常紧急,尽快修复的
4WARNING提醒可能影响系统功能,需要提醒用户的重要事件。不是错误,如磁盘用了85%等
5NOTICE注意不会影响正常功能,但是需要注意的事件。无需处理
6INEO信息一般信息。正常的系统信息
7DEBUG调试程序或系统调试信息等。包含详细开发的信息,调试程序时使用
设备字段说明:
auth用户认证时产生的日志
authprivssh、ftp等登录信息的验证信息
daemon一些守护进程产生的日志
ftpETP产生的日志
lpr打印相关活动
markrsyslog服务内部的信息,时间标识
news网络新闻传输协议 (nntp)产生的消息
syslog系统日志
uucpUnix-to-Unix copy 两个unix之间的相关通信
console针对系统控制台的消息
cron系统执行定时任务产生的口志
kern系统内核日志
loca10~local7自定义程序使用
mail邮件目志
user用户进程
4.用户日志分析

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

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

(2)分析工具

  • ousers 、 who、w、last、 lastb
  • olast 命令用于查询成功登录到系统的用户记录
  • olastb 命令用于查询登录失败的用户记录
5.程序日志分析

由相应的应用程序独立进行管理
(1)Web服务: /var/log/httpd/

  • access logerror_log//记录客户访问事件*
  • error_log//记录错误事件代理服务: /var/log/squid/

(2)代理服务: /var/log/squid/

  • access.log、 cache.log
6.日志管理策略
  • 及时作好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限·
    • 日志中可能会包含各类敏感信息,如账户、口令等
  • 集中管理日志
    • 将服务器的日志文件发到统一的日志文件服务器·
    • 便于日志信息的统一收集、整理和分析
    • 杜绝日志信息的意外丢失、恶意篡改或删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanghwei 17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值