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

本文详细介绍了Linux文件系统中的inode和block概念,包括inode存储的元信息、查看inode信息的方法以及inode在文件操作中的作用。此外,还讨论了文件存储结构和链接文件类型。在日志管理部分,阐述了日志文件的功能、分类、主要内容、常见日志文件及其用途,以及日志管理策略。最后,通过实验展示了inode号消耗殆尽的情况。
摘要由CSDN通过智能技术生成

一、inode与block
1、inode与block概述


文件数据包括元信息与实际数据,文件存储在硬盘上,硬盘最小存储单位是扇区,每个扇区存储512字节。

block(块):连续的八个扇区组成一个block块,是文件存取的最小单元。(8*512=4k)

inode(索引节点):中文名为索引节点,也叫“i节点”用于存储文件的元信息

总结:元信息----->inode 数据----->block

一个文件占用且只占用一个inode,但至少占用一个block

2、inode详解


(1)inode的内容:

inode包含文件的元信息:

文件的字节数

文件的拥有者User ID

文件的Group ID

文件的读、写、执行权限

文件的时间戳等 

注:inode不包含文件名

每个inode有一个inode号,inode大小一般为128字节或256字节(inode会占用1%的磁盘大小)

(2)查看inode信息

用stat命令可以查看某个文件的inode信息

示例:

[root@zyf ~]#stat aa.txt
用df -i命令可以查看所有的磁盘的inode信息(总数和已使用的inode数量)

(3)inode中包含的Linux系统文件三个主要的时间属性

   :ctime(change time)最后一次改变文件或目录(属性)的时间

   :atime(access time)最后一次访问文件或目录的时间

   :mtime (modify time)最后一次修改文件或目录(内容)的时间

列:如果用cat访问文件 ,那么文件的atime就会变化

 如果echo一个字符串到文件中,那么文件的ctime 和mtime会改变

如果修改文件的权限,那么只有文件的time会变

 

(4)inode:目录文件的结构

目录也是一种文件

目录的文件结构如下(每一行称为一个目录项)

文件名1inode号码1
文件名2inode号码2
...................

 

每个inode都有一个号码,操作系统用inode号码来识别不同的文件

Linux系统内部不使用文件名,而使用inode号码来识别文件

对于用户,文件名只是inode号码便于识别的别称

目录文件的走向:一般inode表会占用文件系统磁盘空间的1%

一个目录文件的内容就是一个该目录下所有文件的目录项的列表

(5)inode的号码

用户通过文件名打开文件时,系统内部的过程

1.系统找到这个文件名对应的inode号码

2.通过inode号码,获取inode信息

3.根据inode信息,找到文件数据所在的block,读出数据

查看inode号吗的方法

用ls -i命令可以查看指定文件的inode号

stat命令也可以查看indoe信息中的inode号 

(6)inode的特殊作用

由于inode号码与文件名分离,导致一些Uinx/Linux系统具有以下的现象

当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件

移动或重命名文件时,只改变文件名,不影响inode号码

打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名。

列:删除Linux系统中可以通过删除inode号来删除文件

3 文件存储小结

(1)硬盘分区后的结构

文件名---->目录项----目录块
元信息---->inode----inode表区块
数据---->block----block数据区

(2)链接文件

为文件或目录建立连接文件

连接文件分类

 

软连接硬链接
删除原始文件后生效依然可用
使用范围设用于文件或目录只用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统内部

 

ln  源文件 目标位置    # 创建硬链接
ln  [-s]   源目标文件 。。。 链接文件或目标位置     #创建硬链接

二、 实验

1.实验一模拟硬盘下的inode号消耗殆尽

(1)创建硬盘,Fdisk /dev/sdb 设置分区输入n  设置分区为300M

(2) mkfs.ext3 /dev/sdb1格式化分创建一个目录 mount挂载分区 

 (3)df -i 查看inode节点号

 touch{1..80000} 模拟inode号消耗殆尽

 (5)创建文件 创建不成功

三、日志文件


1、日志文件概述


(1)功能:用于记录系统、程序运行中发生的各种事情

                    通过阅读日志,有助于诊断和解决系统故障

(2)分类:1.内核及系统日志,由系统服务rsyslog统一进行管理,日志格式基本相似

                    2.用户日志,记录系统用户登录及退出系统的相关信息

                    3.程序日志,由各种应用程序独立管理的日志文件,记录格式不统一

(3)内容:日志级别 :时间,地点,人物,事件

(4)保存位置:默认位于:/var/log目录下

2、主要日志文件介绍
 

内核及公共消息日志,包括启动,io错误,网络错误、程序故障等/var/log/messages
计划任务日志,记录crond计划任务产生的事件信息/var/log/cron
系统引导日志,记录linux系统在引导过程中的各种事件信息/var/log/dmesg
邮件系统日志:记录进入或发出系统的电子邮件活动/var/log/maillog
用户登录日志

/var/log/lastlog

/var/log/secure

/var/log/wtmp

/var/run/btmp

3. 内核及系统日志


(1)由系统服务rsyslog 统一管理,主要配置文件为/etc/rsyslog.conf
linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下。

(2)查看rsyslog.conf配置文件用vim /etc/rsyslog.conf

 

 *.info :表示所有info等级以上所有等级的信息都写入日志文件中。

mail.none :表示mail文件不写入日志文件中

(3)Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要);
0  EMERG(紧急):会导致主机系统不可用的情况。

1  ALERT(警告):必须马上采取措施解决的问题。

2  CRIT(严重):比较严重的情况。

3   ERR(错误):运行出现错误。

4  WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

5  NOTICE(注意):不会影响正常功能,但是需要注意的事件。

6  INFO(信息):一般信息。

7  DEBUG(调试):程序或系统调试信息等。

(4)公共日志/var/log/messages文件的记录格式
时间标签:消息发出的日期和时间。

主机名:生成消息的计算机的名称。

子系统名称:发出消息的应用程序的名称。

消息:消息的具体内容。

程序自己维护日志记录,httpd网站服务程序使用两个日志文件:

access log:#记录客户访问事件

error log #记录错误事件。

(5)日志记录的一般格式

 Apr  10 20:14:41  #时间标签

ky19fbc   #主机名

kernel     #子系统名

usb 2-2.1 :Product:Virtual Bluetooth Adapter   #消息字段

(6)用户日志分析
保存用户登录、退出系统等相关消息
 

/var/log/lastlog记录每个用户最近的登录事件。二进制格式
/var/log/secure记录每个用户认证相关的安全事件信息
/var/log/wtmp记录每个用户登录、注销及系统启动和停机事件、二进制格式
/var/run/btmp记录失败的、错误的登录尝试及验证事件。二进制格式

  lastlog查看用户登录信息

lastb 查看用户登录失败信息

  last 显示查询用户登录记录

  users 命令输出当前登录的用户名称

  who 命令用于登录报告每个用户信息

 w 显示当前系统每个用户的进程信息

 

(7)程序日志分析
7.1由相应的应用程序独立进行管理

Web服务:/var/log/httpd

access_log、error_log

代理服务:/var/log/squid

access.log、cache.log

FTP服务:/var/log/xferlog

7.2分析工具

文本查看、grep过滤检索、Webmin管理套件中查看

awk、sed等文本过滤、格式化编辑工具

Webalizer、Awstats等专用日志分析工具

(8)   日志管理策略
及时作好备份和归档
延长日志保存期限
控制日志访问权限:

日志中可能会包含各类敏感信息,如账户、口令等

集中管理日志:

将服务器的日志文件发到统一的日志文件服务器

便于日志信息的统一收集、整理和分析

杜绝日志信息的意外丢失、恶意篡改或删除
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值