linux 文件系统与日志分析
一、inode和block的概述
1、inode
1.1、中文译名为“索引节点”,也叫i节点
1.2、用于储存文件元信息
2、block
1、连续八个扇区组成一个block(4k)
2、是文件存取的最小单位
3、操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。
3、inode的内容
1、inode 包含很多的文件元信息,但不包含文件名,例如:
文件的字节数
文件拥有者的 UserID
文件的 GroupID
文件的读、写、执行权限
文件的时间戳
…
使用 stat 命令即可查看某个文件的 inode 信息
2、Linux系统文件三个主要的时间属性
mtime:修改文件内容时间(最近更改)
atime:访问时间(最近访问)
ctime:修改元信息时间(最近改动)
查看文件系统inode
看指定文件的文件系统的inode的其情况
3、目录文件的结构
目录也是一种文件
目录文件的结构
■每个inode都有一个号码,操作系统用inode号码来识
■Linux系统内部不使用文件名,而使用inode号码来识别文件
■对于用户,文件名只是inode号码便于识别的别称
4、inode的号码
■用户通过文件名打开文件时,系统内部的过程
- 系统找到这个文件名对应的inode号码
- 通过inode号码,获取inode信息
- 根据inode信息,找到文件数据所在的block,读出数据
■查看inode号码的方法
●ls -i命令:查看文件名对应的inode号码
●stat命令:查看文件inode信息中的inode号码
5、文件储存小结
1、硬盘分区后的结构
2、访问文件的简单流程
6、inode的大小
1、inode也会消耗硬盘空间
1.1、每个inode的大小
1.2、 一般是128字节或256字节
2、格式化文件系统时确定inode的总数
3、使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量
7、inode的特殊作用
1、由于inode号码与文件名分离,导致- -些Unix/Linux系统具有以下的现象
2、当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
3、移动或重命名文件时,只改变文件名,不影响inode号码
4、打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
8、链接文件
1、为文件或目录建立链接文件
2、链接文件分类
软链接 又称符号链接 | 硬链接 | |
---|---|---|
删除原始文件后 | 失效 | 仍旧可用 |
适用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在听译个文件系统(如一个Linux分区)内 |
9、软连接、硬链接之间的区别
1、硬链接:一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)。
ln命令可以创建硬链接:
ln 源文件 目标文件
运行上面这条命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做"链接数",记录指向该inode的文件名总数,这时就会增加1。反过来,删除一个文件名,就会使得inode节点中的"链接数"减1。当这个值减到0,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。
这里顺便说一下目录文件的"链接数"。创建目录时,默认会生成两个目录项:".“和”…"。
前者的inode号码就是当前目录的inode号码,等同于当前目录的"硬链接";后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的"硬链接"。所以,任何一个目录的"硬链接"总数,总是等于2加上它的子目录总数(含隐藏目录),这里的2是父目录对其的“硬链接”和当前目录下的".硬链接“。
2、软链接:除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。
这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:
“No such file or directory”。
这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
ln -s命令可以创建软链接。
ln -s 源文文件或目录 目标文件或目录
二、XFS类型的文件
1、xfsdump命令格式
1、xfsdump -f备份存放位置要备份的路径或设备文件
2、xfsdump备份级别(默认为0)
1、0:完全备份
2、●1-9:增量备份
3、xfsdump常用选项: -f、 -L、-M、-1、 -|
4、xfsrestore命令格式
1、xfsrestore -f 恢复文件的位置存放恢复后文件的位置
5、模拟删除并执行恢复操作
xfsdump:备份
xsfrestore:还原
基于备份的基础上还原
-f 指定备份文件名
-M 卷标
-I: 查看具体备份信息
-s 备份单个文件,-s后不能直接跟路径
级别:完全备份和增量备份
第一次完全备份:全部备份
第二次增量备份:只备份增加的
差异备份:对不一样的进行备份
6、xfsdump时,需要注意以下的几个限制:
xfsdump不支持有挂载的文件系统备份,所以只能备份已挂载
xfsdump必须使用root的权限才能操作
xfsdump只能备份XFS文件系统
xfsdump备份下来的数据只能用xfsrestore解析
xfsdump是透过文件系统的UUID来分辨各个备份档的,因此不能备份两个具 有相同的UUID的文件系统
三、日志文件
1、日志的功能
1、用于记录系统、程序运行中发生的各种事件
2、通过阅读日志,有助于诊断和解决系统故障
2、日志文件的分类
1、内核及系统日志
由系统服务rsyslog统- -进行管理, 日志格式基本相似
2、用户日志
记录系统用户登录及退出系统的相关信息
3、程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
3、日志文件的位置
默认位于:/var/log目录下
4、主要日志文件介绍
内核及公共消息日志 | /var/log/messages |
---|---|
计划任务日志 | /var/log/cron |
系统引导日志 | /var/log/dmesg |
邮件系统日志 | /var/log/maillog |
用户登录日志 | 1、 /var/log/lastlog 2、 /var/log/ secure (系统安全的)3、/var/log/wtmp 4、 /var/log/tmp |
tailf=tail -f
实时更新
5、内核及系统日志
1、日志消息的级别
级号 | 消息 | 级别 | 说明 |
---|---|---|---|
0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
1 | ALERT | 警告 | 必须马上采取措施解决的问题 |
2 | CRIT | 严重 | 比较严重的情况 |
3 | ERR | 错误 | 运行出现错误 |
4 | WARNING | 提醒 | 可能会影响系统功能的事件 |
5 | NOTICE | 注意 | 不会影响系统但值得注意 |
6 | INFO | 信息 | 一般信息 |
7 | DEBUG | 调试 | 程序或系统调试信息等 |
6、日志记录的一般格式
7、用户日志分析
1、保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
2、分析工具
users、who、 W、last、 lastb
8、日志管理策略
1、及时作好备份和归档
2、延长日志保存期限
3、控制日志访问权限
4、日志中可能会包含各类敏感信息,如账户、口令等
5、集中管理日志
6、将服务器的日志文件发到统一的日志文件服务器
7、便于日志信息的统一收集、整理和分析
8、杜绝日志信息的意外丢失、恶意篡改或删除