每个扇区大小规定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类型文件的过程。
-
初始化磁盘,挂载
-
测试文件
3用xfsdump命令备份整个分区
4.模拟数据丢失
5.卸载磁盘恢复文件
extundelete与xfsdump的区别
1.extundelete需要额外去装而xfs默认系统自带
2.extundelete恢复时候需要解挂载,而xfsdump需要挂载点在线时使用
3.xfsdump使用时必须root账户才能用
4.extundelete只能恢复文件系统格式时ext格式的文件(必须centos6系统)
xfsdump只能恢复文件系统格式时xfs格式的文件(centos7默认是xfs文件系统格式)