linux(十九)深入理解linux文件系统

Posted 云来云去-起飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux(十九)深入理解linux文件系统相关的知识,希望对你有一定的参考价值。

目录

一、inode  与 block

 1.1.block(块)

1.2.inode(索引节点)

1.2.1 inode概述及定义

1.2.2. inode查看方式

1.2.3.inode设置方式

1.2.4.inode内容

1.2.5.inode的号码

1.2.6.inode的大小

1.2.7.查看文件系统中分区的信息

1.2.8.ext4的容量支持

1.2.9.查看ext4 的inode  : dumpe2fs 

1.2.10 inode的特殊作用

二、硬链接和软链接

2.1.创建硬链接

2.2.创建软软链接

2.4.链接文件总结:

三、恢复误删的文件

3.1.xfsdump命令

3.2.模拟删除并执行恢复操作

3.3.xfsdump使用限制

四、分析日志文件

4.1.日志的功能

4.2.日志文件的分类

4.3.各种日志详解

4.4.日志消息的级别

4.5.守护进程日志实现

4.6.日志的等级设置文件 /etc/rsyslog.conf

4.7.Centos7 的管理服务进程

五、jorunalctl 命令

5.1.查看内核

5.2.查看服务

5.3.从尾部查看


一、inode  与 block

  • 文件数据包括元信息与实际数据
  • 文件存储在硬盘上,硬盘最小存储单位是”扇区“,每个扇区存储512字节

 1.1.block(块)

    连续的八个扇区组成一个block

    (xfs 、 ext4 文件系统)是文件存取的最小单位

       4K占用1个block , 5k占用2两个block 。

       其中在RAID中chunk:512K,LVM 的PE:4M 皆为最小的存储单元如图

类型最小存储单元大小
RAIDchunk4M
LVMPE512K
硬盘block8个扇区:4K
扇区512字节

1.2.inode(索引节点)

    1.2.1 inode概述及定义

  •       中文译名为”索引节点“,也较i节点
  •       用于存储文件元信息---存放外在信息:文件属主、属组、其他,文件的字节数、权限等的属性信息,不包含文件名。
  •        一个文件必须有一个INODE, 为128或者256字节,具有指向性

       注:一个文件必须占用一个inode ,但至少占用一个block,第一个扇区,存放的是MBR引导性数据。

         每一个inode 存放在inodetable 中

  •  mtime 文件内容修改时间----最近更改文件或者目录(内容)时间
  •  ctime  文件元信息修改时间 ---最近改动文件或者目录(属性)的时间
  •  atime ----最近一次访问文件或者目录的时间

   1.2.2. inode查看方式

  • 查看某个文件具体信息,包括inode

 

  • 查看文件及目录的所有的inode 及信息

 

  • stat * |grep -E "Inode|文件"

  • 查看文件总体统计信息

1.2.3.inode设置方式

  • 对xfs系统文件对inode 进行设置

     mkfs.ext3 -i 1024 -m 1 /dev/sda5

 1.2.4.inode内容

  •           目录文件的机构

                         目录也是一种文件

                         目录文件的结构

  •            每个inode都是一个号码,操作系统用inode号码来识别不同的文件
  •             linux系统内部不使用文件名,而是使用inode号码来识别文件
  •             对于用户,文件名知识inode号码便于识别的别称

1.2.5.inode的号码

     用户通过文件名打开文件时,系统内部的过程

  •                 系统找到这个文件名对应的inode号码
  •                 通过inode号码,获取inode信息
  •                根据inode信息,找到文件数据所在的block,读出数据

   文件读取的整体过程如图:

1.2.6.inode的大小

        inode也会消耗硬盘空间

               每个inode 的大小

                一般是128字节或256字节

格式化文件系统时确定inode的总数

1.2.7.查看文件系统中分区的信息

 

 

 

 

 

1.2.8.ext4的容量支持

     ext4 目前能够支持最大8EB 、单个文件支持16T

     ext3 目前能够支持最大1EB ,单个文件支持16T

1.2.9.查看ext4 的inode  : dumpe2fs 

1.2.10 inode的特殊作用

  •    由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象

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

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

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

 

  •  通过find命令中inum 的参数,找出inode 对应的文件,进行删除

                find -type f -inum 268639324 -exec rm -rf {} \\;

二、硬链接和软链接

2.1.创建硬链接

注:inode 和源文件的inode是一样的

2.2.创建软软链接

注:inode 和源文件的inode 是不一样的,而软链接指向的是文件名,通过文件名再进行查找inode

  • 为文件或目录建立链接文件
  • 链接文件分类

2.4.链接文件总结:

           

 软连接硬链接
删除原始文件后失效仍旧可用
适用范围适用于文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统(如一个linux分区)内

三、恢复误删的文件

3.1.xfsdump命令

xfsdump -f 备份存放位置 要备份的路径或设备文件

xfsdump 备份级别(默认为0)

   0:完全备份

  1-9:增量备份

补充:差异备份

xfsdump 常用选项:-f 、-L、-M、 -I、-I

xfsrestore 命令格式

xfsrestore -f  恢复文件的位置 存放恢复后文件的位置

3.2.模拟删除并执行恢复操作

 

查看xfsdump 备份 

注:当你再次执行xfsdump -f 备份的时候,session 的会话将会自动变为1 ,以此类推,直到9,而1-9 皆为追加备份

3.3.xfsdump使用限制

  •  只能备份已挂载的文件系统
  •  必须使用root的权限才能操作
  •  只能备份XFS文件系统
  •  备份后的数据只能让xfsrestore解析
  • 不能备份两个具有相同UUID的文件系统

 

 

四、分析日志文件

   4.1.日志的功能

         用于记录系统、程序运行中发生的各种事件

         通过阅读日志、有助于诊断和解决系统故障

   4.2.日志文件的分类

  •           内核及系统日志

              由系统服务rsyslog统一进行管理、日志格式基本相似

  •           用户日志

               记录系统用户登录及退出系统的相关信息

  •            程序日志

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

日志路径:/var/log/message

4.3.各种日志详解

 

内核及公共消息日志./var/log/messages
计划任务日志/var/log/cron
系统引导日志/var/log/dmesg
邮件日志/var/log/maillog
用户登录日志

/var/log/lastlog  ---查看方式:lastlog     last 最近正确登录的时间进行排列   

/var/log/secure ---与用户验证相关的安全性事件

/var/log/wtmp  --用户登录、注销及系统开、关机事件

/var/run/utmp --当前登录的每个用户的详细信息

/var/run/btmp   ---- lastb 错误登录的信息 

4.4.日志消息的级别

 

 

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

 

 

4.5.守护进程日志实现

4.6.日志的等级设置文件 /etc/rsyslog.conf

4.7.Centos7 的管理服务进程

五、jorunalctl 命令

5.1.查看内核

journalctl -k

5.2.查看服务

journalctl -u httpd

5.3.从尾部查看

journalctl -e

5.4.查看日志启动日志

journalctl -b

 

以上是关于linux(十九)深入理解linux文件系统的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件与文件描述符的介绍

Linux文件与文件描述符的介绍

Linux——深入理解linux文件系统与日志分析

深入理解linux系统下proc文件系统内容

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

深入理解Linux文件系统之文件系统挂载(下)