Linux文件系统与日志分析详解

inode(索引节点/i节点)与block(块)

inode与block的概念

什么是block?

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

一般连续8个扇区会组成一个“块”(block),一个块是4K大小,是文件存取的最小单位。

文件名存储在目录文件当中

文件数据包含实际数据与元信息(类似于文件属性),文件数据是存储在“块”当中,

什么是inode?

存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域叫做inode(除文件名以外的所有文件属性和信息) 。因此,一个文件必须占用一个inode,并且至少占用一个块。

inode不包括文件名,文件名是存放在目录当中的,Linux系统中一切皆文件,因此目录也是一种文件。

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

如何查看inode号

查看文件对应的inode号有以下两种方式

  1. ls -i
    在这里插入图片描述
  2. stat +[指定文件]

在这里插入图片描述

inode的内容

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

  1. ctime(change time)

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

  1. atime(access time)

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

  1. mtime(modify time)

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

inode与文件/目录对应关系

  • 目录文件的结构

    • 目录也是一种文件
    • 目录文件的结构
    • 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
  • Linux系统内部不适用文件名,而使用inode号来识别文件

  • 对于用户、文件名只是inode号码便于识别的别称

系统访问文件的过程

在这里插入图片描述

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

    • 系统找到这个文件名对应的inode号码
    • 通过inode号码,获取inode信息
    • 根据inode信息的权限,查看用户是否具有访问文件的权限,有权限则找到文件数据所在的block,读 出数据;没有权限则拒绝访问

如何删除inode号?

由于inode号与文件名分离,导致Linux系统具备以下几种特有的现象:

  1. 文件名包含特殊字符,可能无法正常删除。这时直接删除inode号,能够起到删除文件的作用
  2. 移动文件或重命名文件,只是改变文件名,不影响inode号码
  3. 打开一个文件以后,系统就以inode号来识别这个文件,不再考虑文件名
  4. 使用vi编辑器修改文件数据保存后,会生成一个新的inode号

rm命令只能通过文件名删除,无法通过inode号码删除,遇到含有特殊字符的文件,只能通过inode号进行删除,如果想通过inode号删除有以下三种方法:
在这里插入图片描述

inode号实验

实验:模拟inode号已经被使用耗尽,存在可用空间却无法创建新文件的情况

实验条件:拥有额外的两块硬盘

在这里插入图片描述
在这里插入图片描述
如上图,我们为什么要创建ext4类型的文件系统没有使用xfs的常用格式,是因为xfs类型的文件系统统计空间时并不没有ext4格式那么准确,本身的可创建数量可能偏高于给出的可用数量

在这里插入图片描述
在这里插入图片描述
接下来我们要创建相对应数量的文件(2549个):

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上面操作,我们可以看到虽然我们分区仍然有可用空间,但是我们的inode号已经使用完了,因此无法创建文件。

实验:如何恢复EXT类型的文件

首先我们需要使用到一个名为extundelete的数据恢复工具,这款开源的Linux数据恢复工具,仅支持ext3、ext4文件系统类型的磁盘恢复数据,其中(ext4的文件类型只能在centos6版本中恢复),所以我们这次实验仅使用ext3的文件类型作为恢复用的磁盘文件类型。

实验准备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Linux系统中下载文件

命令1:
wget http://… [-o] #wget后面跟指定路径 -o指定下载目录
命令2:
curl -L http://… [-o] #curl -L选项指定下载的路径 -o指定下载的目录

编译安装extundelete

  • 安装依赖包
    • e2fsgprogs-libs-1.41.12-18.el6.x86_64rpm
    • e2fsgprogs-devel-1.41.12-18.el6.x86_64rpm
  • 配置、编译及安装
    • extundelete-0.2.4.tar.bz2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

演示误删除操作

在这里插入图片描述
extundelete /dev/sdc1 --inode 2 #仍然使用该命令查看inode号以2开始的文件

在这里插入图片描述

进行文件的恢复

在我们进行文件的恢复之前,一定要进行解挂载的操作,因为在我们工作环境中,数据是会不断进行写入到磁盘空间中的,为了防止之前被删除文件的内容被其他新的文件所替换,我们第一时间先进行解挂载,然后再进行恢复工作

在这里插入图片描述

如何进行文件的备份

xfs类型文件备份与恢复

  • Centos 7 系统默认采用xfs类型的文件,xfs类型的文件可以使用xfsdump与xfsrestore工具进行备份恢复。
  • xfsdump的备份级别有两种:0表示完全备份;1-9表示增量备份。sfsdump的备份级别默认为0。
  • 完全备份效率较低,占用磁盘空间高,存在每次的备份都有重复数据备份的情况;增量备份只会去备份上次备份结束后新增加的文件数据。

xfsdump命令

xfsdump命令格式

xfsdump -f #指定备份文件存放的位置 选项后加上需要备份的目录

如何进行备份

在这里插入图片描述

在这里插入图片描述
可以在命令后使用-L选项加上指定标签 -M选项加上指定设备标签进行免交互的备份操作

在这里插入图片描述

linux日志分析

日志的功能

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

日志文件的分类

  • 内核及系统日志

    • 由系统服务rsyslog统一进行管理,日志格式基本相似
    • 主配置文件/etc/rsyslog.conf
  • 用户日志

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

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

日志保存位置

默认位于/var/log目录下,常用的日志文件如下所示

在这里插入图片描述

日志配置文件详情

系统日志由系统服务rsyslog统一管理

主要程序:/sbin/rsyslogd

配置文件:/etc/rsyslog.conf

日志配置文件字段相关含义

首先,进入/etc/rsyslog.conf配置文件中查看配置内容

在这里插入图片描述

*.info #表示info等级及以上的所有等级的信息都写道对应的日志文件中
cron.none #表示某事件的信息不写入日志文件中(比如计划任务所产生的时间信息)

在这里插入图片描述

日志消息优先级

在这里插入图片描述

  • mail.info /var/log/maillog #比指定级别更高的日志级别,包括指定级别自身,保存到/var/1og/maillog中
  • mail.=info /var/log/maillog #明确指定日志级别为info,保存至/var/log/maillog
  • mail.!info /var/1og/maillog #除了指定的日志级别(info)所有日志级别信息,保存至/var/1og/maillog中
  • *.info /var/1og/maillog #所有文件info级别以上的日志,保存至/var/1og/maillog
  • mail.* /var/1og/maillog #mail的所有日志级别信息,都保存至/var/1og/maillog
  • mail.notice;news.info /var/log/maillog #表示mail的notice级别以上的日志和news的info级别以上的日志都保存至/var/log/maillog
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值