Linux文件系统与日志分析
Linux文件系统与日志分析
一.inode与block概述
① 文件数据包括元信息(类似文件属性)与实际数据
② 文件存储在硬盘上,硬盘最小存储单位是“扇区”(sector),每个扇区存储512字节
③ block(块)
④ inode(索引节点)
二.inode的内容
① inode包含文件的元信息
② 查看某个文件的inode信息
③ Linux系统文件三个主要的时间属性
④ 目录文件的结构
⑤ 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
⑥ Linux系统内部不使用文件名,而使用inode号码来识别文件
⑦ 对于用户,文件名只是inode号码便于识别的别称
三.inode的号码
① 用户通过文件名打开文件时,系统内部的过程
==硬盘分区后的结构==
==访问文件的简单流程==
② 查看inode号码的方法
四.inode的大小
① inode也会消耗硬盘空间
② 格式化文件系统时确定inode的总数
③ 查看每个硬盘分区的inode总数和已经使用的数量
五.链接文件
① 为文件或目录建立链接文件
② 链接文件分类
六.inode节点耗尽故障处理
七.恢复EXT类型文件
① 编译安装extundelete软件包
② 模拟删除并执行恢复操作
八.恢复xfs类型文件
① xfsdump命令格式
② xfsdump备份级别(默认为0)
③ xfsdump常用选项
④ xfsrestore命令格式
⑤ 模拟删除并执行恢复操作
九.日志文件
① 日志的功能
② 日志文件的分类
③ 日志保存位置
④ 主要日志文件介绍
十.内核及系统日志
① 日志的级别
② 日志记录的一般格式
十一.用户日志分析
① 保存了用户登录、退出系统等相关信息
② 分析工具
十二.程序日志分析
由相应的应用程序独立进行管理
十三.日志管理策略
① 及时作好备份和归档
② 延长日志保存期限
③ 控制日志访问权限
④ 集中管理日志
一.inode与block概述
① 文件数据包括元信息(类似文件属性)与实际数据
• 文件数据存储在“块”中
• 存储文件元信息( 比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode
• 一个文件必须占用一个inode, 并且至少占用一个block
② 文件存储在硬盘上,硬盘最小存储单位是“扇区”(sector),每个扇区存储512字节
③ block(块)
• 连续的八个扇区组成一个block,一个块大小为4k
• 是文件存取的最小单位
• 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取
④ inode(索引节点)
• 中文译名为“索引节点”,也叫 i节点
• 用于存储文件元信息
• inode不包含文件名。文件名是存放在目录当中的
注:一个文件必须占用一个inode,但至少也占用一个block
二.inode的内容
① inode包含文件的元信息
• 文件的字节数
• 文件拥有者的User ID
• 文件的Group ID
• 文件的读、写、执行权限
• 文件的时间戳
注:不包含文件名
② 查看某个文件的inode信息
stat aa.txt
③ Linux系统文件三个主要的时间属性
ctime(change time)
◆最后一次改变文件或目录(属性)的时间
atime(access time)
◆最后一次访问文件或目录的时间
mtime(modify time)
◆最后一次修改文件或目录(内容)的时间
④ 目录文件的结构
• 目录也是一种文件
• 目录文件的结构
⑤ 每个inode都有一个号码,操作系统用inode号码来识别不同的文件
⑥ Linux系统内部不使用文件名,而使用inode号码来识别文件
⑦ 对于用户,文件名只是inode号码便于识别的别称
三.inode的号码
① 用户通过文件名打开文件时,系统内部的过程
1. 系统找到这个文件名对应的inode号码
2. 通过inode号码, 获取inode信息
3. 根据inode信息,找到文件数据所在的block,读出数据
硬盘分区后的结构
访问文件的简单流程
② 查看inode号码的方法
ls -i命令: 查看文件名对应的inode号码
stat命令: 查看文件inode信息中的inode号码
四.inode的大小
① inode也会消耗硬盘空间
• 每个inode的大小
• 一般是128字节或256字节
② 格式化文件系统时确定inode的总数
③ 查看每个硬盘分区的inode总数和已经使用的数量
由于inode 号码与文件名分离,导致Linux系统具备以下几种特有的现象:
1.文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用
2.移动文件或重命名文件,只是改变文件名,不影响inode 号码
3.打开一个文件以后,系统就以inode. 号码来识别这个文件,不再考虑文件名
4.文件数据被修改保存后,会生成一个新的inode 号码
注:如果你移动到挂载目录下,会发现inode号也会改变
五.链接文件
① 为文件或目录建立链接文件
② 链接文件分类
标记文本
In 源文件 目标位置
软链接
In 【-s】源文件或目录…链接文件或目标位置
六.inode节点耗尽故障处理
七.恢复EXT类型文件
extundelete是一个 开源的Linux数据恢复工具, 支持ext3、 ext4文件系统。 (ext4只能在centos6版 本恢复)
① 编译安装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
② 模拟删除并执行恢复操作
八.恢复xfs类型文件
Centos 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复
① xfsdump命令格式
xfsdump -f 备份存放位置要备份的路径或设备文件
② xfsdump备份级别(默认为0)
• 0:完全备份
• 1-9:增量备份
③ xfsdump常用选项
-f、 L、-M、 -S
④ xfsrestore命令格式
xfsrestore -f 恢复文件的位置存放恢复后文件的位置
⑤ 模拟删除并执行恢复操作
详情:
• xfsdump 的备份级别默认为0
• xfsdump命令常用的选项:
-f: 指定备份文件目录
-L: 指定标签session label
-M: 指定设备标签media label
-s: 备份单个文件,-s后面不能直接跟路径
• xf sdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
九.日志文件
① 日志的功能
• 用于记录系统、程序运行中发生的各种事件
• 通过阅读日志,有助于诊断和解决系统故障
② 日志文件的分类
内核及系统日志
◆由系统服务rsyslog统一进行管理 ,日志格式基本相似
◆主配置文件/etc/rsyslog.conf
用户日志.
◆记录系统用户登录及退出系统的相关信息
程序日志
◆由各种应用程序独立管理的日志文件,记录格式不统一
(由开发人员定义)
③ 日志保存位置
默认位于: /var/log目录下
④ 主要日志文件介绍
内核及公共消息日志
/var/log/messages
记录Linux内核消息及各种应用程序的公共日志信息,包括启动、Io错误、网络错误、程序故障等
对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
计划任务日志
/var/log/cron
记录crond计划任务产生的事件信息
系统引导日志
/var/log/dmesg
记录Linux系统在引导过程中的各种事件信息
邮件系统日志
/var/log/maillog
记录进入或发出系统的电子邮件活动
用户登录日志
/var /log/lastlog
记录每个用户最近的登录事件,二进制格式
/var/log/secure
记录用户认证相关的安全事件信息
/var/log/wtmp
记录每个用户登录、注销及系统启动和停机事件,二进制格式
/var/run/btmp
记录失败的、错误的登录尝试及验证事件,二进制格式
十.内核及系统日志
内核及系统日志由系统服务rsyslog 统一管理,主配置文件为/etc/rsyslog.conf
Linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下
① 日志的级别
注:数字等级越小,优先级越高,消息越重要
时间标签: 消息发出的日期和时间
主机名: 生成消息的计算机的名称
子系统名称: 发出消息的应用程序的名称
消息: 消息的具体内容
十一.用户日志分析
① 保存了用户登录、退出系统等相关信息
• /varlog/lastlog:最近的用户登录事件
• /var/log/wtmp:用户登录、注销及系统开、关机事件
• /var/run/utmp:当前登录的每个用户的详细信息
• /var/log/secure:与用户验证相关的安全性事件
② 分析工具
• users、who、W、last、 lastb
• last命令用于查询成功登录到系统的用户记录
• lastb命令用于查询登录失败的用户记录
十二.程序日志分析
由相应的应用程序独立进行管理
Web服务: /var/log/httpd/
◆access_ log
//记录客户访问事件
◆error_ log
//记录错误事件
代理服务: Ivar/log/squid/
◆access.log、cache.log
分析工具
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
十三.日志管理策略
① 及时作好备份和归档
② 延长日志保存期限
③ 控制日志访问权限
• 日志中可能会包含各类敏感信息,如账户、口令等
④ 集中管理日志
• 将服务器的日志文件发到统一的日志文件服务器
• 便于日志信息的统- -收集、整理和分析
• 杜绝日志信息的意外丢失、恶意篡改或删除
Linux文件系统与日志分析的更多相关文章
- Linux文件系统与日志分析的了解
Linux文件系统与日志分析 1.inode和block概述 2.模拟inode耗尽实验 3.ext类型文件恢复 4.xfs类型文件恢复 5.日志文件 6.日志分析 1.文件:文件是存储在硬盘上的,硬 ...
- linux文件系统和日志分析
一.Linux文件系统 1.inode与block 1.概述: (1)文件数据包括元信息与实际信息 (2)文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节 (3 ...
- 深入理解Linux文件系统与日志分析
一.inode和bolck概述 二.链接文件 三.inode节点耗尽故障处理 四.EXT类型文件恢复 五.xfs文件备份和恢复 六.日志文件 一.inode和bolck概述 1.定义 文件数据 文件数 ...
- Linux系统日志及日志分析
Linux系统日志及日志分析 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位 ...
- linux常用的日志分析脚本
linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 /Dec/::: +] “GET /query/trendxml/district/tod ...
- linux系统web日志分析脚本
linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照 ...
- Linux服务器access_log日志分析及配置详解(二)
默认nginx / Linux日志在哪个文件夹? 一般在 xxx.xxx.xxxx.com/home/admin 路径下面的error.log文件和access.log文件error_log logs ...
- Linux文件系统与日志文件
目录 一.inode和block 1.1.inode和block概述 1.2.inode的内容 inode包含文件的元信息: 查看inode号两种方式 目录文件的结构 1.3.inode的号码 用户通 ...
- 深入理解Linux文件系统与日志文件
目录: 一.inode与block 二.inode内容 三.inode的号码 四.inode的大小 五.链接文件 六.inode节点耗尽故障处理 七.恢复EXT类型的文件编译安装extundelete ...
随机推荐
- arm,asic,dsp,fpga,mcu,soc各自的特点
arm,asic,dsp,fpga,mcu,soc各自的特点 人工智能受到越来越多的关注,许多公司正在积极开发能实现移动端人工智能的硬件,尤其是能够结合未来的物联网应用,对于移动端人工智能硬件的实现方 ...
- 虹软人脸识别SDK接入Milvus实现海量人脸快速检索
一.背景 人脸识别是近年来最热门的计算机视觉领域的应用之一,而且现在已经出现了非常多的人脸识别算法,如:DeepID.FaceNet.DeepFace等等.人脸识别被广泛应用于景区.客运.酒店.办公室 ...
- 码农飞升记-04-OracleJDK 与 OpenJDK 的区别和联系以及 OracleJDK builds 与其他 OpenJDK builds 的选择问题
在前两篇 OracleJDK是什么?OracleJDK的版本怎么选择? 和 OpenJDK是什么? 中分别介绍了 OracleJDK 和 OpenJDK 的来历以及概念,那可能就有小伙伴要问了:那我到 ...
- 免费版对象存储【minIO】CentOS部署实践记录 2021
好久没写,记录一下 1.背景 之前一直用的七牛,不过是收费的,然后有些定制化需求,可能比较看重预算,然后就有了这篇开源方式:minio 2.简介 官方文档:http://docs.minio.org. ...
- 一张图理清计算机常见编码的关系。ASCII、Unicode都不是事儿
编码按适用范围可以简单分为:(本人自定义) 美国编码(ASCII)ASCII为基础编码,来源于美国:其它编码都兼容ASCII编码: 欧盟编码(ISO8859-1.WINDOWS-1252)先是ISO- ...
- .Net Core with 微服务 - Consul 注册中心
上一次我们介绍了 Ocelot 网关的基本用法.这次我们开始介绍服务注册发现组件 Consul 的简单使用方法. 服务注册发现 首先先让我们回顾下服务注册发现的概念. 在实施微服务之后,我们的调用都变 ...
- 别再说Java对象都是在堆内存上分配空间的了!
Java作为一种面向对象的,跨平台语言,其对象.内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了解.可以说,关于JVM的相关知识,基本是每个Java开发者 ...
- webapi发布在iis之后报错Http 403.14 error
服务器是 Windows Server 2008 R2 Enterprise 网上找了很多说是修改webconfig.试过之后没有效果,另外报错了. 最后才找到是因为webapi发布时选择的应用程序的 ...
- sql数据库新建作业,新建步骤时报错从 IClassFactory 为 CLSID 为 {AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2} 的 COM 组件创建实例失败,原因是出现以下错误: c001f011。 (Microsoft.SqlServer.ManagedDTS)
简单粗暴的重启sql数据库 其他网上找的方法 32位操作系统: 打开运行(命令提示符), 一.输入 cd c:\windows\system32 进入到c:\windows\system32路径中 二 ...
- Linux中ls的用法
在linux系统中,可以说一切皆文件.文件类型包含:普通文件,目录,字符设备文件,块设备文件,符号链接文件等 我们可以用file这个命令来查看文件的属性: 这里可以看到1.sh是个脚本文件 下面开始介 ...