文章目录
一、inode与block
1.inode和block的概述
1、文件数据包括元信息与实际数据。
2、文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节。
3、block(块)-连续的八个扇区组成一个block,是文件存取最小单位。
4、inode又称索引节点,inode号是唯一的。
5、操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。
2.inode包含文件的元信息(不包含文件名)
1.文件的字节数
2.文件拥有者
3.文件权限所属组
4.文件的读、写、执行权限
5.文件的时间戳。
3.inode内容
查看inode号的命令:stat +文件名或者ls -i。
1.每个inode都有一个号码,操作系统用inode号码来识别不同的文件
2.Linux系统内部不使用文件名,而使用inode号码来识别文件
3.对于系统来说,文件名只是inode号码便于识别的别称
4.文件名和inode号码是一一对应关系,每个inode号码对应一个文件名
4.用户通过文件名打开文件时,系统内部的过程
1.系统会先根据文件名去查找它对应的inode号码
2.通过inode号码,获取inode信息
3.根据inode信息,看该用户是否具有访问这个文件的权限,如果没有就拒绝访问,如果有就指向相对应的数据block,并读取数据
5.Linux系统文件有三个主要的时间属性
atime:accesstime 使用这个文件的时候就会更新时间。
mtime:修改文件的内容或者数据,就会更新这个时间。(如果一个空文件,添加内容,保存后,inode号也会发生改变。)
ctime:修改文件权限或者属性的时候,就会更新这个时间。
注:数据占用空间发生了变化,inode号也会随之改变,inode号变了,那么ctime也会发生变化。
6.inode的特殊作用
1.文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用。
2.移动文件或重命名文件,只是改变文件名,不影响inode 号码。
3.打开一个文件以后,系统就以inode 号码来识别这个文件,不再考虑文件名。
4.文件数据被修改保存后,会生成一个新的inode 号码。
二、xfs系统文件inode用完出现的情况
xfs系统文件最小分区16MB用完inode号情况及操作步骤:
1.添加磁盘给磁盘分区
2.格式化,创建挂载点挂载
3.查看sdb1分区的inode号可用数量,然后切换到目录下创建文件touch {1…8189}.txt。
4.再次使用命令df -i查看inode号的使用情况。
5.inode已用完,尝试继续创建文件touch {8190…8318}.txt。当创建8138.txt文件时,显示无法创建,设备上没有空间。
总结:通过实验得出xfs系统文件分区inode号用完仍然可以创建文件,但是有上限,达到上限就无法创建文件。创建文件的大小不一样会影响到inode上限数量。
三.XFS类型文件备份和恢复
1、CentOs 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复。
xfsdump 的备份级别有两种: 0表示完全备份; 1-9表示增量备份。
xfsdump的备份级别默认为0。
2、xfsdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
3、xfsdum的命令格式:
-f:指定备份文件目录。
-L:指定标签。
-M:指定设备标签。
-s:备份单个文件,-s后边不能直接跟路径。
模拟xfs类文件增量备份和恢复:
1.硬盘分区。
2.格式化、挂载。
3.切换到挂载点目录下,创建文件,给文件添加内容。
4.全量备份
5.创建文件给文件里添加内容,第一次增量备份,
6.再次创建文件给文件里添加内容,第二次增量备份。
7.删除目录下的所有文件
9.模拟恢复删除的文件。