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文件系统与日志分析的更多相关文章

  1. Linux文件系统与日志分析的了解

    Linux文件系统与日志分析 1.inode和block概述 2.模拟inode耗尽实验 3.ext类型文件恢复 4.xfs类型文件恢复 5.日志文件 6.日志分析 1.文件:文件是存储在硬盘上的,硬 ...

  2. linux文件系统和日志分析

    一.Linux文件系统 1.inode与block 1.概述: (1)文件数据包括元信息与实际信息 (2)文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节 (3 ...

  3. 深入理解Linux文件系统与日志分析

    一.inode和bolck概述 二.链接文件 三.inode节点耗尽故障处理 四.EXT类型文件恢复 五.xfs文件备份和恢复 六.日志文件 一.inode和bolck概述 1.定义 文件数据 文件数 ...

  4. Linux系统日志及日志分析

    Linux系统日志及日志分析   Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位 ...

  5. linux常用的日志分析脚本

    linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 /Dec/::: +] “GET /query/trendxml/district/tod ...

  6. linux系统web日志分析脚本

    linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照 ...

  7. Linux服务器access_log日志分析及配置详解(二)

    默认nginx / Linux日志在哪个文件夹? 一般在 xxx.xxx.xxxx.com/home/admin 路径下面的error.log文件和access.log文件error_log logs ...

  8. Linux文件系统与日志文件

    目录 一.inode和block 1.1.inode和block概述 1.2.inode的内容 inode包含文件的元信息: 查看inode号两种方式 目录文件的结构 1.3.inode的号码 用户通 ...

  9. 深入理解Linux文件系统与日志文件

    目录: 一.inode与block 二.inode内容 三.inode的号码 四.inode的大小 五.链接文件 六.inode节点耗尽故障处理 七.恢复EXT类型的文件编译安装extundelete ...

随机推荐

  1. 快速导入GitHub上面的公钥

    有时候新装了一台linux机器, 又要找公钥导进去, 或者在自己电脑上执行ssh-copy-id, 有时候手边没有电脑就比较麻烦, 我们可以将GitHub上配置的公钥导入到机器里 首先包装GitHub ...

  2. 旷视MegEngine网络搭建

    旷视MegEngine网络搭建 在 基本概念 中,介绍了计算图.张量和算子,神经网络可以看成一个计算图.在 MegEngine 中,按照计算图的拓扑结构,将张量和算子连接起来,即可完成对网络的搭建.M ...

  3. CUDA 内存统一分析

    CUDA 内存统一分析 关于CUDA 编程的基本知识,如何编写一个简单的程序,在内存中分配两个可供 GPU 访问的数字数组,然后将它们加在 GPU 上. 本文介绍内存统一,这使得分配和访问系统中任何处 ...

  4. jmeter链接mysql数据库

    一.下载与MySQL对应的jar包 1.1.查询MySQL的版本, 命令语句 :SELECT VERSION(); 1.2.MySQL官网下载jar包 ,https://downloads.mysql ...

  5. 用 Flutter 和 Firebase 轻松构建 Web 应用

    作者 / Very Good Ventures Team 我们 (Very Good Ventures 团队) 与 Google 合作,在今年的 Google I/O 大会上推出了 照相亭互动体验 ( ...

  6. LeetCode 每日一题「判定字符是否唯一」

    我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复[资料],即可获得我精心整理的技术资料,电子书籍,一线大厂面试资料和优秀简历模板. 题目 ...

  7. 【NX二次开发】Block UI 角度尺寸

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  8. 【NX二次开发】Block UI 指定坐标系

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  9. 用Python爬取分析【某东618】畅销商品销量数据,带你看看大家都喜欢买什么!

    618购物节,辰哥准备分析一波购物节大家都喜欢买什么?本文以某东为例,Python爬取618活动的畅销商品数据,并进行数据清洗,最后以可视化的方式从不同角度去了解畅销商品中,名列前茅的商品是哪些?销售 ...

  10. 2021年Wordpress博客装修美化(二)

    使用古腾堡来排版页面 废话不多说,我们直接开始吧,今天主要来聊聊如何使用Wordpress自带的可视化页面编辑器.我相信只有驾驭最基础的可视化排版,后面才能对高级版本的扩展可视化编辑器elemento ...