linux运维必了解的文件系统与日志分析

目录

一、block与inode

1.1.inode和block概述

1.1.1.inode和block之间的关系

1.2.inode的内容

1.2.1.inode包含文件的元信息

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

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

1.2.4.目录文件的结构

1.3.inode的号码

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

1.3.2.查看inode号码的方法

1.4. 文件存储小结

1.4.1.硬盘分区后的结构

1.4.2.访问文件的简单流程

1.5.inode的大小

1.6.inode的特殊作用

二、硬链接与软链接

2.1.链接文件分类以及区别

2.2.基本命令

三、恢复误删除的文件

3.1.恢复EXT类型的文件

3.2.恢复XFS类型文件

四、Linux日志文件

4.1.日志的功能

4.2.日志文件的分类

4.3.日志保存位置

4.4.主要日志文件介绍

4.5.内核及系统日志分析

4.5.1日志消息的级别

4.5.2.日志记录的一般格式:

4.7.用户日志分析

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

4.7.2.分析工具

4.8.程序日志分析

4.8.1.由相应的应用程序独立进行管理

4.8.2.分析工具

4.9.日志管理策略

五、总结


一、block与inode

1.1.inode和block概述

(1)文件数据包括元信息与实际数据。

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

(3)block(块)

①连续的八个扇区组成一个block。

②是文件存取的最小单位。

(4)inode(索引节点)

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

②用于存储文件元信息。

1.1.1.inode和block之间的关系

注:一个文件必须占用一个inode,但至少占用一个block。

1.2.inode的内容

1.2.1.inode包含文件的元信息

例如:

①文件的字节数

②文件拥有者的User ID

③文件的Group ID

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

⑤文件的时间戳

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

实例:stat  aa.txt

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

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

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

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

1.2.4.目录文件的结构

(1)目录文件的结构。

①目录也是一种文件②目录文件的结构

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

(3)linux系统内部使用不同文件名,而使用inode来识别文件。

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

1.3.inode的号码

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

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

(2)通过inode号码,获取inode信息。

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

1.3.2.查看inode号码的方法

①ls -i命令:查看文件名对应的inode号码

ls -i aa.txt

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

stat aa.txt

1.4. 文件存储小结

1.4.1.硬盘分区后的结构

1.4.2.访问文件的简单流程

1.5.inode的大小

(1)inode也会消耗硬盘空间。

①每个inode的大小②一般是128字节或256字节

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

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

1.6.inode的特殊作用

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

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

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

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

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

find ./ -inum 52305140 -exec rm -i {} \;
find ./ -inum 50464299 -delete

二、硬链接与软链接

作用:为文件或目录建立链接文件

2.1.链接文件分类以及区别

 2.2.基本命令

硬链接:

ln 源文件 目标位置





软链接:

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

三、恢复误删除的文件

3.1.恢复EXT类型的文件

编译安装extundelete软件包

①安装依赖包

e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm

e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm

②配置、编译及安装

extundeleye-0.2.4.tar.bz2

模拟删除并执行恢复操作

(1)案列

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 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
或者 ./configure && make && make install

ln -s /usr/local/bin/extundelete/ /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 -rf a b
extundelete /dev/sdc1 --inode 2

⑤开始恢复数据
umount /test

extundelete /dev/sdc1  --restore-all
###恢复/dev/sdc1文件系统下所有内容


⑥在当前目录下会出现一个RECOVERED_FILES/目录,里面保存了已经恢复的文件

ls RECOVERED_FILES/


3.2.恢复XFS类型文件

(1)xfsdump命令格式

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

(2)xfsdump备份级别(默认为0)

①0:完全备份

②1-9:增量备份

(3)xfsdump常用选项:

-f:指定备份文件目录

-L:指定标签session label

-M:指定设备标签media labe . . .

-s:备份单个文件,-s后面不能直接跟路径

(4)xfsrestore命令格式

xfsrestore  -f  恢复文件的位置  存放恢复后文件的位置

(5)模拟删除并执行恢复操作

案列:

###使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
fdisk /dev/sdb
mkfs.xfs /dev/sdb1

mkdir /data
mount /dev/sdb1 / data/

cd /data
cp /etc/passwd ./

mkdir test
touch test/a
###使用xfsdump命令备份整个分区
rpm -qa | grep xfsdump
yum instal1 -y xfsdump

xfsdump -f /opt/dump_sdb  /dev/sdb1 -L dump_sdb -M sdb1

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

ls

xfsrestore -f  /opt/dump_sdb1  /data/

(6)xfsdump使用限制

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

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

③只能备份XFS文件系统

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

⑤不能备份两个具有相同UUID的文件系统

四、Linux日志文件

4.1.日志的功能

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

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

4.2.日志文件的分类

(1)内核及系统日志

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

(2)用户日志

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

(3)程序日志

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

4.3.日志保存位置

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

4.4.主要日志文件介绍

 详细讲解:

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

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

(2)计划任务日志:/var/log/cron

记录crond计划任务产生的事件信息。

(3)系统引导日志:/var/log/dmesg

记录Linux系统在引导过程中的各种事件信息。

(4)邮件系统日志:/var/log/maillog

记录进入或发出系统的电子邮件活动。

(5)用户登录日志:
/var/log/secure: 记录用户认证相关的安全事件信息。

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

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

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

4.5.内核及系统日志分析

由系统服务rsyslog统一管理

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

②主要程序:/sbin/rsyslogd

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

4.5.1日志消息的级别

 注:数字等级越小,优先级越高,消息越重要

4.5.2.日志记录的一般格式:

4.7.用户日志分析

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

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

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

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

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

4.7.2.分析工具

users、who、w、last、lastb

4.8.程序日志分析

4.8.1.由相应的应用程序独立进行管理

①Web服务:/var/log/httpd/
access_log、error_log

②代理服务::/var/log/lsquid/
access.log、cache.log

③FTP服务:/var/log/xferlog

4.8.2.分析工具

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

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

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

4.9.日志管理策略

(1)及时作好备份和归档

(2)延长日志保存期限

(3)控制日志访问权限
日志中可能会包含各类敏感信息,如账户、口令等

(4)集中管理日志
①将服务器的日志文件发到统一的日志文件服务器

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

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

五、总结

(1)block与inode概述

(2)软链接与硬链接

(3)恢复误删除文件

(4)Linux的日志文件

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值