Linux文件系统与日志分析
1inode与block
1.1inode和block概述
文件数据包括元信息和实际数据
元信息 文件属性,文件大小,权限
实际数据 文件的内容
block块
-
连续的八个扇区组成一个block(4K) -
是文件存取的最小单位
inode(索引节点)
2inode的内容
每个inode都有一个号码,操作系统用inode号码识别不同的文件Linux系统内部不使用文件名,而使用inode号码来识别文件对于用户,文件名只是inode号码便于识别的别称
2.1inode包含文件的元信息
- 文件的字节数
- 文件的拥有者的UserID
- 文件的GroupID
- 文件的读、写、执行权限
查看大小和状态
2.2 Linux系统文件三个主要的时间属性
atime (access time) 最后一次访问文件或目录的时间
mtime (modify time) 最后一次修改文件或目录(内容)的时间
ctime (change time) 最后一次改变文件或目录(属性)的时间
2.3 inode的号码
用户通过文件名打开文件时,系统内部的过程
- 1、系统找到这个文件名对应的inode号码
- 2、通过inode号码,获取inode信息
- 3、根据inode信息,找到文件数据所在的block,读出数
2.4inode号与文件名
Linux系统有以下特殊现象
- 文件名包含特殊字符,可能无法正常删除,这是直接删除inode,能够起到删除文件的作用
- 移动文件或重命名文件,只是改变文件名,不影响inode号码
- 打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名
- 文件数据被修改保存后,会生成一个新的inode号码
直接删除inode号码
find ./ -inum 号码 -exec rm -i {} ;
find ./ -inum 号码 -delete
3日志文件分析
3.1日志的功能
数据分析
故障排查
数据恢复
3.2日志文件的分类
内核及系统日志
- 由系统rsyslog统一进行管理,日志格式基本相似
用户日志
程序日志
3.3日志文件位置介绍
默认位于/var/log目录下
主要位置与功能介绍
/var/log/messages 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。 对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
计划任务日志: /var/log/cron 记录了cron计划任务的时间信息
系统引导日志: /var/log/demesg
记录Linux系统在引导过程中的各种事件信息
用户登录日志: /var/log/lastlog (或直接使用last命令查看登录信息) 记录用户认证相关的安全事件信息。 /var/log/secure 记录每个用户最近的登录的安全事件。二进制格式 /var/log/wtmp 记录每个用户登录、注销及系统启动和停机事件。二进制格式 /var/run/btmp 记录失败的、错误的登录尝试及验证事件。二进制格式
3.4日志消息的级别
数字等级越小,优先级越高、消息越重要。
0 ERG(emerg) 紧急 会导致主机系统不可用 1 ALERT(alert) 警告 必须马上采取措施解决的问题 2 CRIT(crit) 严重 比较严重的情况 3 ERR(err) 错误 运行出现错误 4 WARNING(warning) 提醒 可能会影响系统功能的事件 5 NOTICE(notice) 注意 不会影响系统但值得注意 6 INFO(info) 信息 一般信息 7 DEBUG(debug) 调试 程序或系统调试信息等
3.5日志的一般记录格式
3.6用户日志分析
- /var/log/lastlog:最近的用户登录时间
- /var/log/wtmp:用户登录、注销及系统开、关机事件
- /var/run/utmp:当前登录的每个用户的详细信息
- /var/log/secure:与用户验证相关的安全性时间
4总结
1block和inode
inode存储文件属性。inode号在分区的时候就已经创建了一定的个数。inode号也占用磁盘空间,且inode号有一定的数量,如果用完,那么该分区将无法创建新的文件。
2日志
日志主要用来记录时间,查看内容进行排错,解决系统故障,或者用来数据恢复。
日志的位置有很多种,包括内核系统、用户、程序日志,他们都统一由系统服务(rsyslog)管理,在配置文件中:/etc/syslog.conf中。
盘空间,且inode号有一定的数量,如果用完,那么该分区将无法创建新的文件。
2日志
日志主要用来记录时间,查看内容进行排错,解决系统故障,或者用来数据恢复。
日志的位置有很多种,包括内核系统、用户、程序日志,他们都统一由系统服务(rsyslog)管理,在配置文件中:/etc/syslog.conf中。
日志存在级别,级别越低,优先级越高、数据越重要。
|