Linux文件系统与日志分析

inode和block

linux两种存储机制

linux的存储有两种机制:inode号、block(实际存储的大小)

1、文件会生成一个inode号  (一般inode号占用的空间为512k左右(一个扇区的大小)/128字节-256字节)

2、文件必然会占用存储空间 block块最小为4k,如果文件大小不满4k也要占一个block块

即一个文件必须占有一个inode号,创建的文件不满4k也要占一个block块

inode号相关概述
  • inode号:元信息(相当于文件的属性)
  • 存储的元信息:文件的创建者、更改日期、文件的大小、文件的权限等,根据inode号为标识存储在硬盘
  • inode号若是用尽,即使磁盘还有空间也无法创建数据
  • df -i查看inode号使用情况
  • 为什么一定要有inode号?  linux一切皆文件,目录也是文件
  • linux内部如何识别文件:识别的是inode号,即系统通过inode号来识别文件
  • 对于系统来说,文件名只是inode号的别称,是为了方便用户使用。文件名和inode号一一对应在文件的元信息当中不包含文件名

例:向pup文件中写内容:

pup——通过inode号寻找——到硬盘上打开此文件——检索此文件的元信息,查看用户是否有权限访问文件以及是否有写的权限——写入数据123——保存文件(检索元信息,用户是否能在当前目录写入。更改元信息,此时文件的inode号会发生变化)

stat 文件名:可以查询文件的详细信息

atime:访问这个文件就会改变此时间

mtime:修改文件数据内容

ctime:修改文件的权限或者属性,更改文件内容也可能会变

文件名和inode号剥离之后:(特点)

1、文件名包含特殊字符,可能无法正常删除。这时可以通过inode号,直接找到数据所在块,直接删除

2、移动、重命名不影响inode号

3、一旦打开文件之后,系统全部以inode号来识别文件,此时文件名不再考虑

4、vim编辑器修改文件内容之后,可能会生成一个新的inode号

5、文件名不在元信息当中

根据inode号删除文件:

实验

xfs文件系统模拟inode号用尽的情况

vm创建新磁盘

创建分区:

格式化:

创建data并挂载:

查看可用inode号并模拟inode号用尽:

发现还是可以继续创建文件:

文件恢复

xfs文件系统进行备份和恢复

centos7默认使用xfs文件系统

xfsdump的备份是有级别的,0表示全量;1-9表示增量备份

xfsdump的命令格式和选项:

-f:指定备份文件的目录,xfsdump -f 备份文件的存放位置 要备份的路径和设备 [指定标签]

-L:指定设备标签

-l:指定备份级别

-M:指定标签

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

xfsdump使用限制

1、只能恢复已挂载的文件系统设备

2、只能备份xfs文件系统

3、必须要有root权限

4、数据恢复只能通过xfsrestore解析,进行恢复

5、若两个设备的UUID相同,则无法进行备份

数据备份与恢复命令

数据要先备份,才能恢复

xfsdump:备份磁盘数据

xfsrestore:恢复数据

实验

全量备份

检查是否安装xfsdump:

[root@pup ~]# xfsdump -f /opt/backup /dev/sdb1 [-L backup -M sdb1]

  • -f /opt/backup //backup这个文件只能是未存在的文件,不能是目录(备份文件的文件名不能重复)
  • [-L backup -M sdb1]备份标签以及设备标签

备份完成:

删除data中的文件:

恢复数据:

[root@pup opt]# xfsrestore -f /opt/backup /data

日志分析

日志概述

linux系统的内核以及系统日志:由rsyslog统一管理(系统自带服务)

配置文件:/etc/rsyslog.conf(配置文件里面的内容是固定格式)

  • 包含了系统需要的日志类型和级别
  • 系统服务日志的核心配置文件
  • 修改此配置文件可以更改系统记录日志的方式

linux系统本身产生的日志,大部分服务器自带程序的日志文件,第三方应用服务程序的控制日志都在/var/log目录下

业务日志:只会记录自身产生的业务情况的日志,不会记录在系统日志当中

日志文件介绍

/var/log/messages:内核日志,还有各种应用程序(包括第三方程序)的控制日志

/var/log/cron:定时任务的日志记录

日志消息级别

日志级别:0-7

0 EMERG:紧急

1 ALERT:警告

2 CRIT:严重

3 ERR:错误 服务或者程序运行时出现错误

4 WARNING:提醒可能会影响系统功能,需要提示用户注意,不是报错

5 NOTICE:注意 不会影响正常功能,但是需要注意,一般不做处理

6 INFO:信息 一般信息,系统运行产生的正常信息

7 DEBUG:调试 调试程序时候使用

none 没有优先级,而且不记录任何日志消息

解析日志消息

例:

*.info:所有info级别的日志,包括info级别以上的事件信息,保存到/var/log/messages

*.=info:明确指定只保存info级别的日志,其他的都不要

*.!info:除了info级别的都要

*.info;.notice:包含info和notice的日志以及以上级别的日志都要

*.info;mail.none;authpriv.none;cron.none /var/log/messages:

所有的设备info级别及以上,不需要mail、authpriv、cron保存到/var/log/messages

authpriv.* /var/log/secure:authpriv设备的所有级别日志消息保存到日志消息

user.info;kern.notice;mail.none;news.none /var/log/test

user,cron.info:多个设备之间可以用,隔开

前面的字段是设备信息

设备字段

auth:用户认证

authpriv:认证的是远程登录产生的日志信息

news:网络新闻记录的事件日志

cron:定时任务

kern:内核的事件消息

mail:邮件

user:用户进程记录的日志

uucp:进程间的通信日志

同步模式和异步模式

同步模式:程序在完成一个任务之后,必须等待处理结果返回之后才能处理下一个任务

异步模式:处理完之后不必等待返回结果就可以继续处理其他任务

local7:自定义服务,自己定义一些服务,把他的日志记录到/var/log/test下

7:范围0-7

日志格式:(记录的内容)

tail -f /var/log/messages

时间戳

test1:主机名

systemd:子系统名称(进程)

Started至最后:消息或者发生时间的具体内容

分析工具

users:展示当前系统登录的用户

w:显示目前登录系统的详细信息

last:列出截至目前登录过系统的用户信息

lastd:列出登陆失败的用户信息记录

实验

实验一:把ssh服务日志单独存放

两台虚拟机同时执行同一命令

撰写栏发送到所有xshell窗口:

[root@pup1 ~]# vim /etc/rsyslog.conf

[root@pup1 ~]# vim /etc/ssh/sshd_config

[root@pup1 ~]# systemctl restart rsyslog.service

[root@pup1 ~]# systemctl restart sshd

主机1:

实验二:配置日志服务器,收集日志

20.0.0.10 客户端 接收

20.0.0.20 服务端 发送

20主机上所有系统日志,不再记录在自己本地,而是发送给10,记录在10的服务器上(日志统一收集)

[root@pup2 ~]# vim /etc/rsyslog.conf

把原来20服务器上往/var/log/messages,通过tcp协议的514端口,发到10的/var/log/messages

[root@pup2 ~]# systemctl restart rsyslog.service

[root@pup2 ~]# netstat -antp | grep 514

查看514端口号是否正常运行

LISTEN : 等待建立连接。

[root@pup1 ~]# vim /etc/rsyslog.conf

[root@pup1 ~]# systemctl restart rsyslog.service

[root@pup1 ~]# netstat -antp | grep 514

[root@pup log]# tail -f /var/log/messages

主机2发送:

主机1:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值