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

一、inode与block

1.1 block

  • 文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”,每个扇区512个字节
  • 操作系统读取硬盘的时候,一个扇区一个扇区的读取效率太低,所有会一次性读取多个扇区,即一次读取一个block(块)。最常见的是8个扇区组成一个block(块),大小也就是4KB,是文件存储的最小单位。

1.2 inode(元信息)

  • 文件存储在block(块)中,那么还需要有一个存储元信息的文件,元信息里包含文件的创建者、创建日期、文件大小、文件权限等,但是没有文件名。这种存储元信息的区域就叫做inode(索引节点)
  • 创建文件,系统会分配1个空闲的inode号,inode号必须要有,且是唯一的;还至少分配1个block,用于存储实际数据。元数据信息都在inode号里。
  • inode号与block都会占用磁盘的空间

(1)查看文件inode号以及详细信息

命令格式:stat  文件名

  • atime(access time):最后一次访问文件的时间
  • mtime(modify time):最后一次修改文件或目录(内容)的时间
  • ctime(chage time):最后一次修改文件权限或者属性的时间

(2)inode号

  • 识别系统内的不同文件
  • 创建文件时,文件名是方便用户识别的标识,系统是通过inode号来和文件一一对应,访问文件时,实际上是通过inode号来找文件的。
  • 所有的权限控制都是基于inode号完成的

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

  1. 用户输入文件名
  2. 系统通过文件名找到对应的inode号
  3. 通过inode信息,找到文件数据所在的block
  4. 读取数据

1.3 inode特点

inode号与文件名是分离的,所有会有以下几种特有的现象:

(1)文件名如果包含特殊字符,可能无法通过文件名直接删除,只能通过inode号删除

使用inode号删除文件的命令格式:

[root@localhost ~]# find 路径 -inum inode号 -exec rm -rf {} \; 

(2)移动文件,包括重命名,只修改文件名,文件的inode号不变

(3)打开文件后,系统以inode号来识别文件,跟文件名无关

(4)使用vim编辑器修改文件数据保存的文件,会生成一个新的inode号

二、恢复误删除文件 

(1)使用xfs文件系统的备份和恢复

命令:

  • xfsdump  备份
  • xfsrestore  恢复

xfs备份命令格式:

[root@localhost ~]# xfsdump -f /opt/backup /dev/sdb1 [-L backup -M sdb1]
  • -f:指定备份文件的命令
  • /opt/backup:要备份文件的命令
  •  backup:需要通过解析恢复的文件
  • /dev/sdb1:备份的设备
  • -L:指定备份的标签
  • -M:指定备份设备的标签

此命令就是sdb1上的数据备份到/opt/backup文件中,备份完后需要通过xfsrestore来解析backup恢复文件

 备份级别:

  • 0:完全备份(默认就是0)
  • 1-9:增量备份

使用xfsdump使用的要求:

  • 只能备份已挂载的文件系统(xfs)
  • 只有root用户才能操作
  • 只能是xfs的文件系统
  • 它不是直接恢复文件,而是通过xfsrestore解析后,备份文件才能恢复
  • 不能备份2个uuid相同的文件系统

(2)使用xfs做一个全量备份和一个增量备份

  • .先将sdb分出一个5G大小的sdb1分区,并挂载

 

  •  创建文件并做全量备份

  •  增加文件,并做增量备份

  •  解析恢复全量备份

  • 解析恢复增量备份

 总结:全量备份,恢复的是备份的所有文件;增量备份只能在全量备份完之后才可以进行增量备份,并且备份的是上一个节点之后增加的文件,恢复也只能恢复上一节点增加的文件。

三、日志分析 

日志:系统、程序在运行时会产生一些相关的数据信息,这些信息会统一记录在日志中

功能:通过阅读日志,有助于诊断和解决系统故障;用于记录系统、程序中发生的各种事件

保存位置:默认保存在/var/log目录下 var/log/message(常用)

查看方式:tail  -f 动态查看

3.1 日志文件的分类

(1)内核及系统日志:

  • 这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置

(2)用户日志:

  • 这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登 录的终端、登录时间、来源主机、正在使用的进程操作等

(3)程序日志

  • 有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息

3.2 日志文件内容格式

  • 事件产生的时间
  • 产生事件的服务器的主机名
  • 产生事件的服务名或程序名
  • 事件的具体信息以及结果

3.3 内核及系统日志配置文件及日志消息等级

(1)日志配置文件

[root@localhost ~]# vim /etc/rsyslog.conf   ##配置文件

54 *.info;mail.none;authpriv.none;cron.none                /var/log/messages   
##54行,表示所有info级别以上,包含info级别的日志,都记录到/var/log/messages中

*             #表示所有
info          #日志级别
none          #日志级别,表示无级别,不记录

注意:改完之后一定要重启服务,否则配置的内容不生效 

(2)日志消息等级(数字等级越小,优先级越高,消息越重要)

级别消息级别具体描述
0EMERG紧急会导致主机系统不可用的情况。如系统崩溃
1ALERT警告必须马上采取措施解决的问题。如数据库被破坏
2CRIT严重比较严重的情况。如硬盘错误,可能会阻碍程序的部分功能
3ERR错误运行出现错误。不是非常紧急,尽快修复的
4WARNING提醒可能影响系统功能,需要提醒用户的重要事件。不是错误,如磁盘用了85%等
5NOTICE注意不会影响正常功能,但是需要注意的事件。无需处理
6INFO信息一般信息。正常的系统信息
7DEBUG调试程序或系统调试信息等。包含详细开发的信息,调试程序时使用
none没有优先级,不记录任何日志消息

3.4 查询用户登录信息相关命令

[root@localhost ~]# users   #显示当前登录系统的所有用户的用户列表。
[root@localhost ~]# w       #显示目前登入系统的用户信息
[root@localhost ~]# last    #列出截止目前登录过系统的用户信息
[root@localhost ~]# lastb   #查询登录失败的用户记录

3.5 日志管理

  1. 对于业务型日志,一般保留2-3天
  2. 根据保存的类型不同,保存的期限也不同。例如,用户信息:进行永久保存,不能删除,而且要进行备份;交易记录:一般保留半年,但是需要备份,可以查询到
  3. 权限控制:一般的核心业务日志,只有少数权限人员可查看

3.6 实验

(1)要求:服务日志单独存放

1.关闭防火墙和更改安全机制

2.进入/etc/rsyslog.conf里修改配置文件的自定义日志存放位置

  • local6:自定义服务日志,对应的服务也必须配置相应的local等级
  • /var/log/ssh.log:存放位置

 3.进入/etc/ssh/ssh_config修改配置

 4.重启服务

 5.使用test2测试访问登录test1

 6.动态查看存放日志的文件,显示test2的IP登录访问信息

 (2)配置日志服务器,用来收集客户机日志

说明:test1 192.168.247.21为发送方 test2 192.168.247.22 为接收方

发送方配置:

1.先关闭防火墙和改变安全机制

 2.进入/etc/rsyslog.conf配置文件

  • 使用TCP协议,将TCP协议注释取消,开启TCP协议

  •  将54行日志存储的路径的命令注释掉;并在下一行添加新的路径存储路径“@@”标识使用TCP协议

 3.重启服务并查看端口是否开启

 接收方配置:

1.进入/etc/rsyslog.conf配置文件,开启TCP协议

 2.重启服务并查看端口是否开启

 3.动态查看日志文件

 验证:

返回发送方发送验证文件

 接收方显示日志记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值