如何有效管理Linux文件系统和日志文件 干货

文章目录

  • 前言
  • 一、文件存储系统
    • inode和block
    • inode的属性和工作过程
    • 常见故障
    • inode
    • 误删文件恢复
  • 二、日志
    • 1.日志的功能和分类
    • 2.日志安全级别
    • 日志分析
    • 日志管理标准


前言

Linux系统中文件和文件明分开存储的 这点之前博客说过 这次是在基础之上来基本的概念上来说 。
日志最直观反应系统和软件服务的运行状态,通过日志可以知道许多相关信息。

一、文件存储系统

inode和block

在之前的博客里说过 文件和文件名是单独存储的 文件数据是由元信息与实际数据
文件最常见的存储介质为硬盘,硬盘上最小的存储单位是扇区,每个扇区512字节
block又叫块 是由连续的8个扇区组成 大小为4k 是文件存取的最小单位。
inode,翻译为“索引节点” 也可以叫i节点 用于存储文件元信息。
一个文件必须占用一个inode号,至少占用一个block。

inode的属性和工作过程

在linux中文件有三个主要的时间属性
ctime 最后更改时间
atime 最后访问时间
mtime 最后修改时间
在linux系统中通过文件名打开一个文件时,此时系统会首先找到和这个文件对应的inode号,通过inode号码来获取inode号 再根据inode号来找到文件所在的block,读出数据。
查看inode号有两种方法 ls和stat 具体如下
ls -i 文件名
stat 文件名

在这里插入图片描述
ls只列出文件名和inode号
如何有效管理Linux文件系统和日志文件 干货_第1张图片
stat指令可以更详细的列出更多信息。
inode本身也占用硬盘空间 每个inode的大小一般是128字节或者256字节 硬盘分区时inode总数就已经确定,分区时硬盘被分为两个区一个是文件数据 一个是存放inode号的区,可以用df -i命令可以查看每个硬盘分区对应的indoe总数和已经使用的indoe总数
由于inode号的特性使然 所以Linux的文件系统有以下的几个特征:
1 文件包含特殊字符,可能无法正常删除,可以直接删除inode号 也可以起到删除文件作用。
2移动文件或重命名文件 只是改变文件名,不影响inode号,
3打开一个文件以后,系统就以inode号码来识别文件而不是文件名。
4 文件数据被修改保存后,会生成一个新的inode号码。
find ./ inum inode号 -exec rm -i {} ;可以用inode号来删除文件。
find ./ -inum 1146878 -delete
都可以用inode号来删除文件,后者在删除时没有提示。
在这里插入图片描述

在这里插入图片描述

常见故障

inode

前面说到 inode号也是会占用空间 当一个分区内的inode号被耗尽时 表面上看空间没有满但是实际上已经无法存入数据了
在这里插入图片描述
采用shell脚本的方式来执行覆盖
如何有效管理Linux文件系统和日志文件 干货_第2张图片
显示inode号已耗尽
如何有效管理Linux文件系统和日志文件 干货_第3张图片
但是存储空间没有满
删除空文件就可以创建文件夹了
在这里插入图片描述

误删文件恢复

在工作中会有文件误删的情况下,就需要用到文件恢复工具了,extundelete是一个开源的Linux数据恢复工具,支持ext3和ext4文件格式,但ext4只有在centos6中恢复
第一步查看硬盘文件格式 必须是ext3才可以在centos7中恢复。
如何有效管理Linux文件系统和日志文件 干货_第4张图片
挂载
如何有效管理Linux文件系统和日志文件 干货_第5张图片
然后将软件包解压
如何有效管理Linux文件系统和日志文件 干货_第6张图片
在安装软件的环境依赖包 e2fsprogs-deve1 和 e2fsprogs-libs

如何有效管理Linux文件系统和日志文件 干货_第7张图片
之后进行编译安装
如何有效管理Linux文件系统和日志文件 干货_第8张图片
让系统识别这个文件
在这里插入图片描述
查看这个分区里面要恢复的文件的inode号 1-2 显示已经删除了 现在我们要恢复这个文件。
如何有效管理Linux文件系统和日志文件 干货_第9张图片
恢复文件
如何有效管理Linux文件系统和日志文件 干货_第10张图片
在当前目录下会生成一个文件夹 里面会有恢复的文件
在这里插入图片描述

二、日志

1.日志的功能和分类

日志用于记录系统和程序运行中发生的各种事件 可以通过日志,有助于诊断和解决系统故障。
日志的主要分类有内核日志 用户日志 程序日志
内核日志为系统日志 有系统服务rsyslog统一管理,日志格式相似 主配置文件/etc/rsyslog.conf
用户日志为记录系统用户登录及退出系统的相关信息
程序日志
由各种应用程序独立管理的日志文件,记录格式不统一。
日志的保存位置默认在/var/log目录下
如何有效管理Linux文件系统和日志文件 干货_第11张图片
执行的日志在var/log/messages里面都会显示
如何有效管理Linux文件系统和日志文件 干货_第12张图片
日志的格式由 时间标签 主机名 子系统名 消息字段构成
系统和内核的日志由rsyslog统一管理
主要程序为/sbin/rsyslogd 配置文件在/etc/rsyslog.conf

2.日志安全级别

如何有效管理Linux文件系统和日志文件 干货_第13张图片
前3个级别要密切关注 级别越小 表示事态越紧急,这三个级别出现表示出现了非常严重的故障。

日志分析

分为系统信息和程序信息
系统信息保存了用户登录,退出系统等一些信息。
在这里插入图片描述
如何有效管理Linux文件系统和日志文件 干货_第14张图片
在这里插入图片描述
如何有效管理Linux文件系统和日志文件 干货_第15张图片

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

分析工具常有users who w last lastb
last命令用于查询成功登录到系统的用户记录
lastb命令用于查询登录失败的用户记录
其中users who w要转码才可以查看。

如何有效管理Linux文件系统和日志文件 干货_第16张图片

日志管理标准

及时做好日志备份和归档
延长日志的保存期限(根据实际情况)
控制日志访问权限 日志中可能含有各类关键信息 如密码账号等
日志要集中管理 服务器本身存储有限 可以单独用一台服务器来做日志文件服务器 便于日志的统一管理收集分析
杜绝日志信息的意外丢失恶意篡改或者删除。

你可能感兴趣的:(linux)