Linux文件系统与日志分析

 inode 表结构

indoe  表中   信息      

每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(meta data  元信息   )

元数据是存放在inode(index node)表中。inode 表中有很多条记录组成,第一条记录对应的存放了一个

文件的元数据信息。

每一个inode表记录对应的保存了以下信息:

- inode number 节点号

- 文件类型

- 权限

- UID

- GID

- 链接数(指向这个文件名路径名称个数)

- 该文件的大小和不同的时间戳

- 指向磁盘上文件的数据块指针

- 有关文件的其他数据

ls -I  stat查看inode号

有3个时间:

最近访问atime:最后一次查看文件

最近更改mtime:最近更改文件内容的时间,注意:更改完内容之后,ctime也会改变

最近改动ctime:最近更改文件元信息的时间,比如改变权限等

1. 文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。

2. 一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。4k一读,8个扇区一读

3. 文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode表。 因此,一个文件必须占用一个inode,并且至少占用一个block。du  显示 

4. inode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件。

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

   唯一    同一文件系统()  不同的文件

6. 所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码:通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

硬盘上最小的存储单位为扇区(512字节)

文件存储的最小单位为块8个扇区组成为4k

inode的大小

inode表也会消耗硬盘空间

每个inode的大小

一般是128字节或256字节

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

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

inode的特殊作用

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

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

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

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

不同硬盘inode会相同

xfs备份与恢复

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

xfsdump -f /dev/sdb1 /dev/ky33/mysql

使用xfsdump时,需要注意以下的几个限制:

1.不支持没有挂载的文件系统备份,所以只能备份已挂载的

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

3.只能备份XFS文件系统

4.备份下来的数据只能让xfsrestore解析

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

xfsrestore -f 恢复

日志服务管理

系统日志管理

系统日志介绍

在现实生活中,记录日志也非常重要,比如银行的转账记录,飞机上的黑盒子,那么将系统和应用发生的事件记录至日志中,以助于排错和分析使用

日志记录的内容包括:

  • 历史事件:时间,地点,人物,事件
  • 日志级别:事件的关键性程度,Loglevel error notice info debug       日志发生的严重程度

rsyslog系统日志服务

rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。尽管rsyslog最初是常规的syslogd,但发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。即使在远程的目的地和更精细的处理中,性能通常也被认为是惊人的”。

rsyslog 特性

- 多线程 块

- UDP, TCP, SSL, TLS, RELP 支持的协议多

- MySQL, PGSQL, Oracle实现日志存储 支持的数据库

- 强大的过滤器,可实现过滤记录日志信息中任意部分

- 自定义输出格式    可以日志 日志按一定格式记录 格式 时间地点任务时间

- 适用于企业级 适用于小型企业

rsyslog配置文件

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的规则配置

实际操作 ssh服务的日志单独设置

vim /etc/rsyslog.conf

 

vim /etc/ssh/sshd_config 

 

要想使用rsyslog软件单独实现日志管理

  1. 需要该软件支持rsyslog
  2. 修改配置文件
  3. 重启服务

网络日志(远程日志功能)

 

 

 

 ELK日志收集   大型企业

 ELK:由Elasticsearch, Logstash, Kibana三个软件组成

- 非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene

- Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能

- Logstash对日志进行收集、分析,过滤,并将其存储供以后使用

- Kibana 可以提供的日志分析友好的 Web 界面   

日志的功能

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

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

异步写入磁盘:有日志出现过一段一起写入磁盘

同步写入磁盘:一有日志立即写入磁盘

日志文件的分类

·内核及系统日志

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

用户日志

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

程序日志

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

日志文件

  • /var/log/secure:系统安全日志,文本格式,应周期性分析
  • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
  • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
  • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
  • /var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况
  • /var/log/boot.log 系统服务启动的相关信息,文本格式
  • /var/log/messages :系统中大部分的信息
  • /var/log/anaconda : anaconda的日志操作系统安装时安装的软件信息

内核和公共日志

日志的配置文件 位置在 /etc/rsyslog.conf

信息的优先级别重要程度

Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)。

0 EMERG(紧急):会导致主机系统不可用的情况。

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

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

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

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

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

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

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

查询当前登录的用户情况

users

users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数

who

who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可

以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用

户名、终端类型、登录日期及远程主机

w

w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比 userswho 命令的 输出内容要丰富一些。

查询用户登录的历史记录

last

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

最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前 主机可能已被入侵。

lastb

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

如登录的用户名错误、密码不正确等情况都 将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值