文章目录
- 一、基本概念
- 二、日志分析
- 三、实验
一、基本概念
文件是存储在硬盘上的,硬盘上的最小存储单位是扇区每个扇区大小事512字节
inode:元信息(文件的属性 权限 创建者 创建日期)
block:块 连续八个扇区组成一块,一个块是4k ,创建一个文件最小也要占4k
操作系统读取硬盘,是一次性读取多个扇区,一个块一个快读取数据
创建文件:实际空间的大小要占,第二个就是元信息,元信息和实际数据都保存在硬盘上,元信息 inode 128 字节或者是256字节
一个文件必须占用一个inode (只要创建文件必须有一个inode)
至少占用一个block(空文件也占一个块)
inode
时间戳
atime:访问 读取这个文件就会更新
mtime:修改文件数据,更改文件的属性,都会更新
ctime:修改文件的权限也会更新这个时间
inode号:liunx都是识别文件的inode号
元信息发生了变化。inode号也会随时发生变化
inode号的总数:
磁盘的大决定了inode多,inode越小磁盘越小
inode号和文件分离,二者是映射关系,liunx系统的持有现象
1、文件名包含特殊字符,rm可能无法删除,可以直接删除inode
2、移动文件,重命名,inode是不变的
3、一旦开始对文件操作,后续所有的认证和识别都是通过inode来的,不在考虑文件名
4、元信息发生变化,inode也会发生变化
ext4:inode号一旦耗尽便不可以在增加
xfs(最少20兆)模拟耗尽这里显示inode号为10237但实际用了10301
xfs文件系统,如何能够实现备份和恢复?*
cenos7
xfsdump :备份
xfsrestore:恢复
xfsdump命令的选项
-f:执行文件
-L:指定标签
-M:指定设备标签
-s:备份单个文件,-s后面不能直接跟目录
xfsdump使用限制
1、只能备份xfs的文件系统
2、只能备份已经挂载的文件系统
3、只有root权限才能进行操作
4、备份之后的数据要恢复,只能使用xfsrestore
5、如果两个设备的uuid相同,不能备份(这种情况不会有)
备份完之后,恢复文件,inode是否会发生变化
xfsdump -f /opt/backup /dev/sdb2 [-L backup -M sdb2]
/opt/backup 必须是个不存在的文件,必须是个不存在的文件,不能是目录,如果已经存在,必须是个空文件
、dev/sdb2设备
[-L 文件标签(备份文件的标签)]
[-M 设备标签]
备份的级别:全量备份和层量备份
0 也是默认 也就是全量备份
1-9是增量备份(一般不用)
xfsrestore -f /opt/backup /data1/
前一个是备份的文件
后一个恢复到指定目录
二、日志分析
系统的日志类型以及日志如何分析
liunx系统本身的日志和大部分的服务器程序的日志都在/varlog
/var/log/messages*:记录了liunx的内核消息,各种应用程序系统的公共日志消息
应用程序公开日志:开 关 重启 网络错误 程序故障这些都属于公共日志
访问日志和一些自由业务不包含其中
cron:记录定时任务的日志
dmesg:引导过程中的日志信息
maillog:记录进去或者发出的系统电子邮件信息
secure:用户认证的相关信息
liunx的日志级别:数字越小,优先级越高,消息越重要
0: EMERG:紧急会导致主机系统不可用的情况,系统崩溃,自盘要满了
1ALERT:警告 必须要马上采取措施解决问题,密码到期,数据库崩溃
2CRIT 严重,比较严重的情况,磁盘读写出了故障,有些程序的功能无法启动
3 ERR error错误:运行出现错误,程序启动失败,端口被占用,见得最多的就是这个。但是一旦出现也要尽快解决
4 WARNING 提醒:可能会影响功能,需要提醒用户的重要事件,但是不是报错,磁盘使用率到了85%
5、NOTICE注意:也是需要用户注意的,无需处理
6 info信息:一般信息,系统或应用程序在工作中产生的正常消息
7 debug 调试:程序在开发阶段。调试程序的信息
none 没有优先级,不记录日志消息
日志级别怎么定义
*.info:表示系统当中的设备,或者程序。
info:包含info以及info级别以上的日志
auth:用户认证的体质
daemon:守护后台进程的进程
authpriv:SSH FTP登录验证的信息
news:网络传输产生的
syslog:系统的相关日志
kern:系统的内核日志
user:用户进程日志
mail.info /var/log/mail.long:记录邮件信息
三、实验
1、ssh的日志单独的列出来
vim /etc/rsyslog.conf
vim /etc/ssh/sshd_config
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭安全机制
vim /etc/ssh/sshd_config 修改配置文件
这里标注的是添加这一行并注释掉上一行‘#’
然后进入到系统管理日志新建一个自定义日志 指向ssh.log 可以接受独立的系统日志
在主机中打开文件通知 并用另一台虚拟机连接主机
tail -f ssh.log 主机去1 查看日志信息
主机二
ssh root@20.0.0.10
The authenticity of host '20.0.0.10 (20.0.0.10)' can't be established.
ECDSA key fingerprint is SHA256:+XQL+rFHCzoLCvoOqlfd5P9iMHBTXdUgtdg2qjiAgfk.
ECDSA key fingerprint is MD5:30:61:c4:d3:f7:a1:c4:b8:19:49:20:4f:9b:0a:5b:b1.
Are you sure you want to continue connecting (yes/no)? yes 这是确定连接
Warning: Permanently added '20.0.0.10' (ECDSA) to the list of known hosts.
root@20.0.0.10's password: 这里是输入密码
Last login: Fri May 31 21:13:13 2024 from 20.0.0.1
这时主机1已经接收到了日志文件
2、配置日志服务器用来日志采集
这里需要两台虚拟机
现在配置的是往外发送的虚拟机
vim /etc/rsyslog.conf 修改日志配置文件
指向目标主机是新建行
要刷新并查看端口是否开启
LISTEN 监听端口是否开启,端口正常传输数据
ESTABLISHED 表示端口之间已经建立连接且正在传输数据
第一台 日志收集服务器:
然后重启服务查看端口(这里是主机1)
systemctl restart rsyslog.service 刷新
netstat -antp | grep 514 产看端口信息
tail -f /var/log/messages 这里查看的是日志信息
在主机二中输入 logger “this is ”
然后在主机一中输入 logger “this is test” 产看日志信息
文件系统:对文件的操作,用户是针对文件名,系统针对inode号,系统都是inode进行识别的
indoe号保存的是元信息 权限 大小,时间戳
block块 文件的最小存储单位,连续的8个扇区,4k
创建文件:保存元信息,保存实际数量
备份和恢复:XFS ext3