每个分区起始位置都有一个inod表索引节点表(类似于目录表)
每一个文件都对应一个编号 称为索引节点,如果这个空间文件数太多了,记满了,就说明索引节点表耗尽。
故障1 该分区不能正常读写或者说只能读不能写了但是又没有满,就代表文件系统有问题,文件系统有问题需要进行修复
命令:
故障2:索引节点耗尽,没有空间了但是磁盘上具体的数据空间还是有,查看磁盘还有大量的空间可以使用,但是写文件写不上去了,可能是索引节点耗尽,索引节点耗尽一定是有大量的空文件,因为正常的索引节点表是非常大的。可以删除空文件解决。
故障3:磁盘本身就有问题读写可能不能完成或者很慢,或者磁盘有声音,磁盘可能出现坏道了,检查坏道,修复坏道。如果是物理的那就只能更换,逻辑的可以通过命令修复
1操作步骤
首先添加一块硬盘 分区 格式化 挂载 写文件 然后取消挂载
用dd破坏这个分区 挂载
修复 xfs_repair
故障原因
非正常关机、突然断电、设备读写失误等
文件系统的超级块(super-block)信息被破坏
故障现象
无法向分区中读取或写入数据
启动后提示“Give root password for maintenance”
解决思路
根据提示输入root 口令,进入修复状态
使用命令进行修复xfs_repair
2磁盘资源耗尽故障
故障原因
磁盘空间已被大量的数据占满,空间耗尽
虽然还有可用空间,但文件数i节点耗尽
故障现象
无法写入新的文件,提示“… : 设备上没有空间”
部分程序无法运行,甚至系统无法启动
解决思路
清理磁盘空间,删除无用、冗余的文件
转移或删除占用大量i 节点的琐碎文件
进入单用户模式、急救模式进行修复
为用户设置磁盘配额
删除空文件命令:find /dir1 -size 0 | xargs rm-rf
用find在/dir1搜索-size(大小) 0的文件
| xargs(拼凑 通过我拼凑一个个交给下一个命令) rm -rf
find /dir1 -name file* | xargs rm -rf
用find 搜索/dir1 name名字为file*
| xargs(拼凑 通过我拼凑一个个交给下一个命令) rm -rf
模拟故障
首先添加一块硬盘 分区 格式化 挂载 写空文件,手动添加大量空文件太麻烦了 写个脚本。查看剩余i节点 df -i
i=1
while [ $i -le 26000 ]
do
touch /dir1/file$i
let i++
done
i=1(定义一个变量i=1)
while(循环) [ $i(引用变量i) -le(小于或等于) 26000 ]
do执行
touch /dir1/file$i
let(让) i++(i递增)
done(完成)
先定义一个变量 i=1
这是一个循环语句 中括号代表条件判断 如果条件成立
do 执行相关的命令
done结束
查看 文件索引节点 ls -i
故障3
故障原因
磁盘设备中存在坏道(逻辑的或物理的)
故障现象
读取磁盘中的数据时,磁盘设备发出异常声响。
访问磁盘中的某个文件时,反复读取且出错,提示文件损坏
对于新建立的分区无法完成格式化
系统使用该磁盘时频繁死机
badblocks -sv /dev/sdb