Linux骚操作第十六话之inode、备份XFS和日志

前言

最近遇到一些问题,关于硬盘明明还有内存,结果数据死活存不进去,寻思半天,怎么也没有找到原因,后来明白了是inode的问题,当indoe节点枯竭了,即使还有内存,也是无法存进去的

一、inode和block

1、block(块):第一:连续的八个扇区组成一个block[文件储存在硬盘上,硬盘最小储存单位是扇区,一个扇区512字节,八个扇区共512*8=4096字节,共4K大小];第二:是文件存取的最小单位
2、Inode(索引节点):第一:中文译为“索引节点”,也叫i节点;第二:用于储存文件元信息[文件数据包括元信息与实际数据,元信息又称文件属性,包括:文件大小;文件权限;文件时间等]

在这里插入图片描述

3、注意:每个inode都有一个号码,操作系统用inode号码来识别不同的文件,Linux系统内部不使用文件名,而使用inode号码来识别,对于系统来说,文件名只是Inode号码便于识别的别称,注意:文件名和inode号码是一一对应的。换句话说:系统先调用文件名,匹配相对于的inode号码,再根据号码调用inode信息内的元信息(文件属性)

4、Inode号

4.1、用户通过文件名打开文件时,首先系统找到这个文件名对应的inode号码,其次通过inode号码,获得inode信息,最后根据inode信息,找到文件数据所在的block,读出数据。

4.2、查看inode号码的方法
在这里插入图片描述

5.文件时间戳
在这里插入图片描述
6、inode的大小首先Inode也会消耗硬盘空间,一般是128字节或者256字节,其次格式化文件系统时确定inode的总数,使用df -i命令可以查看每个磁盘分区的Inode总数和已经使用的数量

7、 inode号与文件名分离导致一些Unix/linux系统具有的一些现象

7.1、当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件

7.2、移动或重命名文件时,只改变文件名,不影响inode号码

7.3、打开一个文件后,系统通过inode号码来识别该文件,不在考虑文件名

8、案例1:查看inode号码
在这里插入图片描述

9、案例2:inode详细案例
在这里插入图片描述

10、案例3:时间戳的案例
1、浏览文件,inode号不会发生变化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、当修改或者改动时,Inode号码就会重置
在这里插入图片描述
11、df案例

在这里插入图片描述

12、文件名包含特殊字符,可能无法正常删除文件故障

在这里插入图片描述
在这里插入图片描述
13、inode节点耗尽故障处理
1、新建硬盘-—>重启------>分区----->查看情况

在这里插入图片描述
2、格式化
在这里插入图片描述
3、挂载
在这里插入图片描述
4、发现硬盘节点枯竭

在这里插入图片描述
5、删除无用文件即可解决问题
在这里插入图片描述

二、恢复XFS类型文件

1、XFS的命令格式:xfsdump -f备份存放位置 要备份的路径或者设备文件
2、Xfsdump备份级别(默认0):0:完全备份;1-9增量备份3、Xfsdump常用选项: -f、-L 、-M、-s

在这里插入图片描述
4、Xfsrestore命令格式:xfsrestore -f 恢复文件的位置 存放恢复后的位置
5、xfsdump使用限制
5.1.只能备份已挂载的文件系统
5.2.必须使用root的权限才能操作
5.3.只能备份XFS文件系统
5.4.备份后的数据只能让xfsrestore解析
5.5.不能备份两个具有相同UUID的文件系统(可用blkid命令查看)
6、恢复案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、日志

1、日志的功能首先用于记录系统,程序运行中发生的各种事件,其次通过阅读日志,有助于诊断和解决系统故障

2、日志文件的分类

2.1、内核及系统日志:由系统服务器rsyslog统一进行管理,日志格式基本相似

2.2、用户日志:记录系统用户登陆及退出系统的相关信息

2.3、程序日志:由各种应用程序独立管理的日志文件,记录格式不统一

3、常见日志文件

3.1、内核及公共消息日志:/var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

在这里插入图片描述
3.2、计划任务日志:/var/1og/cron: 记录crond计划任务产生的事件信息。

3.3、系统引导日志:/var/log/dmesg: 记录Linux系统在引导过程中的各种事件信息。

3.4、邮件系统日志:/var/log/maillog: 记录进入或发出系统的电子邮件活动。

4、用户登陆日志
4.1、var/log/secure: 记录用户认证相关的安全事件信息。
在这里插入图片描述

4.2、/var/log/lastlog: 记录每个用户最近的登录事件{二进制格式}

4.3、/var/1og/wtmp: 记录每个用户登录、注销及系统启动和停机事件(二进制格式)
在这里插入图片描述

4.4、/var/run/btmp: 记录失败的、错误的登录尝试及验证事件(二进制格式)

5、分析工具
Users:命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数

Who:命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用户名、终端类型、登录日期及远程主机

W:命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的输出内容要丰富一些

Last:命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵Astb:命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除了使用lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息

6、日志管理策略
6.1、及时做好备份和归档
6.2、延长日志保存期限
6.3、控制日志访问权限:日志中可能会包含各类敏感信息,如账户、口令等
6.4、集中管理日志

7、重点:日志消息的优先级别
在这里插入图片描述

总结

关于inode号和文件名的,系统先调用文件名,去匹配inode号码,再去匹配判断该用户是否由权限打开该文件,再进行操作,那么谈到inode,在查看文件时,节点号是不会发生变化的,但当改变或者修改时,节点号就会重置,产生变化,当然,一个硬盘里的节点是有限的,当节点枯竭时,解决办法就是删除文件,释放节点。存在删除,就存在恢复,恢复的前提是需要备份,当然,不可以删除根,毕竟如果连系统都没了,用什么恢复呢。说到系统,linux系统内的日志是非常由有用的,实时跟踪不仅可以查到系统的错误,也可以知道系统的使用情况。当然,日志也是需要及时备份和归档的,如果有心人故意删除,也是可以及时恢复,找到幕后黑手。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值