深入理解Linux文件系统与日志文件

inode与block概述

  • 文件数据包括元信息与实际数据
  • 文件存储在硬盘上,硬盘的最小存储单位是“扇区”,每个扇区存储512字节。
    • block:连续的八个扇区组成一个块(block),是文件存储最小单位,大小4k。
    • inode:中文译名“索引节点”,也叫i节点,用于存储文件元信息。
      补充:raid 下最小存储单元 chunk 大小512k,lvm下最小存储单元 PE 大小4M

inode 的内容

inode包含很多的文件元信息,但不包含文件名。例如:

  • 文件的字节数
  • 文件的属主
  • 文件的属组
  • 文件的读、写、执行权限
  • 文件的时间戳
  • 文件所指向的block

  • Linux系统中一切皆文件,所以目录也是一种文件,所以目录也有inode号。
    使用 stat 命令可以查看某个文件的inode信息。
    在这里插入图片描述
  • atime(access time):最后一次访问文件或目录的时间。
  • mtime(modify time):最后一次修改文件或目录的时间。
  • ctime(change time):最后一次修改文件或目录属性的时间,比如文件的属主,属组信息。

inode 的号码

在Linux系统当中,我们查看文件的时候,其实在系统内部是这样做的:

  • 1、系统先根据文件名找到对应的inode号码
  • 2、根据inode号码查看inode里面内容
  • 3、在inode内容里面找到对应的block(可能有多个block),然后读取数据。
    文件名相当于一个目录,而inode号相当于目录所对应的索引。
    在这里插入图片描述

比如现在需要查看 /var/log/messages 这个系统日志文件。
首先先根据目录项里面的记录找到var这一行,找到对应的inode号码,根据inode号码,查看对应的block块里面的数据找到文件名为log的记录,然后在目录项里面找到log这一行,根据相对应的inode号码,找到messages的数据信息,一层一层的找,最后读取到想要的数据。
在这里插入图片描述

  • 查看inode信息的几种方式
  • ll -i + 文件名 查看文件的inode号
    在这里插入图片描述
  • df -i 查看每个硬盘分区的inode总数和已使用的inode个数
    在这里插入图片描述
  • stat -f + 文件名 查看当前文件所在的文件系统的inode的信息
    在这里插入图片描述
  • xfs_info /dev/sda1 查看xfs文件系统的inode节点的大小 通过isize字段判断
    在这里插入图片描述
  • Centos 6 下使用 dumpe2fs /dev/sda1 | grep -i "inode size"命令查看inode的大小,一般是128字节。

inode 的特殊作用

  • 由于inode号码与文件名分离,导致一些Unix、Linux系统具有一下的现象
    • 当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
    • 移动或重命名文件时,只改变文件名,不影响inode号码
    • 打开一个文件后,系统通过inode号码来识别该文件,不在考虑文件名

find -type f -inum (inode号) -exec rm -rf {} ; 根据inode号删除文件
在这里插入图片描述

inode 耗尽故障处理

当遇到硬盘还有容量未使用,但是就是不可以创建文件,这个时候需要考虑是不是inode耗尽的可能。
解决方案:删除不需要的空文件和空目录用来释放inode号。

硬链接与软链接

  • 硬链接:相当于一个文件的副本(不可以对目录创建硬链接),当一个文件拥有多个硬链接时,修改其中一个文件的内容,会影响到所有文件,删除其中一个文件,不影响另一个文件的访问。只是inode元信息中的“链接数”会减1。硬链接文件的inode号吗相同。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 软链接:软链接是一个独立的文件,也有自己的inode号,软链接文件会让数据的读取只想它链接的哪个文件的文件名。软链接依赖与它链接的文件。如果删除了软链接依赖的文件,那么这个软链接将会失效。

恢复xfs文件类型的备份与恢复

需要恢复文件首先需要备份文件。
xfs文件类型使用xfsdump工具来备份和恢复。
在这里插入图片描述
在这里插入图片描述

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

日志分析

概述

  • 日志文件是用于记录Linux系统中各种运行消息的文件。比如用户登录事件,程序出错等。
  • 日志文件对于诊断和解决系统中的问题很有帮助。
  • Linux日志保存的目录:

分类

  • 内核及公共消息日志:/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息。
  • 系统引导日志:/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
  • 计划任务日志:/var/log/cron:记录计划任务产生的事件信息。
  • 邮件系统日志:/var/log/maillon:记录进入或发出系统的电子邮件活动。
  • 用户登录日志:
    • /var/log/lastlog:记录每个用户最近的登录事件。
    • /var/log/secure:记录用户认证相关的安全事件信息。
    • /var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
    • /var/run/btmp:记录失败的、错误的登录尝试及验证事件。

日志的消息级别

级号消息级别说明
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决的问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能会影响系统功能的事件
5NOTICE注意不会影响系统但值得注意
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

级号越小,越紧急

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值