深入理解linux系统(block与inode的介绍)

本文详细讲解了Linux系统中的inode和block概念,包括inode的内容、号码、大小及其特殊作用。此外,还介绍了如何处理inode耗尽的故障,如通过编译安装extundelete工具来恢复误删除的EXT类型文件,并探讨了xfs文件系统的备份与恢复方法。最后,文章还涵盖了日志文件的分类、分析和管理策略。

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.日志文件分析

日志消息级别

级号消息级别说明
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能会影响系统功能的事件
5NOTICE注意不会影响系统但值得注意
6INFO信息一般信息
7DEBUG调试程序或系统调试信息

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.日志管理策略

及时做好备份和归档
延长日志保存期限
控制日志访问权限
	日志中可能会包含各类敏感信息,如账户,口令等
集中管理日志
	将服务器的日志文件发到统一的日志文件服务器
	便于日志信息的统一收集,整理和分析
	杜绝日志信息的意外丢失,恶意篡改或删除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值