磁盘检验

由于系统在运行时谁也说不准啥时候硬盘或者是电源会有问题、所以死机可能是难免的情况(不管是硬件还是软件)。现在我们知道文件系统运行时会有硬盘与内存数据异步的状况发生,因此莫名其妙的死机非常可能导致文件系统的错乱。如果文件系统真的发生错乱的话,那该如何是好?此时那个好用的fsck就能拿来仔细分析一下了。

 1 fsck [-t 文件系统类型] [-ACay] 设备名称
 2 参数:
 3 -t:指定文件系统类型,通常不需要。
 4 -A:依据/etc/fstab的内容,将需要的设备扫描一次。通常开机过程中就会执行此命令。
 5 -a:自动修复检查到的有问题的扇区,所以你不用一直按Y。
 6 -y:与-a类似,但是某些文件系统不支持-y这个参数。
 7 -C:可以在检验的过程当中使用一个直方图来显示目前的进度。
 8 
 9 EXT3/EXT2 的额外参数功能:(e2fsck这支命令所提供)
10 -f:强制检查,一般来说,如果fsck没有发现任何unclean的标志,不会主动进入细化检查的,如果你想要强制fsck进入细化检查,就得加上-f标志。
11 -D:针对文件系统下的目录进行优化配置。
12 
13 范例:强制将新建的/dev/xvdb1这个设备检查一下。
14 [root@iZ255cppmtxZ data]# umount /dev/xvdb1
15 [root@iZ255cppmtxZ data]# fsck -C -f -t ext4 /dev/xvdb1
16 fsck from util-linux 2.23.2
17 e2fsck 1.42.9 (28-Dec-2013)
18 Pass 1: Checking inodes, blocks, and sizes
19 Pass 2: Checking directory structure                                           
20 Pass 3: Checking directory connectivity
21 Pass 4: Checking reference counts
22 Pass 5: Checking group summary information
23 /dev/xvdb1: 11/1966080 files (0.0% non-contiguous), 167409/7864064 blocks       


注意:通常只有身为root且你的文件系统有问题的时候才使用这个命令,否则在正常状况下使用此命令,可能会造成对文件系统的危害。

刚才谈到的fsck是用来检验文件系统是否出错,至于badblocks则是用来检查硬盘或软盘扇区有没有坏道的命令

 1 badblocks -[svw] 设备名称
 2 参数:
 3 -s:在屏幕上列出进度;
 4 -v:可以在屏幕上看到进度;
 5 -w:使用写入的方式来测试,建议不要使用此参数,尤其是待检查的设备已有的文件时;
 6 
 7 [root@iZ255cppmtxZ data]# fsck -C -f -t ext4 /dev/xvdb1
 8 fsck from util-linux 2.23.2
 9 e2fsck 1.42.9 (28-Dec-2013)
10 Pass 1: Checking inodes, blocks, and sizes
11 Pass 2: Checking directory structure                                           
12 Pass 3: Checking directory connectivity
13 Pass 4: Checking reference counts
14 Pass 5: Checking group summary information
15 /dev/xvdb1: 11/1966080 files (0.0% non-contiguous), 167409/7864064 blocks       
16 [root@iZ255cppmtxZ data]# badblocks -sv /dev/xvdb1
17 Checking blocks 0 to 31456255
18 Checking for bad blocks (read-only test): q^Hdone                                                 
19 Pass completed, 0 bad blocks found. (0/0/0 errors)
原文地址:https://www.cnblogs.com/liuyisai/p/5329872.html