模拟inode号耗尽、EXT和XFS类型文件恢复(详细图解)


一、inode与block

1、概论

在这里插入图片描述

扇区(sector)

  • 文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区(sector),每个扇区存储512字节。

块(block)

  • 一般连续八个扇区组成一个""(block),一个块是4K大小,是文件存取的最小单位,文件数据存储在“块”中。
  • 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。

索引节点(inode)

  • 文件数据包括实际数据与元信息(类似文件属性)。
  • 文件数据存储在"块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode
  • 因此一个文件必须占用一个inode,并且至少占用一个 block。
  • inode不包含文件名。文件名是存放在目录当中的。Linux 系统中一切皆文件,因此目录也是一种文件。
  • 每个inode都有一个号码。操作系统用inode号码来识别不同的文件。Linux内部不使用文件名,而使用inode号来识别文件。
  • 文件名只是inode号便于识别的别称。文件名和inode号是一一对应的关系,每个inode号都对应一个文件名。

系统访问文件过程

  • 当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码;通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

在这里插入图片描述

2、查看文件名对应的inode号的方式

 第一种方式:  ls -i 文件名
 第二种方式:  stat  文件名

在这里插入图片描述

3、注意事项

  • inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盏分成两个区域。
    • 一个是数据区,存放文件数据;
    • 另一个是inode区,存放inode所包含的信息。
    • 每个inode的大小,一般是128字节或256字节。
  • 通常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode的总数在格式化时就给定了。
  • 执行“df -i”命令即可查看每个硬盘分区对应的的inode总数和已经使用的inode数量。

4、特点

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

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

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

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

二、inode节点耗尽故障处理

1、进行分区

在这里插入图片描述

2、格式化成ext4格式

在这里插入图片描述

3、进行挂载,并删除挂载目录内已有文件

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

4、模拟故障

在这里插入图片描述

5、查看inode号和占用空间大小情况

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

6、恢复方式:删除无用文件,以恢复节点数

在这里插入图片描述

三、EXT文件误删除处理办法

1、导入extundelete软件包

  • extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4 文件系统(ext4只能在CentOS7版本恢复)
    在这里插入图片描述

2、安装环境依赖包

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

3、安装extundelete软件

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

4、挂载目录内创建文件,并赋予内容,然后查看inode号

在这里插入图片描述

在这里插入图片描述

5、删除刚刚创建的文件,并解挂载,用来模拟故障

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

6、进行恢复操作

在这里插入图片描述

四、xfs类型文件备份和恢复

1、xfs类型文件备份和恢复

  • CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复。
  • xfsdump的备份级别有两种
    • 0表示完全备份(默认为0)
    • 1-9表示增量备份
xfsdump 命令格式 xfsdump -f 备份存放位置 要备份的路径或设备文件
xfsdump 命令常用的选项 -f 指定备份文件目录
-L 指定标签 session label
-M 指定设备标签 media label
-s 备份单个文件,-s 后面不能直接跟路径
xfsdump使用限制 只能备份已挂载的文件系统
必须使用root的权限才能操作
只能备份 XFS 文件系统
备份后的数据只能让 xfsrestore 解析
不能备份两个具有相同 UUID 的文件系统(可用 blkid命令查看)

2、故障模拟

①、新建分区

在这里插入图片描述

②、格式化分区,并挂载,复制实验内容到挂载目录,创建目录和子文件

在这里插入图片描述

③、安装xfsdump软件

在这里插入图片描述

④、备份整个分区

在这里插入图片描述

⑤、模拟故障,并进行恢复

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Lucien010230/article/details/113665917
今日推荐