1.卸载文件系统
fuser -km
/home/ap/scratch1 先使用这条命令强制杀掉正在使用此文件系统的进程
umount /home/ap/scratch1
2.修复
fsck -fy /home/ap/scratch1
3.挂载修复文件系统
mount /home/ap/scratch1
说明:
这个是因为出现了大量orphan file
node,一般来说linux系统中一个文件会对应一个inode。基本思想是这样的:如果要删除或截断一个inode,要先把这个inode记录到磁盘上的一个特殊的orphan
inode链表上。如果删除或截断操作能够正常完成,那么,就从磁盘上的orphan
inode链表上删除该inode;否则,如果删除或截断操作未完成之前,系统就发生崩溃了,那么,系统重启后,文件系统会遍历磁盘上的orphan
inode链表,对链表上的每一个inode都重新进行一遍删除或截断操作,以此来保证这些inode真正在磁盘上被删除,维护文件系统的一致性。ext3、ext4的orphan
inode机制就是处理系统异常情况,保持数据的一致性。一旦系统认为数据不一致后,就会让文件系统变成read
only模式来实现自我保护。
总得来说,orphan inode机制能够在一定程度上避免unlink/truncate文件时的不一致性。