诊断一个有问题的Linux磁盘
ru:Диагностика неисправного диска Linux
pl:Diagnozowanie uszkodzonego dysku w systemie Linux
ja:故障したLinuxディスクの診断
fr:Diagnostic d'un disque défectueux Linux
这篇文章是从由软件进行自动翻译。你可以看到这篇文章的源代码
de:Diagnose einer defekten Linux-Festplatte
nl:Diagnose van een defecte Linux-schijf
it:Diagnosticare un disco Linux difettoso
pt:Diagnosticar um disco Linux defeituoso
es:Diagnóstico de un disco Linux defectuoso
en:Diagnosing a faulty Linux disk
简介
本文旨在诊断和识别Linux服务器上有问题的磁盘。
以下操作可以通过Linux终端或Netboot来完成。
命令
=== 如果你的操作系统有RAID == =
作为第一步,你可以做以下命令。
cat /proc/mdstat
然后你会得到一个类似于以下的结果。
[root@localhost ~]# cat /proc/mdstat Personalities : [raid1] read_ahead 1024 sectors md2 : active raid1 sda3[1] sdb3[0] 262016 blocks [2/2] [UU] md1 : active raid1 sda2[1] sdb2[0] 119684160 blocks [2/2] [UU] md0 : active raid1 sda1[1] sdb1[0] 102208 blocks [2/2] [UU] unused devices: <none>
这里你可以看到[UU] ,在每个逻辑驱动器的末端。U表示一个驱动器被正确地集成在RAID中。 因此,只要你能看到类似[_U] 的序列,我们就会推断出一个硬盘有缺陷。
你也可以得到这样的结果。
[root@localhost ~]# cat /proc/mdstat Personalities : [raid1] md3 : active raid1 sda3[0] sdb3[2](F) 439553856 blocks super 1.0 [2/1] [U_] bitmap: 1/4 pages [4KB], 65536KB chunk md1 : active raid1 sdb1[2](F) sda1[0] 19529600 blocks super 1.0 [2/1] [U_] unused devices: <none>
在这种情况下,(F)告诉我们分区是有缺陷的。在我们的例子中,分区sdb3和sdb1是有问题的。
=== 诊断 == =
为了诊断哪个磁盘是坏的,我们将使用SMART。
要做到这一点,你将需要安装它。 根据你的Linux发行版,该命令可能会改变。
对于Centos :
yum install smartmontools
对于Ubuntu / Debian :
apt-get install smartmontools
然后你可以执行下面的命令,它将列出现有的磁盘。
smartctl --scan
要获得有关磁盘的更多信息,请使用以下命令。
smartctl -iHAl error [NOM DU DISQUE]
然后将生成一份磁盘的报告,并向你展示所有存在的异常情况。 本报告由四个部分组成。第一部分是磁盘信息,其序列号、型号、容量、... 第二部分是SMART测试的回报,如果结果不是PASSED,就需要更换磁盘。 第三部分是测试产生的与磁盘有关的所有数值。 最后一个部分是磁盘错误日志。