一、inode与block
1.1 概述
1.扇区(sector)
文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。
2.块(block)
一般连续八个扇区组成一个"块"(block),一个块是4K大小,是文件存取的最小单位,文件数据存储在“块”中。 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。
3.索引节点(inode)
1)文件数据包括实际数据与元信息(类似文件属性)。
2)文件数据存储在"块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。
3)因此一个文件必须占用一个inode,并且至少占用一个 block。 4)inode不包含文件名。文件名是存放在目录当中的。Linux 系统中一切皆文件,因此目录也是一种文件。
5)每个inode都有一个号码。操作系统用inode号码来识别不同的文件。Linux内部不使用文件名,而使用inode号来识别文件。
6)文件名只是inode号便于识别的别称。文件名和inode号是一一对应的关系,每个inode号都对应一个文件名。
4.系统访问文件过程
1.2 查看文件名对应的inode号的方式
第一种方式:ls -i 文件名 |
第二种方式:stat 文件名 |
1.3 inode的特点
1.inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盏分成两个区域。
1)一个是数据区,存放文件数据
2)另一个是inode区,存放inode所包含的信息。
3)每个inode的大小,一般是128字节或256字节
2.通常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode的总数在格式化时就给定了。
3.执行“df -i”命令即可查看每个硬盘分区对应的的inode总数和已经使用的inode数量。
4.由于inode号码与文件名分离,导致Linux系统具备以下几种特有的现象:
1)文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用
2)移动文件或重命名文件,只是改变文件名,不影响inode号码
3)打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名
4)文件数据被修改保存后,公生成一个新的inode号码。
1.4 Linux系统文件三个主要的时间属性
1.ctime(change time)
最后一次改变文件或目录(属性)的时间
2.atime(access time)
最后一次访问文件或目录的时间
3.mtime(modify time)
最后一次修改文件或目录(内容)的时间
1.5 通过inode号删除文件
1.find 目标目录 -inum 具体inode号 -delete
2.find 目标目录 -inum 具体inode号 -exec rm -rf {} ;
3.find 目标目录 -inum 具体inode号 | xargs rm -rf
二、链接文件
在Linux下面的链接文件有两种:
1.软链接:一种类似于Windows的快捷方式功能的文件,可以快速连接到目标文件或目录
2.硬链接:另一种则是通过文件系统的inode链接文件来产生新的文件名,而不是产生新文件
2.1 为文件或目录建立链接文件
2.1.1 硬链接
ln 源文件 目标位置 |
2.1.2 软链接
ln -s 源文件或目录 链接文件或目标位置 |
软链接就是再创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名,如果删除了源文件 ,打开软链接文件就会报错
2.2 链接文件分类
软链接(符号链接) | 硬链接 | |
---|---|---|
删除源文件后 | 失效 | 仍旧可用 |
适用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与源文件可以位于不同文件系统中 | 必须与源文件位于同一文件系统中(如一个linux分区)内 |
三、inode节点耗尽故障处理
3.1 建立磁盘分区,格式化(ext4)并挂载
3.2 查看可用inode数量
3.3 模拟inode节点数耗尽
3.4 验证耗尽
3.5 删除文件恢复
四、EXT类型文件恢复
4.1 建立磁盘分区,格式化(ext3)并挂载
4.2 编译安装extundelete工具
4.3 创建文件,并赋予内容,查看inode号
4.4 删除a和b,解挂,模拟故障
4.5 进行恢复操作
五、xfs类型文件备份和恢复
5.1 概述
1.CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复。
2.xfsdump的备份级别有两种
1)0表示完全备份(默认为0)
2)1-9表示增量备份
3.xfsdump 命令格式
xfsdump -f 备份存放位置 要备份的路径或设备文件
4.xfsdump 命令常用的选项
1)-f:指定备份文件目录
2)-L:指定标签 session label
3)-M:指定设备标签 media label
4)-s:备份单个文件,-s 后面不能直接跟路径
5.xfsdump使用限制
1)只能备份已挂载的文件系统
2)必须使用root的权限才能操作
3)只能备份 XFS 文件系统
4)备份后的数据只能让 xfsrestore 解析
5)不能备份两个具有相同 UUID 的文件系统(可用 blkid命令查看)
5.2 模拟故障
5.2.1 建立磁盘分区,格式化并挂载
5.2.2 安装xfsdump软件
5.2.3 备份整个分区数据
5.2.4 模拟故障,并进行恢复
六、日志文件
6.1 日志的功能
1.用于记录系统、程序运行的发生的各种事件
2.通过阅读日志,有助于诊断和解决系统故障
6.2 日志文件的分类
1.内核及系统日志
1)由系统服务rsyslog统一进行管理,日志格式基本相似
2)主配置文件/etc/rsyslog.conf
2.用户日志
记录系统用户登录及退出系统的相关信息
3.程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
6.3 日志保存位置
默认放在目录/var/log/下
6.4 主要日志文件介绍
1.内核及公共消息日志
/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于为使用独立日志文件的应用程序过服务,一般都可以从该日志文件中获得相关的事件记录信息
2.计划任务日志
/var/log/cron:记录crond计划任务产生的事件信息
3.系统引导日志
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息
4.邮件系统日志
/var/log/maillog:记录进入或发出系统的电子邮件活动
5.用户登录日志
/var/log/secure:记录用户认证相关的安全事件信息
/var/log/lastlog:记录每个用户最近的登录事件。二进制格式
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/utmp:记录失败的、错误的登录尝试及验证事件。二进制格式
6.5 内核及系统日志
6.5.1 由系统服务rsyslogd统一管理
软件包:rsyslog-7.4.7-16.el7.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
6.5.2 日志消息的级别
Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)
级号 | 消息 | 级别 | 说明 |
---|---|---|---|
0 | EMERG | 紧急 | 会导致主机系统不可用的情况 |
1 | ALERT | 警告 | 必须马上采取措施解决的问题 |
2 | CRIT | 严重 | 比较严重的情况 |
3 | ERR | 错误 | 运行出现错误 |
4 | WARNING | 提醒 | 可能会影响系统动能的事件 |
5 | NOTICE | 注意 | 不会影响系统但值得注意 |
6 | INFO | 信息 | 一般信息 |
7 | DEBUG | 调试 | 程序或系统调试信息等 |
6.5.3 日志记录的一般格式
6.5.4 用户日志分析
1.保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
2.分析工具
1)users、who、w、last、lastb
2)last命令用于查询成功登录到系统的用户记录
3)lastb命令用于查询登录失败的用户记录
6.5.5 程序日志分析
1.由相应的应用程序独立进行管理
1)Web服务:/var/log/httpd/
access_log #记录客户访问事件
error_log #记录错误事件
2)代理服务:/var/log/squid/
access.log
cache.log
3)分析工具
4)文本查看、grep过滤检索、Webmin管理套件中查看
5)awk、sed等文本过滤、格式化编辑工具
6)Webalizer、Awstats等专用日志分析工具
6.5.6 日志管理策略
1.及时做好备份和归档
2.延长日志保存期限
3.控制日志访问权限:
日志中可能会包含各类敏感信息,如账户、口令等
4.集中管理日志
1)将服务器的日志文件发到统一的日志文件服务器
2)便于日志信息的统一收集、整理和分析
3)杜绝日志信息的意外丢失、恶意篡改或删除