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

目录

一、inode和block概述

1、inode

1.1 元信息

1.2 文件时间属性:ctime、atime、mtime

1.3 inode号码

1.4 inode数量与大小

1.5 inode的特殊作用

二、链接文件

三、案例

1、inode节点耗尽故障处理

2、恢复EXT类型文件

3、恢复XFS类型文件

四、日志文件

1、日志文件功能与分类

2、日志文件保存目录

3、内核及系统日志

4、用户日志分析

5、程序日志分析

6、日志管理策略


一、inode和block概述

1、文件数据包括元信息与实际数据

2、 文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

3、block (块)                                      

        • 连续的八个扇区组成一个block(4K)

        • 是文件存取的最小单位

4、inode (索引节点)                            

        • 中文译名为“索引节点”,也叫节点。      

        • 用于存储文件元信息。

ps:

元信息:描述文件的属性信息/数据文件位置信息的内容

超分技术(利用block多余储存空间)

1、inode

1.1 元信息

inode包含文件的元信息

        • 文件的字节数

        • 文件拥有者的UserID

        • 文件的GroupID

        • 文件的读、写、执行权限

        • 文件的时间戳

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

        • 示例: stat aa.txt

1.2 文件时间属性:ctime、atime、mtime

Liux系统文件三个主要的时间属性

        • ctime(change time)

        • 最后一次改变文件或目录(属性) 的时间

        • atime(accesstime)

        • 最后一次访问文件或目录的时间

        • mtime(modify time)

        • 最后一次修改文件或目录(内容)的时间

1.3 inode号码

1、目录文件的结构

        • 目录也是一种文件

        • 目录文件的结构

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

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

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

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

        • 系统找到这个文件名对应的inode号码。

        • 通过inode号码,获取inode信息。

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

6、查看inode号码的方法

        • Is -i命令:查看文件名对应的inode号码。

        Is -i aa.txt

        • stat命令:查看文件inode信息中的inode号码。

        stat aa.txt

1.4 inode数量与大小

1、inode也会消耗硬盘空间。

        • 每个inode的大小

        • 一般是128字节或256字节

2、格式化文件系统时确定inode的总数。

3、使用df-i命令可以查看每个硬盘分区的inode总数和已经使用的数量。

1.5 inode的特殊作用

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

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

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

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

二、链接文件

• 为文件或目录建立链接文件

软链接硬链接
删除原始文件后失效仍旧可用
使用范围适用于文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统 (如一个Linux分区)内

• 链接文件分类

硬链接

ln        源文件        目标位置

软链接

ln        [-s]          源文件或目录        链接文件或目标位置

三、案例

1、inode节点耗尽故障处理

#使用fdisk创建分区/dev/sdb1,分区大小50M即可

fdisk /dev/sdb

mkfs.xfs /dev/sdb1

mkdir /test

mount /dev/sdb1 /mnt

df -i

#模拟inode节点耗尽故障

for ((i=1;i<=30000;i++));do touch /test/$i;done

df-i

df -hT

#删除文件恢复

rm-rf/test/*

df-i

df-hT

2、恢复EXT类型文件

EXT类型文件恢复

extundelete是一个开源的Linux数据恢复工具,支持ext3、ext4文件系统。(ext4只能在centos6版本

恢复)#使用fdisk创建分区/dev/sdc1,格式化ext3文件系统

fdisk /dev/sdc

mkfs.ext3 /dev/sdc1

mkdir /test

mount /dev/sdc1 /test

df -hT                                                     

#安装依赖包

yum -y install e2fsprogs-devel e2fsprogs-libs

#编译安装extundelete

cd /test

wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete0.2.4.tar.bz2

tar jxvf extundelete-0.2.4.tar.bz2

extundelete-0.2.4/

./configure --prefix=/usr/local/extundelete && make && make install

In -S /usr/localextundelete/bin/* /usr/bin/

#模拟删除并执行恢复操作

cd /test

echo a>a

echo a>b

echo a>c

echo a>d

ls

extundelete /dev/sdc1--inode 2             #查着文件系统/dev/sdc1下存在哪些文件,i节点是从2开始的,2代表该文件系统最开始的目录

rm-rfab

extundelete /dev/sdc1 --inode 2

cd ~
umount /test
extundelete /dev/sdc1 --restore-all     #恢复/dev/sdc1文件系统下的所有内容
#在当前目录下会出现一个RECOVEREDFILES/目录,里面保存了已经恢复的文件
ls RECOVERED FILES/

3、恢复XFS类型文件

#使用fdisk创建分区/dev/sdc1,格式化xfs文件系统fdisk /dev/sdb
partprobe /dev/sdb
mkfs.xfs [-f] /dev/sdb1
mkdir /data
mount /dev/sdb1 /date
cd /data
cp /etc/passwd .J
mkdir test
touch test/a

#使用xfsdump命令备份整个分区
rpm -qalgrep xfsdump
yum install -y xfsdump
#备份
xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump sdb1-M sdb1xfsdump命令常用的选项:
-f指定备份文件目录
-L:指定标签sessionlabel
-M:指定设备标签medialabel
-S:备份单个文件,-S后面不能直接跟路径

#模拟数据丢失并使用xfsrestore命令恢复文件cd /data/
rm-rf./*
ls
xfsrestore-f /opt/dump sdb1/data/

四、日志文件

1、日志文件功能与分类

 1.1 日志的功能

        • 用于记录系统、 程序运行中发生的各种事件。

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

1.2 日志文件的分类

        • 内核及系统日志

                • 由系统服务rsyslog统一进行管理,日志格式基本相似。

                • 主配置文件/etc/rsyslog.conf

        • 用户日志

                • 记录系统用户登录及退出系统的相关信息。

        • 程序日志

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

2、日志文件保存目录

• 日志保存位置

        • 默认位于 /var/log目录下

• 主要日志文件介绍

        • 内核及公共消日志 :    ·/var/log/messages

        • 计划任务日志:             /varlogcron

        • 系统引导日志:             /varlog/dmesg

        • 邮件系统日志 :           /var/log/maillog

        • 用户登录日志:            /var/log/lastlog

                                               /varlog/secure

                                               /var/log/wtmp

                                               /var/run/btmp

常见的一些日志文件:
#内核及公共消息日志:
/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
#计划任务日志
/var/log/cron:记录crond计划任务产生的事件信息。
#系统引导日志
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
邮件系统日志:
/var/log/maillog:记录进入或发出系统的电子邮件活动。
用户登录日志:
/var/log/secure:.记录用户认证相关的安全事件信息
/var/log/lastlog:记录每个用户最近的登录事件。二进制格式
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/btmp:记录失败的、错误的登录尝试及验证事件。二进制格式

3、内核及系统日志

由系统服务rsyslog统一管理

        • 软件包:rsyslog-7.4.7-16.el7.×86_64

        • 主要程序: /sbin/rsyslogd

        • 配置文件:/etc/rsyslog.conf

日志消息的级别

4、用户日志分析

1、保存了用户登录、 退出系统等相关信息

        • /var/log/lastlog: 最近的用户登录事件

        • /var/log/wtmp: 用户登录、注销及系统开、关机事件

        • /var/run/utmp: 当前登录的每个用户的详细信息

        • /var/log/secure: 与用户验证相关的安全性事件

2、分析工具

        • users   who、w. last、 lastb

        • last命令用于查询成功登录到系统的用户记录

        • lastb命令用于查询登录失败的用户记录

5、程序日志分析

1、由相应的应用程序独立进行管理

        • Web服务:/var/log/httpd/

                •  access  0      /记录客户访问事件

                • errorog      //记录错误事件

        • 代理服务:/var/logksqui

                • access.log cache.log/

        • 分析工具  

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

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

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

6、日志管理策略

1、及时作好备份和归栏

2、延长日志保存期限

3、控制日志访问权限

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

4、集中管理日志

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

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

        • 杜绝日志信息的意外去失、 恶意算改或删除

  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值