目录
一:inode 与 block 详解
1:inode 和 block 概述
xfs的分区,一个inode有512字节,一个block有4096字节
ext4的分区,一个inode有256字节,一个block有4096字节
2:inode 的内容
[root@localhost ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1683 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:268634178 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2022-05-22 19:04:21.392496430 +0800
最近更改:2022-05-22 19:04:21.395496615 +0800
最近改动:2022-05-22 19:04:21.395496615 +0800
创建时间:-
注释:
File:显示文件名
Size:显示文件大小
Blocks:文件使用的数据块总数
IO Block:IO块大小
regular file:文件类型(常规文件)
Device:设备编号
Inode:Inode号
Links:链接数
Access:文件的权限
Gid、Uid:文件所有权的Gid和Uid
access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
modify time:表示我们最后一次修改文件的时间
change time:表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等
Birth time : 文件创建时间,crtime,不过据查此属性linux已废弃,目前状态显示结果均为
2:查看inode大小
(1)添加一块硬盘/dev/sdb
(2)分成两个分区
(3)将sdb1格式化为ext4分区
(4)创建挂载点/data
(5)挂载
(4)查看inode大小和block大小
[root@localhost ~]# dumpe2fs -h /dev/sdb1
(5)格式化sdb2为xfs分区
(3)定义block的大小
[root@localhost ~]# mkfs.xfs -f /dev/sdb2 -b size=2048
(4)定义inode大小
[root@localhost ~]# mkfs.xfs -f /dev/sdb2 -i size=1024
(5)定义xfs分区inode的占比(默认xfs分区的inode占该分区的20%的大小)
修改原则:小文件适合较多的inode,可以把占比调高,大文件存储适合较少的inode占比
二:硬链接与软链接
1:硬链接
只能针对文件做硬链接
[root@localhost ~]# touch aaa
[root@localhost ~]# ln aaa bbb
注意观察其inode数字,数字相同,说明这两个文件其实是同一个文件,并没有额外消耗磁盘空间,本质上是给同一个文件起了两个不同的名字。删除任何一个,另一个还是正常文件。
硬链接只能针对文件,不能针对目录,软链接可以针对文件和目录
硬链接不能跨分区,软链接可以跨分区
2:软链接
仅能针对文件,又能针对目录
2.日志
1.硬链接 一般情况下,文件名和 inode 号码是一一对应关系,每个 inode 号码对应一个文件名。 但是 Linux 系统允许多个文件名指向同一个 inode 号码。这意味着,可以用不同的文件名访 问同样的内容。ln 命令可以创建硬链接
2.软链接 软链接就是再创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件 的文件名。例如,文件 A 和文件 B 的 inode 号码虽然不一样,但是文件 A 的,内容是文件 B 的路径。读取文件 A 时,系统会自动将访问者导向文件 B。这时,文件 A 就称为文件 B 的“软链接”(soft link)或者“符号链接(symbolic link)。 这意味着,文件 A 依赖于文件 B 而存在,如果删除了文件 B,打开文件 A 就会报错。 这是软链接与硬链接最大的不同:文件 A 指向文件 B 的文件名,而不是文件 B 的 inode 号 码,文件 B 的
EXT 类型文件恢复
文件数据丢失恢复操作
1.编译安装 extundelet
在编译安装 extundelete 之前需要先安装两个依赖包 e2fsprogs-libs 和 e2fsprogs-devel, 这两个包在系统安装光盘的/Package 目录下就有,使用 rpm 或 yum 命令将其安装。 e2fsprogs-devel 安装依赖于 libcom_err-devel 包。 安装完依赖包之后,即可将提前上传的 extundelete 软件包解压、配置、编译、安装。
2.模拟删除并执行恢复操作
(1)使用 fdisk 命令创建新分区,将其挂载到/tmp 目录下,往该目录下新建一些文件或目录
(2)模拟误操作并恢复
使用"rm -rf a b"命令删除/tmp/下的 a 文件和 b 文件,当出现误操作时,立刻卸载该文 件系统,然后使用“extundelete /dev/sdb1 --restore-all"恢复/dev/sdb1 文件系统下的所有内容
4 xfs 类型文件备份和恢复
xfsdump 的备份级别有两种:0 表示完全备份;1-9 表示增量 备份。xfsdump 的备份级别默认为 0。xfsdump 的命令格式为:xfsdump -f 备份存放位置 要备份路径或设备文件。常用的备份参数包括以下几种
-f:指定备份文件目录
-L:指定标签 session label
-M:指定设备标签 media label
-s:备份单个文件,-s 后面不能直接跟路径
xfsdump 不支持没有挂载的文件系统备份,所以只能备份已挂载的
xfsdump 必须使用 root 的权限才能操作(涉及文件系统的关系)
xfsdump 只能备份 XFS 文件系统
xfsdump 备份下来的数据(档案或储存媒体)只能让 xfsrestore 解
xfsdump 是透过文件系统的 UUID 来分辨各个备份档的,因此不能备份两个具有相同 UUID 的文件系统