Linux文件系统和日志分析

一、inode和block

概述
文件存储在硬盘上,硬盘的最小存储单位叫做"扇区" ( sector )每个扇区存储512字节。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块" ( block )。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小 ,最常见的是4KB ,即连续八个扇区组成一个块。

文件数据存储在"块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode(索引节点),也叫i节点。

一个文件必须占用一个inode ,至少占用一个block。

每个inode都有一个号码,操作系统用inode号码来识别不同的文件。 Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个文件名。

所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码:通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

查看文件名对应的inode号
ls -i 文件名
stat 文件名
Linux系统的三个时间戳
atime(accesstime):当使用这个文件的时候就会更新这个时间。

mtime(modification time):当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。

ctime(status time):当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,更像是change time,只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。

查找inode号删除

[root@localhost opt]# find /opt -inum 101871280 -exec rm -rf {} ;

实验1:用xfs系统模拟inode号满了

首先新建一个硬盘,进行分区,格式化,以及挂载
在这里插入图片描述

[root@localhost data1]# df -i //查看可用inode号的数量
可用的inode号的数量为8189
在这里插入图片描述

[root@localhost data1]# touch {1…8189}.txt //给data1里面写满
此时inode号已满,但是可用空间未满
在这里插入图片描述
在xfs系统中,inode号已满的情况下,在touch继续添加,可用添加成功
在ext4系统中,inode号满了的情况下,无法在继续添加

实验2:使用xfs系统,进行备份及恢复

xfsdump 命令常用的选项:

-f:指定备份文件目录

-L:指定标签 session label

-M:指定设备标签 media label

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

xfsdump使用限制:

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

2.必须使用root的权限才能操作

3.只能备份XFS文件系统

4.备份后的数据只能让xfsrestore解析

5.不能备份两个具有相同UUID的文件系统(可用 blkid命令查看)

首先创建一块硬盘,进行分区,格式化,挂载
在这里插入图片描述

[root@localhost data]# cp /etc/passwd /opt/data //将etc下面的passwd复制到data下面
在这里插入图片描述

[root@localhost data]# xfsdump -f /opt/dump_sdb1 /dev/sdb1 [-L dump_sdb1 -M sdb1] //将data下面的内容进行备份
看到success就是代表成功了
在这里插入图片描述

[root@localhost data]# rm -rf * //删除data里面所有内容
[root@localhost data]# xfsrestore -f /opt/dump_sdb1 /opt/data //进行内容恢复
在这里插入图片描述

实验3:将ssh服务日志单独存放

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

[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# vim /etc/rsyslog.conf //进配置文件添加一下
在这里插入图片描述

[root@localhost ~]# vim /etc/ssh/sshd_config
在这里插入图片描述

修改了配置文件后,一定要重启服务

[root@localhost ~]# systemctl restart sshd
[root@localhost ~]# systemctl restart rsyslog.service
去另一台虚拟机里面,验证一下

[root@localhost ~]# ssh root@192.168.79.10

在这里插入图片描述

实验4:配置日志服务器来收集日志

配置接收方7-1
在这里插入图片描述
在这里插入图片描述

配置发送方7-2在这里插入图片描述在这里插入图片描述

在这里插入图片描述

发送方发送(7-2)
在这里插入图片描述

接收方收到(7-1)
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值