万卷书   首页 > 电脑书籍 > Linux >fsck-Linux文件系统检查工具介绍
 
 2.4. 磁盘碎片(Fragments)

  为了防止存储小文件时浪费磁盘空间,文件系统允许将一个数据块分割成2、4或8份。其中最小的份额时磁盘的簇大小,通常为512个字节。每一个同柱面组群相关联的数据块映象记录着磁盘空间的碎片程度。

2.5. 文件系统的更新

  在每天的日常工作中,我们创建、删除数以百计的文件。操作系统为此产生了一系列的文件系统更新工作。当数据被写入磁盘时,产生了一个连续的文件系统,同时文件系统更新所有的临界信息。当用户改变文件系统时,比如执行write时,要写入的数据被复制入系统内核的被称作in-core的缓冲区中,所以这种数据更新不是同步的,只有当write函数执行完毕,并且返回时,数据才真正地被写入磁盘。同时用户也可以手工地执行sync命令来迫使数据写入磁盘。另外,每当内核的in-core缓冲区被用作新用途时,系统也会使用/etc/update来调用sync将数据写入磁盘。

3. 修复破坏的文件系统

  有很多方式可以使文件系统遭到破坏,最通常的是不正常关机和一些硬件错误。原因是在关闭系统并且挂起CPU之前没有执行sync来将数据写入磁盘,导致文件系统不完整。另外,硬件错误也是很致命的,特别是磁盘的物理损伤,将导致数据永久性地丢失。

3.1. 检测和修复被破坏的文件系统

  平时,fsck不进行交互式执行,而是每当不正常退出系统后,开机时自动执行。这个功能是在fsck进行交互式执行时的一个子集。所以本文下面的介绍都是基于交互式执行的,并且所有可能发生的错误都会被捕捉到。在此模式下运行,我们可以根据错误的类型来采取相应的修复措施。对于一个静态的文件系统,fsck检查它的结构完整性。在下面的介绍里,我们着重讨论发现柱面组群、文件节点、间接文件节点和数据块的错误和各种可能采取的修复措施。

上一页 下一页