文件系统:管理文件
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传输
配置成功
发送端发送:
接收端日志中接收到: