文件系统和日志管理

文件系统和日志管理

1 文件系统

1.1 概述

文件系统:文件系统提供了一个接口,用户用来访问硬件设备(硬盘)。

文件存储在硬盘上,硬盘最小的存储单位是512字节,扇区。

文件在硬盘上的最小存储单位:块 block

一个块的大小是4k,一个块就是连续的8个扇区。

存储文件的方式:实际数据 和 元信息

实际数据:文件内部的数据保存在硬盘上

元信息:文件的所有者,所在组,最后一次修改时间,文件的大小,文件的权限等

存储元信息的标识:inode号

inode不包含文件名,每个文件(目录)创建都会分配一个全局(当前设备)唯一的识别码。

当一个文件被删除之后,inode号也会回收,供下一个文件继续使用。

在这里插入图片描述

系统都是识别文件的inode号,一个文件必须有一个inode号,至少占用一个块。

1.2 inode号

1.2.1 查明inode号的命令
ls -i

stat 文件名

在这里插入图片描述

解释:

  • 访问时间:2024-11-07 11:18:23.824705109 +0800

    atime:access time,当用户读这个文件,更新这个时间

  • 修改时间:2024-11-07 11:18:23.824705109 +0800

    mtime:modify time,更新数据大小和权限时,会修改这个时间

  • 变更时间:2024-11-07 11:18:23.824705109 +0800

    ctime:change(status) time,只当修改权限和属性时,会发生变化。

df -i	查看挂载点inode号使用情况

# 硬盘的空间越大,可用的inode号越多。
1.2.2 模拟inode号耗尽的情况
  • 在ext4文件系统中,inode号用尽,则不能再创建文件

  • 在xfs文件系统中,inode号用尽,还可以创建文件(部分,大约几十个)

1.3 文件的备份和恢复

因为ext4文件系统备份失败的几率比较大,所以主要以xfs文件系统为主。

xfs实现备份和恢复命令:(需安装 xfsprogsxfsdump

xfsdump 备份

	-f 指定备份文件

	-L 指定文件标签

	-M 指定设备标签

	-s 备份单个文件(一般不使用)

xfsrestore 恢复
	
	-f 指定从哪个备份文件进行恢复

xfsdump备份有两个级别:0 和 1-9

0: 表示完全备份

1-9:增量备份(一般不用)

xfsdump默认级别就是0,全量备份

例:

xfsdump -f /opt/backup /dev/sdb2 [-L backup -M sdb2]

xfsrestore -f /opt/backup /data2

解释:

  • -f /opt/backup:backup是一个文件,而且必须是空文件,否则备份会失败而且不能是目录

  • /dev/sdb2 备份的设备

  • -L 备份文件的标签

  • -M 备份设备的标签

原理:把/dev/sdb2里面的所有文件备份到/opt/backup的文件当中。备份的是二进制代码,通过代码恢复inode号。

xfs备份恢复注意点:
1. 只有root权限才能备份和恢复
2. 备份的目录必须是已挂载的设备
3. 挂载的设备必须是xfs文件系统
4. 恢复数据必须使用xfsrestore进行解析
5. 两个设备的UUID相同不能备份(一般不会)

2 日志管理

一般来说,Linux系统的日志存放位置:

Ubuntu:/var/log/syslog

CentOS:/var/log/messages

2.1 日志类型

2.1.1 服务日志

服务自己的日志:记录的就是使用这个程序过程中产生的信息,不会记录到系统的日志中,都是以.log结尾的文件
1. 一般的应用安装完成之后,/var/log/服务的名称/
2. 自定义位置,修改应用的配置文件,可以自定义服务的日志路径
3. 日志的位置就在应用的安装目录 logs目录(基本上90%的应用日志的目录都是logs)

2.1.2 系统日志

基本操作系统控制,产生的日志信息

常见的系统日志文件:

系统日志文件作用
/var/log/syslog记录了linux系统的内核消息以及各种应用的公共日志信息(系统控制产生的消息),包括启动,IO错误,网络错误,程序的故障等等。
/var/log/cron记录的是定时任务产生的信息
/var/log/secure用户登录系统认证的相关信息
/var/log/maillog记录的是电子邮件的信息

2.2 日志级别

0-7:数字越小,优先级越高,消息越重要

级别字符表示含义
0EMERG紧急,系统/应用不可用,系统崩溃,服务崩溃的重要信息
1ALERT警告,必须马上采取措施的信息,磁盘快满了,数据库被破坏
2CRIT严重,程序的功能丧失,程序无法正常访问
3ERROR错误,运行出现了错误,需要尽快修复(看情况)
4WARNING提醒,可能影响,但是不重要,只是提醒用户
5NOTICE注意,不影响正常功能,但是需要注意的时间,无需处理
6INFO信息,一般信息,正常运行的信息
7DEBUG调试,开发人员调试程序时产生的信息
NONE没有优先级,不记录任何消息日志

以上的优先级,可以用户自定义日志的级别,以获取我们想要的内容。

  • 格式:* . *

    左边 " * " :应用名称
    右边 " * " :日志级别

  • 例:

    • Mail.info :收集邮件的信息,包含info以及info以上级别的信息

    • Mail.info /var/log/mail.log :收集邮件的信息,包含info以及info以上级别的信息

    • Mail.=info /var/log/mail.log:收集邮件的信息,只收集info级别的日志

    • Mail.!info:除了info级别的信息,其他的都收集

    • *.info /var/log/syslog:*所有的程序的info以及info级别以上都收集

    • Mail.*:mail的所有级别的日志都收集

*.info;mail.none;nginx.error /var/log/syslog

所有的程序的一般及一般以上和邮件的日志不记录和nginx只记录error的日志 保存到/var/log/syslog。

设备字段含义
auth用户认证的日志
systemd系统管理程序的日志
cron定时任务的信息
user用户进程信息
mail邮件信息
kern系统内核的信息
local自定义服务(0-7都可以使用,对应的程序设置的local等级要一致)

2.3 日志字段说明

2.3.1 系统日志字段
Nov 7 13:54:33 test1 systemd[1]: Failed to start A high performance web server and a reverse proxy server.

解释:

  • Nov 7 13:54:33: 日志产生的时间
  • test1 主机名
  • systemd[1]: systemd就是设备字段 [1]运行的pid号 systemd这个程序是系统当中的第一个进程 systemd是所有进程的父进程。
  • Failed to start A high performance web server and a reverse proxy server: 日志的内容
2.3.2 应用日志字段
192.168.233.1 -- [07/Nov/2024:13:52:58 +0800] "GET /123 HTTP/1.1" 404 197 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"

解释:

  • 192.168.233.1:谁访问了nginx的服务
  • [07/Nov/2024:13:52:58 +0800]:访问nginx的时间
  • “GET /123 HTTP/1.1”:GET 访问nginx的方式
  • /123:访问的内容
  • http/1.1:访问使用协议
  • 404:当对方请求之后,nginx给客户端的响应码告诉用户访问的结果是成功还是失败
  • “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36”:记录客户端访问nginx的方式

2.4 journalctl

journalctl		日志管理工具:查看系统日志,应用日志不在管理范围之内

journalctl -u	应用名称

journalctl _PID=?	进程的pid号

查看指定用户的日志:

journalctl _UID=0 --since today 		指定用户今天的日志

journalctl _UID=0 --since yesterday 	指定用户昨天产生的日志

journalctl -xe		查看系统中systemd的错误的日志

2.5 实验

rsyslog:linux系统管理系统日志的工具

步骤如下:

在这里插入图片描述

/etc/ssh/sshd_config配置如下:

在这里插入图片描述

/etc/rsyslog.conf配置如下:

在这里插入图片描述

在/var/log中使用 ls 即可发现ssh.log

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值