如何在Linux上实现文件系统的自动检查和修复?

译文
运维 系统运维
Linux文件系统有可能在各种各样的情况下受到损坏,比如系统崩溃、突然断电、磁盘断开,或者文件节点(i-node)不小心被覆盖等等,因此需要定期检查文件系统,而说到检查和修复Linux文件系统,fsck是一款实用的工具。本文将介绍图和借助fask工具实现文件系统自动检查的方法。

[[111251]]

【51CTO精选译文】平常Linux管理方面最重要的任务之一就是,检查文件系统的完整性。Linux文件系统有可能在各种各样的情况下受到损坏,比如系统崩溃、突然断电、磁盘断开,或者文件节点(i-node)不小心被覆盖等等。因此,定期检查文件系统的完整性是个好主意,以便尽量减小文件系统受到损坏的风险。而说到检查和修复Linux文件系统,fsck是一款实用的工具。

我在本教程中将介绍如何借助fsck工具,实现文件系统的自动检查。

系统一启动,就触发文件系统自动检查机制

如果你希望系统一启动,就自动触发fsck,那么有一些方法可以设置在启动过程中实现无人值守的fschk,这些方法具体取决于特定的Linux发行版。

在Debian、Ubuntu或Linux Mint上,编辑/etc/default/rcS,如下所示。

  1. $ sudo vi /etc/default/rcS 

# 启动过程中,自动修复出现不一致性的文件系统

  1. FSCKFIX=yes 

在CentOS上,使用下列内容,编辑/etc/sysconfig/autofsck(要是它没有,就创建)。

  1. $ sudo vi /etc/sysconfig/autofsck 
  2. AUTOFSCK_DEF_CHECK=yes 

强制定期检查文件系统

如果文件系统很庞大,你可以强制定期检查文件系统,而不是每次系统启动时检查文件系统。为了实现这个操作,先要借助tune2fs命令,找到文件系统配置。下面这个命令行显示了文件系统相关参数的当前值。请注意:/dev/sda1是文件系统超级块所在的分区。

  1. $ sudo tune2fs -l /dev/sda1 

从tune2fs的输出结果中,我们不仅可以看到文件系统的状态(干净与否),还可以看到与文件系统检查有关的一些参数。"Maximum mount count"(***挂载次数)这个参数是指文件系统检查被触发后的挂载次数。"Check interval"(检查时间间隔)这个参数显示了两次文件系统检查之间的最长时间。在大多数Linux发行版上,这些参数并不是默认情况下被设置的,这意味着并不进行任何定期的文件系统检查。

如果想强制每隔30次挂载就检查文件系统,请运行下面这个命令。

  1. $ sudo tune2fs -c 30 /dev/sda1 

如果想强制每隔3个月就检查文件系统,请使用下面这个命令。

  1. $ sudo tune2fs -i 3m /dev/sda1 

现在确认刚添加上去的文件系统检查条件已正确设置。

  1. $ sudo tune2fs -l /dev/sda1 
  2. . . . 
  3. Last mount time:          n/a 
  4. Last write time:           Fri Mar 14 22:29:24 2014 
  5. Mount count:             20 
  6. Maximum mount count:   30 
  7. Last checked:             Mon Mar  3 20:55:08 2014 
  8. Check interval:           7776000 (3 months) 
  9. Next check after:          Sun Jun  1 21:55:08 2014 

强制下一次系统重启时,进行一次性的文件系统检查

如果你想在下一次系统重启时触发一次性的文件系统检查,可以使用这个命令。

  1. $ sudo touch /forcefsck 

一旦你在类似上面的顶层目录(/)中创建了一个名为forcefsck的空文件,它就会在你下一次重启时,强制进行文件系统检查。系统成功启动后,/forcefsck则会自动被清除。

原文链接:http://xmodulo.com/2014/03/automatic-filesystem-checks-repair-linux.html

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2022-11-07 12:52:25

Linuxfsck命令

2018-02-25 09:48:36

LinuxUbuntu文件系统

2019-03-04 14:40:46

Linux文件系统修复

2020-04-30 13:50:11

Linux网卡信息

2010-01-14 09:52:27

linux文件系统

2023-09-17 17:35:36

LinuxVeritas文件系统

2018-07-20 14:20:24

Linux用户组管理员

2024-01-10 21:19:09

Linux 内核文件系统

2015-12-01 13:09:54

Linux终端文件系统

2015-12-03 09:42:56

Linux终端文件系统

2018-11-05 09:45:01

Linux文件系统命令

2015-07-20 11:19:22

Amazon S3AWS加密文件配置

2020-11-17 11:19:48

Linux磁盘空间

2021-05-31 07:50:59

Linux文件系统

2011-03-07 09:11:23

2022-09-19 08:45:52

Telnet系统Linux

2012-05-02 16:56:12

Linux系统远程修复

2019-02-25 15:36:52

Linux复制文件远程系统

2023-09-03 17:09:58

LinuxSAN LUN磁盘

2023-09-05 15:17:48

LinuxLUN磁盘
点赞
收藏

51CTO技术栈公众号