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

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

inode的作用

用来存储数据的元信息的,所谓元信息是指该数据的一些属性,特性。inode可以记录文件权限(rwx)的记录,文件属主,属组,文件大小,时间戳等,中文译名索引节点,也叫i节点。因此,一个文件必须占用一个inode,至少占用一个block。
inode并不包括文件名,其实文件名是存放在目录当中的,Linix系统中一切皆文件,即目录也是一种文件,查看目录中的文件,cd转目录后通过ls列目录可以查看文件名,而我们每个inode都有一个号码,系统用inode号码识别不同的文件

系统内部不使用文件名,而是用inode号码来识别文件

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

ctime(change time)最后一次改变文件或者目录的时间
atime(access time)最后一次访问文件或者目录的时间
mtime (modify time)最后一次修改文件或者目录(内容)的时间
修改时三个时间戳都会发生改变

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

1.系统找到这个文件名对应的node号码
2.通过node号码,获取inode信息
3.根据inode信息,找到文件数据所在的block,读出数据

查看inode号码的方法

ls -i 命令 查看文件名对应的inode号码
ls -i aa.txt
stat 查看文件inode信息中的inode号码
stat aa.txt

inode也会消耗硬盘空间

每个inode的大小
一般是128字节或者256字节
格式化文件系统时确定inode的总数
使用df -i命令可以查看每个硬盘分区的inode总数的已经使用的数量

inode的特殊作用

由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象:
当文件包含特殊字符时,可能无法正常删除文件,直接删除inode,也可以删除文件
移动或重命名文件时,只改变文件名,不影响inode号码
打开一个文件后,系统通过inode号码来识别该文件,不在考虑文件名

find .-inum 100663364 -exec rm -i {} ;

find找到的内容作为后面rm删除的对象
语法结构分析:
-exec参数后面跟的是命令,它的终止是以;为结束标志的,{}代表前面find找出来的文件名,\代表换行符
;是立即执行的意思

find.-inum 100663364 | xargs rm -f
xargs这参数就是强力,前面输出结果包含空格或制表符也会被强力执行

extundelete 工具仅可恢复EXT类型的文件,无法恢复centos7系统默认采用xfs类型的文件。针对xfs文件系统目前也没有比较成熟的文件恢复工具,所以建议提前做好数据备份,避免数据丢失。xfs类型的文件可使用xfsdump与xfsrestore工具进行备份恢复。若系统中未安装,通过yum-install-y xfsdump命令进行安装。xfsdump按照inode顺序备份的一个xfs文件系统,备份级别有两种:0表示完全备份;1-9表示增量备份,xfsdump默认级别为0.xfsdump的命令格式为xfsdump -f备份存放位置,备份路径或者设备文件
-f:指定备份文件目录
-L:指定标签session label
-M:指定设备标签media label;
-s:备份单个文件,-s后不能直接跟路径

使用xfsclump备份整个分区

xfsdump -f /opt/dump_sdb1    /dev/sdb1
xfsdump -I //查看备份信息与内容

删除内容,模拟数据丢失

cd /data
rm -rf ./*
恢复
xfsrestore -f   /opt/dump-sdb1   /data

使用xfsdump时,有以下几个限制

xfsdump不支持没有挂载的文件系统备份,所以只能备份已挂载的
xfsdump必须使用root权限才能操作(涉及文件系统的关系)
xfsdump只能备份xfs文件系统
xfsdump备份下来的数据(档案与存储媒体)只能让xfsrestore解析
xfsdump是通过文件系统的UUID来分辨各个备份档的,因此不能备份两个具有相同UUID的文件系统

实验步骤

用extundelete恢复ext类型文件的过程。

编译安装extundelete
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加磁盘分区,格式化,挂载

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

在这里插入图片描述

误删文件
在这里插入图片描述

在这里插入图片描述

找到误删文件,拷贝到data
在这里插入图片描述

用xfsdump恢复xfs类型文件的过程。

  1. 初始化磁盘,挂载
    在这里插入图片描述
    在这里插入图片描述

  2. 测试文件
    在这里插入图片描述

3用xfsdump命令备份整个分区

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

4.模拟数据丢失
在这里插入图片描述

5.卸载磁盘恢复文件
在这里插入图片描述
在这里插入图片描述

extundelete与xfsdump的区别

1.extundelete需要额外去装而xfs默认系统自带
2.extundelete恢复时候需要解挂载,而xfsdump需要挂载点在线时使用
3.xfsdump使用时必须root账户才能用
4.extundelete只能恢复文件系统格式时ext格式的文件(必须centos6系统)
xfsdump只能恢复文件系统格式时xfs格式的文件(centos7默认是xfs文件系统格式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值