万卷书   首页 > 电脑书籍 > Linux >fsck-Linux文件系统检查工具介绍
 
3.2.超级数据块检查

  常见的文件系统破坏形式是概要信息中关于超级数据块的信息破坏。概要信息很容易被破坏,因为对文件系统的任何改变都会导致概要信息的修改,并且也很容易在非正常退出时被破坏。对超级数据块的检查主要是针对文件系统的长度、文件节点数目、空闲数据块统计和空闲文件节点统计等;文件系统的长度必须大于被超级数据块使用的数据块数目的总和和被文件节点列表所使用的数据块数目的总和。对fsck来说,文件系统的长度和它的布局信息是最为重要的。

3.3. 空闲数据块检查

  Fsck检查所有在柱面组群的数据块映象中被标识为未使用的数据块,也即空闲数据块。Fsck合计空闲数据块的数目,并且把它加上被文件节点使用的数据块的数目,检查这个结果是否等于文件系统中所有数据块的总和。如果fsck发现数据块分配映象有错时,它会自动重建它。概要信息中和超级数据块相联系的信息包含了在文件系统中所有空闲数据块的数目。Fsck将它检查所得到的空闲数据块数目和上面概要信息中的空闲数据块数目进行比较,如果两者不一致,fsck就将实际检查得到的空闲数据块覆盖概要信息中的空闲数据块信息。对于空闲文件节点的检查也会作同样的处理。

3.4. 文件节点状态检查

  一个单独的文件节点一般不会出错,然而,由于在文件系统中有大量的文件节点处入活动状态,所以会有一小部分文件节点会发生错误。Fsck从第二个文件节点开始检查(文件节点0被标记为"未使用"、文件节点1被留作后用)直至最后一个文件节点。每一个文件节点都被进行格式、类型、链接数、重复数据块、坏数据块和节点大小的检查。

  每个文件节点都有一个模式定义,它指示了文件节点的类型和分配状态,这些类型有:常规节点、目录节点、符号连接节点、特殊块设备节点、特殊字符设备节点和套接字节点;而其分配状态有:未分配、已分配和非分配三种状态,其中非分配状态的节点指示了这个节点具有不正确的节点格式,这种情况常常是由于非法数据的写入而造成的,对于这种情况,fsck会清除此文件节点的内容。

上一页 下一页