Linux运维的文件系统与日志分析

本文详细介绍了Linux文件系统中的inode和block概念,包括inode的内容、作用以及inode号码与文件的关系。同时,针对EXT和XFS类型的文件系统,阐述了误删除文件的恢复方法。此外,还讨论了日志文件的功能、分类、常见日志文件以及日志分析,强调了日志管理的重要性。
摘要由CSDN通过智能技术生成

目录

一、inode和block

1.1 inode和block概述

1.2 inode的内容

1.3目录的文件结构

1.4 inode的号码

 1.5文件存储

 1.6inode的大小

 1.7 inode 的其他作用

1.8 inode节点耗尽故障处理

二、恢复 误删除的EXT 类型文件

 三、恢复误删的XFS 类型文件

四、日志文件

4.1日志的功能

4.2 日志文件的分类

4.3常见日志文件

4.4日志文件分析

4.5日志的格式

4.6用户的日志文件分析

 4.7程序日志分析

4.8日志的管理

五、总结


一、inode和block

1.1 inode和block概述

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

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

block(块)
1.连续的八个扇区组成一个block
2.是文件存取的最小单位

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

1.2 inode的内容

inode包含文件的元信息:

1.文件的字节数
2.文件拥有者的User ID
3.文件的Group ID
4.文件的读、写、执行权限
5.文件的时间戳
6.文件类型
7.链接数

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

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

ctime(change time):最后一次改变文件或目录的时间,例如执行chmod、chown。

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

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

1.3目录的文件结构

每个inode都有一个号码,操作系统用inode号码来识别不同的文件,linux系统内部使用不同文件名,而使用inode来识别文件, 对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一 一对应关系,每个inode号码对应一个文件名

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

1.4 inode的号码

用户通过文件名打开文件时,系统内部的过程
1.系统找到这个文件名对应的inode号码
2.通过inode号码,获取inode信息
3.根据inode信息,找到文件数据所在的block,读出数据

查看inode号的方法

 ls -i 命令加上查看的文件名

stat 命令加上查看的文件名

移动文件后inode号不变,cp文件后inode号发生改变

 1.5文件存储

 硬盘分区后的结构

访问文件的简单流程

 1.6inode的大小

inode也会消耗硬盘空间,每个inode的大小,一般是128字节或256字节

inode的总数,在格式化时就确定

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

 1.7 inode 的其他作用

由于inode号码与文件名分离,导致Linux系统具备以下几种特有的现象:

文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用

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

打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名

文件数据被修改保存后,会生成一个新的inode号码
 

1.8 inode节点耗尽故障处理

 

二、恢复 误删除的EXT 类型文件

使用fdisk创建分区/dev/sdc1,格式化ext3文件系统,并挂载fdisk /dev/sdc
 
mkfs.ext3 /dev/sdc1      //格式化
 
mkdir /test              //创建文件
  
mount /dev/sdc1/ test    //挂载
 

yum -y install e2fsprogs-devel e2fsprogs-libs gcc gcc-c++   //安装依赖包
 
extundelete
cd /test
 
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2                 //编译安装


tar jxvf extundelete-0.2.4.tar.bz2    //解压缩
 
cd extundelete-0.2.4/
 
 ./configure --prefix=/usr/local/extundelete && make && make install

ln -s /usr/local/bin/extundelete/ /usr/bin/    //软链接
 

 
cd /test
 
echo ww.txt>a
echo qq.txt>b         //添加文件内容
 
ls               //查看是否有 a b  文件
 
extundelete /dev/sdc1 --inode 2  //查看文件系统/dev/sdc1下存在哪些文件,i节点是从2开始的,2代表该文件系统最开始的目录
 
rm -rf a             //删除一个文件内容
extundelete /dev/sdc1 --inode 2
 
umount /test             //解除挂载
 
extundelete /dev/sdc1  --restore-all    //恢复磁盘的所有内容
 
ls RECOVERED_FILES/       //文件会恢复在RECOVERED_FILES/目录,里面保存了已经恢复的文件

 

 三、恢复误删的XFS 类型文件

xfsdump命令格式

xfsdump  -f  备份存放位置  要备份的路径或设备文件

xfsdump备份级别(默认为0

0:完全备份

1-9:增量备份

xfsdump常用选项

-f指定备份文件目录
-L指定标签session label
-M指定设备标签media label
-S备份单个文件,-s后面不能直接跟路径

xfsdumpd的使用限制

只能备份已挂载的文件系统

必须使用root的权限才能操作

只能备份XFS文件系统

备份后的数据只能让xfsrestore解析

不能备份两个具有相同UUID的文件系统(可用blkid命令查看)

fdisk /dev/sdb
mkfs.xfs /dev/sdb1        //创建分区格式化分区
 
mkdir /data
mount /dev/sdb1 / data/   //创建目录后将磁盘挂载在目录是
 
cd /data
cp /etc/passwd ./
mkdir test
touch test/a              //在data目录中加入内容

rpm -qa | grep xfsdump    //查看是否安装sfsdump

yum instal1 -y xfsdump    //使用yum命令安装
 
xfsdump -f /opt/dump_sdb  /dev/sdb1 -L dump_sdb -M sdb1  //使用xfsdump命令备份整个分区
 
cd /data/
rm -rf ./*
ls
xfsrestore -f  /opt/dump_sdb1  /data/    //模拟数据丢失并使用xfsrestore命令恢复文件

四、日志文件

4.1日志的功能

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

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

4.2 日志文件的分类

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

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

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

4.3常见日志文件

内核及公共消息日志

/var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I0错误、网络错误、程序故障等。 对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

计划任务日志

/var/log/cron : 记录crond计划任务产生的事件信息。

系统引导日志

/var/log/ dmesg: 记录Linux系统在引导过程中的各种事件信息。

 

 

件系统日志 :

/var/log/maillog:记录进入或发出系统的电子邮件活动。

 

用户登录日志 :

/var/log/secure: 记录用户认证相关的安全事件信息。

/var/log/lastlog: 记录每个用户最近的登录事件。二进制格式

/var/log/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式

/var/ run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式

4.4日志文件分析

由系统服务 rsyslog 统一管理

软件包:rsyslog-7.4.7-16.el7.x86_64

主要程序:/sbin/rsyslogd

配置文件:/etc/rsyslog.conf

日志消息的级别

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


4.5日志的格式

公共日志 /var/log/messages 文件的记录格式
时间标签:消息发出的日期和世家
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息字段:消息的具体内容
程序自己维护日志记录,httpd 网站服务程序使用两个日志文件:
access_log    //记录客户访问事件
error_log   //记录错误事件

4.6用户的日志文件分析

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

/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件

分析工具:

查询当前登录的用户情况  users、who、w命令

查询用户登录的历史记录—last、lastb命令

 4.7程序日志分析

 程序日志由相应的应用程序独立进行管理

web服务:/var/log/httpd/

access_log ——记录客户访问事件

error_log ——记录错误事件

代理服务:/var/log/squid/

access.log、cache.log

FTP服务:/var/log/xferlog

分析工具

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

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

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

4.8日志的管理

及时作好备份和归档
延长日志保存期限
控制日志访问权限

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

集中管理日志

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

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

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

五、总结

1.inode的内容属性以及一些特殊作用

2.EXT和XFS类型文件的恢复

3.日志文件的存储位置以及分析

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值