文章目录
1.inode与block详解
1.inode和block概述
文件数据包括元信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
block(块)
连续的八个扇区组成一个block
是文件存取的最小单位
inode (索引节点)
中文译名为:索引节点 ,也叫i节点
用于存储文件元信息

lock 的作用:用来存真正的数据内容
每个扇区的大小规定是512B,系统在读取硬盘数据时,并不会一个个扇区去读,而是一次性连续性读取多个扇区,即一次性读取一个快,这种多个扇区组成的块,是文件存取的最小单位,块的大小,最常见的是4kb,即连续8个sector组成一个block
inode 的作用:用来存数据的元信息的,所谓元信息指的就是该数据的一些属性,特性。
那我们的inode可以记录的信息有哪些?
可以是文件权限(rwx)的记录,文件的属主,属组,文件大小,时间戳等,这种存储文件元信息的区域就叫做 inode,中文译名"索引节点”,也叫i节点,因此,一个文件必须占用一个inode,但至少占用一个block
注:inode中并不包括文件名,其实文件名是存放在目录当中的,linux系统中一切皆文件,因此目录也是一种文件即查看目录中的文件,cd转目录后通过ls列目录里可以查看文件名,而我们每个inode都有一个号码,系统用inode号码识别不同的文件,系统内部不使用文件名,而使用inode号码来识别文件。
2.inode的内容
inode包含文件的元信息
文件的字节数
文件拥有着的USER ID(不包含文件名)
文件的GROUP ID
文件的读,写,执行权限
文件的时间戳
用stat 明令可以查看某个文件的inode信息
示例: stat aa.txt
Linux系统文件的三个主要的时间属性
ctime(change time ) 改变
最后一次改变文件或目录 (属性)的时间
atime (access time)访问
最后一次访问文件或目录的时间
mtime(modify time) 修改
最后一次修改文件或者目录(内容)的时间)
目录文件的结构
目录文件也是一种文件
目录文件的结构
每个inode都有一个号码,操作系统用inode号码来识别不同文件
linux系统内部不使用文件名,而使用inode号码来标识文件
对于用户,文件名只是inode号码便于识别的别称
3.inode的号码
用户通过文件名打开文件时,系统内部的过程(重要)
系统找到这个文件名对应的inode号码
通过inode号码,获取inode获取信息
根据inode信息,找到文件数据所在的block,读出数据
查看inode号码的方法

4.inode的大小
inode 也会消耗硬盘空间
每个inode的大小
一般是128字节或256字节
格式化文件系统时确定inode的总数
使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量
5.inode 的特殊作用
由于inode号码与文件名分离,导致一些UNIX/LINUX系统具有以下现象
当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
移动或重命名文件时,只改变文件名,不影响inode号码
打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

6.如何删除乱码文件
方法一:
touch a.txt
ls -i a.txt
145326742727878 a.txt
find . -inum 145326742727878 -exec rm -i {} \;
解释:意思就是find找到内容作为后面rm删除对象
方法二:
ls -i at.txt
10663364 at.txt
find . -inum 100663364 | xargs rm -f //xargs这个参数就是强力的意思,如 果前面的输出结果包含空格或制表符也会被强力执行)
2.inode耗尽故障处理
过程:
正常对一块磁盘分区,格式化,挂载(此处是实验所以尽量将分区设置的小一点)
df -i / 挂载点 查看该挂载点的inode点的可用数量
vi 一个shell文件,具体内容如下:
vi kill.sh
#! /bin/bash
i=l
while [ i
let i++
done
然后df -i 查询下inode可用数量还有没有
确认inode数量没有后,再touch一个新文件,看看是什么结果
3.恢复误删除文件
1.编译安装extundelete(6.5上做)
在安装前需要先安装两个依赖包
2.模拟删除并执行恢复操作
案例1:恢复XFS类型的文件
xfsdump 命令格式
xfsdump -f 备份存放位置 要备份的路径或设备文件
xfsdump备份级别 (默认为0)
0 :完全备份
1-9 : 增量备份
xfsdump 常用选项 : -f , -L -M , -s
| 选项 | 功能 |
|---|---|
| -f | 指定备份文件目录 |
| -L | 指定标签 session label |
| -M | 指定设备标签media label |
| -s | 备份单个文件,-s后面不能直接跟路径 |
xfsrestore命令格式
xfsrestore -f 恢复文件的位置 存放恢复后文件的位置
模拟删除并执行恢复操作
注: extundelete 工具可以恢复 EXT 类型文件,无法恢复CentOS 7 系统默认采用xfs类别的文件,针对xfs文件系统目前也没有比较成熟的文件恢复工具,所以建议提前做好数据备份,以避免数据丢失xfs 类型的文件可使用xfsdump 与 xfsrestore 工具进行备份恢复,若系统中未安装xfsdump与xfsrestore工具,可以通过yum install -y xfsdump 命令安装。xfsdump 按照inode顺序备份一个xfs文件系统。xfsdump 的备份级别有两种:0 表示完全备份;1-9表示增量备份,xfsdump 的备份级别默认为0 ,xfsdump的命令格式为 : xfsdump -f 备份存放位置
加注
xfsrestore:Restore Status:SUCCESS
【#】ls /data/
passwd test
使用 xfsdump时,需要注意以下的几个限制:
xfsdump 不支持没有挂载的文件系统备份,所以只能备份已经挂载的;
xfsdump 必须使用root的权限才能操作(涉及文件系统的关系);
xfsdump:只能备份XFS文件系统
xfsdump 备份下来的数据(档案或储存媒体)只能让xfsrestore解析;
xfsdump 是透过文件系统的uuid来分辨各个备份档的,因此不能备份两个具有相同
UUID的文件系统
案例2:恢复EXT类型的文件 (用cp)
拷贝的命令:cp /root/RECOVERED_FILES/{a,b,c} /data
备份德明令:extundelete /dev/sdb1 -o /opt/back
编译安装extundelete软件包
安装依赖包
e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
配置,编译及安装
extundelete-0.2.4.tar.bz2
模拟删除并执行恢复操作
extundelete 需要额外的去装,而xfsdump默认系统自带
extundelete 恢复时候需要解挂载,而xfsdump需要挂载点在线时使用
xfsdump 使用时必须时root账户才能使用
extundelete 只能恢复文件系统格式是ext格式的文件(必须是centos6)
xfsdump只能恢复文件系统格式的xfs的文件(centos7默认是xfs文件系统格式)
4.分析日志文件
日志的功能
用于记录系统,程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障
日志保存位置
默认位于:/var/log目录下
主要日志文件介绍
| 内核及公共消息日志 | /var/log/messages |
|---|---|
| 计划任务日志 | /var/log/cron |
| 系统引导日志 | /var/log/dmesg |
| 邮件系统日志 | /var/log/maillog |
| 用户登录日志 | /var/log/lastlog,/var/log/secure,/var/log/wtmp,/var/run/btmp |
1.日志文件的分类
内核及系统日志
由系统服务rsyslog统一管理进行,日志格式基本相似
日志记录的一般格式:
时间标签,主机名,子系统名,消息字段

用户日志
记录系统用户登录及退出系统的相关信息
2.日志文件分析
日志消息级别
| 级号 | 消息 | 级别 | 说明 |
|---|---|---|---|
| 0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
| 1 | ALERT | 警告 | 必须马上采取措施解决问题 |
| 2 | CRIT | 严重 | 比较严重的情况 |
| 3 | ERR | 错误 | 运行出现错误 |
| 4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
| 5 | NOTICE | 注意 | 不会影响系统但值得注意 |
| 6 | INFO | 信息 | 一般信息 |
| 7 | DEBUG | 调试 | 程序或系统调试信息 |
3.用户日志分析
保存了用户登录,退出系统等相关信息
| 功能 | 位置 |
|---|---|
| 记录linux内核消息及各种应用程序的公共日志信息 | /var/log/message |
| 记录crond计划任务产生的事件信息 | /var/log/cron |
| 记录linux系统在引导过程中的各种事件信息 | /var/log/dmesg |
| 记录进入或发出系统的电子邮件活动 | /var/log/maillog |
| 记录每个用户认证相关的安全事件信息 | /var/log/secure |
| 记录每个用户登录,注销及系统启动和停机事件 | /var/log/wtmp |
| 记录失败的,错误的登录尝试及验证事件 | /var/log/btmp |
| 记录每个用户最近登录的事件 | /var/log/lastlog |
分析工具
users, who, w, last, lastab
查询用户登录的历史记录
last 查看成功登录到系统的用户记录
lastb查看登录失败的用户记录
程序日志分析
由相应的应用程序梳理进行管理
web服务:/var/log/httpd/
access_log,error_log
代理服务:/var/log/squid/
access.log, cache.log,
FTP服务 : /var/log/xferlog
分析工具
文本查看,grep过滤检索,webmin管理套件中查看
awk,sed等文本过滤,格式化编辑工具
Webalizer, Awststs等专用日志分析工具
4.日志管理策略
及时做好备份和归档
延长日志保存期限
控制日志访问权限
日志中可能会包含各类敏感信息,如账户,口令等
集中管理日志
将服务器的日志文件发到统一的日志文件服务器
便于日志信息的统一收集,整理和分析
杜绝日志信息的意外丢失,恶意篡改或删除
本文详细讲解了Linux系统中的inode和block概念,包括inode的内容、号码、大小及其特殊作用。此外,还介绍了如何处理inode耗尽的故障,如通过编译安装extundelete工具来恢复误删除的EXT类型文件,并探讨了xfs文件系统的备份与恢复方法。最后,文章还涵盖了日志文件的分类、分析和管理策略。
1686

被折叠的 条评论
为什么被折叠?



