linux 文件系统与日志分析

文件系统:管理文件

inode,block:元数据和实际数据

文件数据:由元信息和实际数据组成

元信息----->inode

实际数据----->文件实际的大小----->block

block:

硬盘存储的最小单位是扇区,扇区为512字节,8个扇区组成一个block,这是文件的最小存取单位

inode:

1.识别系统内的不同文件。(你是谁)

2.创建文件时,文件名是方便用户识别的标识,系统是通过inode号来和文件一 一对应。访问文件时,实际上是通过inode号来找到想要的文件。(你在哪)

3.所有的权限控制都是基于inode号来的,对于文件的处理都是通过inode号来的,与文件名无关

总结:文件系统的核心就是inode,除了文件名,主要的属性都记录在元信息中也就是inode中。访问控制等权限都是由元信息控制。

元信息:文件的创建者,创建日期,文件大小,文件权限等等,但是没有文件名

创建一个文件必须要有一个inode号,文件是有大小的,至少也要占一个block

创建文件的过程:

系统分配一个空闲的inode号,inode号必须要有,而且不能重复。至少分配一个block来存储数据。元数据信息在inode号中(文件的权限,文件的字节数,文件的创建时间,不包括文件名)

访问文件的过程:

inode号与文件名分离,linux系统几种特有现象:

1.文件名如果包含特殊字符,可能无法通过文件名直接删除,只能通过inode号来删除

2.移动文件,重命名文件,不改变大小,只改变文件名,不影响inode号

3.打开文件之后,系统就以inode号识别文件,跟文件名无关

4.使用vim编辑器修改文件数据保存后,会生成一个新的inode号

5.inode和磁盘都占空间

命令:

stat 文件名:查看文件的inode信息

atime:最近访问,使用这个文件的时候就会更新这个时间

mtime:最近更改,修改文件的数据就会更新这个时间

ctime:最近改动,修改文件的权限和属性就会更新这个时间

面试题:

删除30天之前创建的,或者改动的所有文件,找到大于1G 文件,全部删除,一条命令:

find   /   -mtime   +30   -type   f   -size   +1G   -exec   rm -rf   {}   \;

实验:

当xfs文件类型的磁盘inode号满时还可以创建新的文件吗?

首先模拟xfs磁盘inode号满的状况:

1.新建一个硬盘,格式化,挂载:

df  -i:查看剩余inode号为524285

创建524285个文件:

 

已经没有可用inode号接着创建文件,看看可以继续创建多少个文件

创建到129个文件开始报错,所以inode号用完的情况下还可以创建128个文件。

xfs文件系统的备份和恢复:

centos7都是使用xfs,使用xfsdump-----备份,xfsrestore-----恢复

xfsdump备份的时候有两个级别:0完全备份,默认的备份级别就是0;1-9增量备份。

xfsdump使用要求:

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

2.只有root用户才能操作

3.只能是xfs的文件系统

4.它不是最直接恢复文件,需要通过xfsrestore解析之后,文件才能恢复

5.不能备份两个uuid相同的文件系统

xfs备份和恢复的命令:

xfsdump   -f   1-备份存放路径   2-要备份的路径和设备文件   [-L 1 -M 2]:备份

-f:指定备份文件的目录

-l:指定级别

-L:指定备份文件的标签session label

-M:指定备份设备的标签media label

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

xfsrestore   -f   备份存放路径   要恢复的路径:恢复

实验:

全量备份和增量备份的区别:

创建一个磁盘sdb:

分盘:

格式化:

挂载:

在/data目录下添加文件:

全量备份:

全量备份创建成功:

在/data目录中新增文件3,然后做增量备份

增量创建成功:

删除data中的文件,解析全量备份:

删除data中的文件,解析增量备份:

结论:全量备份可以备份全部的包括增加的,增量只能备份增加的文件。

日志分析:

日志:系统、程序运行时必然会产生相关的运行信息,这些信息统一会记录在日志当中。

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

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

日志文件的种类

第一种:系统自定义,系统创建之后会专门产生一个用于记录系统运行的日志文件

第二种:主要是针对第三方服务,不是系统自带的,由程序员自定义或者第三方开发的一些软件运行在系统上,一些日志是第三方服务自带的,不需要人工配置,服务本身没有记录日志的功能,需要人工配置日志文件。

系统日志文件位置:/var/log/messages:

这个日志文件包含了所有系统以及服务,包括第三方程序(必须要配置在systemd的文件里面,有他的运行配置文件),yum安装或者rpm安装会自动添加到systemd当中,不需要手动配置

第三方业务日志:logs/access_log:

日志文件的重要内容:

1.发生时间,必带的记录

2.进行了哪些操作,执行了什么任务,返回了什么结果,还有具体的执行相关个业务信息,必带的记录

管理系统日志文件的程序:rsyslog

配置文件:/etc/rsyslog.conf

日志级别:

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

*:表示所有

info:日志级别,表示所有info级别以上,包含info级别的日志,都记录到messages

none:日志级别,不记录,没有级别

local:自定义服务的日志,范围0-7,对应的服务也必须配置对应的local级别

 

日志管理的策略:

1.及时做好备份和归档

2.延长日志保存期限

3.控制日志访问权限

一般工作当中的日志策略:

1.工作中,对于日志,业务型日志,一般来说保留2-3天,就保留当天和前一天。

2.日志保存类型不同,期限不同。

用户信息:永久保存,不能删除,而且要定期备份

其他类型:交易记录,一般保存半年,但是也会有备份,想要查询也能查询到,但是不在第一页展示

3.权限控制:一般核心业务的日志,只有少数权限人员可以查看,老板(炮灰),项目经理(有可能是炮灰),

生产环境中运维人员一般是有root密码的

实验:

1.服务日志单独存放

先关闭防火墙和安全机制:

修改系统日志文件,把ssh的日志存放到/var/log目录下后重启进程:

修改ssh日志文件,启动LOCAL6,重启进程:

 

使用ssh远程登录:

然后退出:

动态查看ssh日志

2.配置日志服务器,来收集客户机的日志

先关闭防火墙和网络机制:

修改发送端服务器的日志文件:允许tcp传输和传输到20.0.0.30

配置完成:

修改接收端服务器的日志文件:允许tcp传输

配置成功

发送端发送:

接收端日志中接收到:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值