一,inode节点与block
1.概述:
文件数据包括云信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节
inode(索引节点):用于存储文件元信息
block(块):连续的八个扇区组成一个block,是文件存取的最小单位4k
【一个文件必须占用一个inode,但至少占用一个block】
2.inode内容
1)inode包含文件的元信息
【每一个文件名对应一个节点号(一一对应,映射,便于查看),cp 文件后,新生成一个节点号;rm删除后,释放;mv移动后,节点号不变】
元信息:文件的字节数,拥有者,group,权限,时间戳
stat命令查看某个文件的inode信息
2)linux系统文件三个主要的时间属性
ctime(change time):最后一次改变文件或目录(属性)的时间
atime(access time):最后一次访问文件或目录的时间
mtime(modify time):最后一次修改文件或目录(内容)的时间
3)目录文件结构
目录也是一种文件
每一个inode都有一个号码,操作系统用inode号码来识别不同的文件
Linux系统内部不使用文件名,而使用inode号码来识别文件
对于用户,文件名只是inode号码便于识别的别称
4)inode的号码
4.1用户通过文件名打开文件时,系统内部的过程:
系统找到这个文件名对应的inode号码
通过inode号码,获取inode信息
根据inode信息,找到文件数据所在的block,读取数据
【一般inode表会占用文件系统磁盘空间的1%,一个目录文件的内容就是一个该目录下所有文件目录项的列表】
4.2 ls -i 命令:查看文件名对应的inode号码
3.文件存储
3.1硬盘分区后的结构
3.2访问文件的流程
用户访问文件----系统查找文件对应的inode;通过inode号,获取inode信息---判断用户是否具备访问权限-----是:指向对应的数据block//否:返回Permission denied
4.inode节点的大小
消耗硬盘空间:每个inode节点的大小,一般是128字节或256字节;
inode节点总数,在格式化的时候就确定了,一般是每1kb或每2kb就设置一个inode。
【假定在一块1GB的硬盘中,每个inode节点大小为128字节,每1kb就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘12.8%】
df -i :查看每个硬盘分区对应的inode总数和已经使用的inode数量
5.inode的特殊作用
inode号码与文件名分离,系统中出现以下现象:
5.1.文件名包含特殊字符,导致无法正常删除文件,直接删除inode节点,来删除文件;
5.2.移动或重命名文件,只是改变文件名,不影响inode号码;
5.3.打开一个文件后,系统就以inode号码来识别这个文件,不考虑文件名;
5.4.文件数据被修改保存后,会生成一个新的inode号码。
通过inode号删除
find ./ ~inum 123456 -exec rm -i {} ;
或
find ./ -inum 123456 -delete
二,链接文件
分类:
硬链接:ln 源文件 目标位置
软链接: ln -s 源文件或目录 链接文件或目标位置
三,恢复误删除的文件(当场删,当场解除挂载,恢复)
1.EXT类型文件恢复
【.和.. inode节点开始】
编译安装extundelete软件包
安装依赖包
e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
CentOs 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复
xfsdump 的备份级别有两种: 0表示完全备份; 1-9表示增量备份。xfsdump的备份级别默认为0。
2.恢复XFS类型的文件
xfsdump命令格式
xfsdump | -f 备份存放位置要备份的路径或设备文件
-f 指定备份文件目录
-L 指定标签session label
-M 指定设备标签media labe…
-s 备份单个文件,-s后面不能直接跟路径
xfsdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
四,日志文件
1.日志功能
用于记录系统程序运行中发生的各种事件
通过阅读日志有助于诊断和解决系统故障
2.日志文件分类
内核及系统日志:由系统服务rsyslog统一进行管理,日志格式基本相似
用户日志:记录系统用户登陆及退出系统的相关信息
出现日志:有各种应用程序独立管理的日志文件,记录格式不统一
3.保存位置及介绍
默认位于:/var/log目录下
主要日志文件介绍:
4.日志消息的级别
5.日志记录的一般格式
公共日志/var/log/messages文件的记录格式
时间标签:消息发出的日期和时间
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容
程序自己维护日志记录,httpd网站服务程序使用两个日志文件:
access_log :#记录客户访问事件
error_log :#记录错误事件
6.用户日志分析
6.1日志管理策略
及时做好本分和归档
延长日志保存期限
控制日志访问权限
日志中可能会包含各类敏感信息,如账户、口令等
集中管理日志
将服务器的日志文件发到统一的日志文件服务器
便于日志信息的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
本章总结
block与inode
硬链接与软连接
恢复误删除的文件
Linux主要包含的日志文件
Linux系统的日志消息级别
Linux系统中用户日志的查询命令
who、w、users、last、lastb
inode节点故障:磁盘空间显示未满,却无法创建文件,空间被inode节点占满