文件系统与日志分析

一、block的作用:用来存真正的数据内容的

我们每个扇区(sector)的大小规定是512B,系统在读取硬盘数据时,并不会一个个扇区去读,而是一次性连续读取多个扇区,即一次性读取一个块(block),这种由多个扇区组成的块,是文件存取的最小单位,块的大小,最常见的是4kb,即连续8个sector组成一个block

 

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

那我们的inode可以记录的信息有哪些呢?可以是文件权限(rwx)的记录,文件的属主、属组、文件大小、时间戳等。这种存储文件无信息的区域就叫做inode,中文译名为“牵引节点”,也叫i节点,因此,一个文件必须占用一个inode,但至少占用一个block

注:inode中并不包括文件名,其实文件名是存放在目录当中的,Linux系统中一切皆文件,因此目录也是一种文件,即查看目录中的文件,cd转目录后通过ls列目录可以查看文件名,而我们每个inode都有一个号码,系统用inode号码识别不同的文件,系统内部不使用文件名,而使用inode号码来识别文件


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

ctime(change time):改变

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

centos系统日志保留多久 centos日志文件保存路径_文件系统

 

 atime(access time):访问

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

centos系统日志保留多久 centos日志文件保存路径_数据_02

 

mtime(modify time):修改

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

修改时三个时间属性都会改变

centos系统日志保留多久 centos日志文件保存路径_数据_03

 

四、inode号码

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

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

2、通过inode号码,获取inode信息

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

查看文件的inode大小:ls  -i  a.txt

查看详细信息:stat  a.txt

 

五、inode的大小

1、inode也会消耗硬盘空间

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

2、格式化文件系统时确定inode的总数

3、使用df –i命令可以查看每个硬盘分区的inode总数和已经使用的数量

 

六、inode的特殊作用

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

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

 

七、删除乱码文件

方法一:touch  a.txt

Ls  -I  a.txt

1543511  a.txt

find  .  –inum  1543511  –exec  rm  –i  {}  \;

这条命令的意思是find找到的内容作为后面rm删除的对象,语法结构分析:

-exec参数后面跟的是命令,它的终止是以;为结束标志的,{}代表前面find找出来的文件名,\代表换行的是立即执行的意思

centos系统日志保留多久 centos日志文件保存路径_文件系统_04

 

方法二:find  .  –inum  1543511  |  xargs  rm  -f

Xargs这个参数就是强力的意思,如果前面的输出结果包含空格或制表符也会被强力执行

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_05

 

八、恢复XFS类型的文件

1、extundelete工具仅可以恢复EXT类型文件,无法恢复CentOS7系统默认采用xfs类型的文件,针对xfs文件系统目前也没有比肩成熟的文件恢复工具,提前做好数据备份,以防数据丢失

2、xfs类型的文件可使用xfsdump与xfsrestore工具进行备份恢复,若系统总未安装xfsdump与xfsrestore工具,可以通过yum  -y  install  xfsdump命令安装,xfsdump按照inode顺序备份一个xfs文件系统,xfsdump的备份级别有两种:0表示完全备份,1-9表示增量备份。Xfsdump的备份默认为0,xfsdump的命令常用的参数包括以下几种

-f  指定备份文件或目录

-L  指定标签session label

-M  指定设备标签media label

-s  备份单个文件,-s后不能直接跟路径

xfsdump恢复工具实验步骤:

1、初始化磁盘(分区、格式化及挂载)

centos系统日志保留多久 centos日志文件保存路径_文件名_06

centos系统日志保留多久 centos日志文件保存路径_数据_07

 

2、准备测试文件

centos系统日志保留多久 centos日志文件保存路径_文件名_08

 

3、使用xfsdump命令备份整个分区

xfsdump  -f  /opt/dump.sdb1  /dev/sdb1

dump.sdb1  指定备份会话标签,自己设的

sdb1        指定设备标签,自己设的

xfsdump  -I  查看备份信息与内容

centos系统日志保留多久 centos日志文件保存路径_文件系统_09

centos系统日志保留多久 centos日志文件保存路径_文件系统_10

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_11

 

 

 

4、删除之前创建的内容

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_12

 

5、恢复文件

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_13

centos系统日志保留多久 centos日志文件保存路径_数据_14

使用xfsdump时,需要注意以下的几个限制:

xfsdump不支持有挂载的文件系统备份,所以只能备份已挂载

xfsdump必须使用root的权限才能操作

xfsdump只能备份XFS文件系统

xfsdump备份下来的数据只能用xfsrestore解析

xfsdump是透过文件系统的UUID来分辨各个备份档的,因此不能备份两个具 有相同的UUID的文件系统

 

extundelete恢复工具实验步骤:(在CentOS6系统中做)

1、初始化磁盘(分区、格式化及挂载)

centos系统日志保留多久 centos日志文件保存路径_文件名_15

centos系统日志保留多久 centos日志文件保存路径_文件系统_16

centos系统日志保留多久 centos日志文件保存路径_文件系统_17

2、安装环境

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_18

3、将extundelete压缩文件导入并安装

centos系统日志保留多久 centos日志文件保存路径_数据_19

centos系统日志保留多久 centos日志文件保存路径_文件名_20

centos系统日志保留多久 centos日志文件保存路径_文件名_21

4、在/data下创建文件,备份并删除/data下部分文件

centos系统日志保留多久 centos日志文件保存路径_文件名_22

centos系统日志保留多久 centos日志文件保存路径_文件系统_23

centos系统日志保留多久 centos日志文件保存路径_文件名_24

5、恢复文件,要先卸载挂载点,空文件或空目录备份不了

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_25

centos系统日志保留多久 centos日志文件保存路径_文件名_26

xfsdump和extundelete区别:

1、extundelete需要额外去安装,而xfsdump默认系统自带

2、extundelete恢复时需要解挂载,而xfsdump需要挂载点在线时使用

3、xfsdump使用时必须是root账户才能用

4、extundelate只能恢复ext4的文件系统格式(必须是CentOS6系统),xfsdump只能恢复xfs的文件系统格式(CentOS7中默认是xfs文件系统格式)、

 

九、日志文件

日志的功能

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

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

日志文件的分类

1、内核级系统日志——由系统服务rsyslog统一进行管理,日志格式基本相似

2、用户日志——记录系统用户登录及退出系统的相关信息

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

 

十、日志保存位置

默认位于/var/log目录下

主要日志文件介绍

内核及公共信息日志:/var/log/messages

计划任务日志:/var/log/cron

系统引导日志:/var/log/dmesg

邮件系统日志:/var/log/maillog

记录每个用户靠近的登录事件:/var/log/lastlog

记录用户认证相关的安全事件消息:/var/log/secure

记录每个用户登录、注销及系统启动和停机消息:/var/log/wtmp

记录失败的,错误的登录尝试及验证事件:/var/log/btmp

 

十一、日志消息的级别

centos系统日志保留多久 centos日志文件保存路径_数据_27

查询用户登录失败的用户记录

last:查看成功登录到系统的用户记录

lastb:查看登录失败的用户记录

 

十二、日志记录的一般格式 

centos系统日志保留多久 centos日志文件保存路径_文件系统_28

十三、日志的管理策略

centos系统日志保留多久 centos日志文件保存路径_centos系统日志保留多久_29