it-swarm.cn

物理识别故障硬盘

因此,假设您的服务器有6个正常的硬盘驱动器。驱动器发生故障(无法安装/检测,因错误退出RAID)或发生故障(SMART变得更糟等)。您需要换掉坏的驱动器。打开机箱时,您会看到六个相同的硬盘驱动器。

您如何判断哪个不再健康/无法安装/无法正常工作?

系统将是Linux,最可能是ubuntu服务器,最多使用简单的软件RAID。硬盘驱动器将是SATA,并直接连接到主板。 (没有RAID控制器)

在选择正确的驱动器之前,我不想随意断开驱动器的连接。这些驱动器看起来都和我完全相同;我想象有一种识别我不知道哪个驱动器的通用方法。是否有人有任何指示/技巧/最佳做法?谢谢!

编辑:我本来希望以一种手摇的方式对此进行“概括”,但它只是作为“不完整”和“可怕”而出现。我的错!

27
privatehuff

就像您解释的那样,我在(塔式)服务器上遇到了这个确切的问题,这很容易:

smartctl将输出驱动器的序列号

供应商有时会运送他们自己的特定工具,例如hdparm,它们也会这样做。

因此,输出损坏的驱动器的序列号,然后使用牙医的镜子和手电筒查找驱动器。

在机架式安装上,您通常会像其他人所说的那样安装指示灯,但是我敢打赌,这同样适用。

27
Tom Ritter

在驱动器上贴标签(取决于托盘的设计)可能不可行。当驱动器死亡时,贴纸可能会变干并掉落。

ledctl(来自ledmon软件包)确实是解决此问题的方法。

ledctl locate=/dev/disk/by-id/[drive-id]

要么

ledctl locate=/dev/sda

将点亮指定驱动器机箱上的驱动器故障指示灯。我提供了两个示例,以说明您如何确定驱动器并不重要。您可以使用序列号,名称等。可以使用任何可用的信息。在/ dev /和/ dev/disk /路径下以多种方式引用了驱动器。

要关闭灯,只需再次执行,将locate更改为locate_off,如下所示:

ledctl locate_off=/dev/sda
17
UCS75

通常,您必须希望以某种方式标记连接,然后从发生故障的设备的身份开始工作。例如......某人必须发表评论以纠正我...如果您有两个IDE通道,每个通道上最多有2个驱动器,则可能有sda,sdb,sdc和sdd。如果sdd失败,它将是第二个IDE)通道的电缆上的第二个驱动器。

如果是SATA,并且像我在后台安装的系统那样,则每个sata驱动器的端口都被标记。再次说明,驱动器字母从a一直到驱动器上升的一切,从SATA连接器的端口0开始并向上移动。

如果制造上存在差异,则dmesg | grep sd或dmesg | grep hd应该会提供一些线索。

如果您有可用的序列号,我认为hdparm命令可能会通过软件将其提供给您,因此您可以通过这种方式进行跟踪。在这种情况下,您可能希望在驱动器上贴上标签,这样一来,当您发现问题时就不必担心。

...我知道还有一个原因我更喜欢硬件RAID,而不是软件RAID ...指示灯闪烁。真的像闪烁的灯光。

编辑:smartctl,而不是hdparm,给出序列号。我的错。

6
Bart Silverstrim

简短的回答-“ lsscsi”详尽的回答-“ lshw -c磁盘”将向您显示连接它们的HDD和SATA端口。

3
Sarath kumar S

某些驱动器会在/sys中公开一个定位“文件”,您可以在其中回显1来打开定位指示灯或将0熄灭。

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done
3
crh

至少告诉您发生故障的驱动器的RAID软件/控制器应该告诉您发生故障的驱动器(标识号)。 0通常是左上角的数字,先向下移动,再向右(如果是两列或更多列)。端口可能已标记。

2
mrdenny

如果您没有定位灯,并且无法轻松找到驱动器外部的序列号,那么这种俗气的技巧有时会有所帮助:在该特定驱动器上创建很多活动,然后寻找带有活动LED的固态驱动器。最好跟进更详细的序列号检查,但这可以帮助缩小搜索范围。

例如。:

# while true; do dd if=/dev/disk/by-id/scsi-drive-that-is-dying of=/dev/null; sleep 1; done

(虽然技术上并不需要while循环,但是当您前往数据中心时,它可以使事情继续前进。如果说“ dd”失败,则“ sleep 1”有助于避免快速循环造成的高CPU使用率。)驱动器断开连接。)

2
Steve Bonds

六个内部HDDS?如果它们是外部热插拔驱动器,则热插拔托盘中的指示灯可能会亮起,以帮助您识别损坏的驱动器。另外,许多Raid管理程序还可以选择闪烁​​特定驱动器上的指示灯以确定哪个驱动器。如果它们都是内部的且没有指示灯,则您可以使用RAID软件来告诉您哪些ID是好的,然后查看SCSI ID等来找出答案。如果将它们设置为自动,则RAID控制器文档应告诉您ID在SCSI链中的分配顺序。祝好运。在一切仍在进行时立即备份!

2
BillN

当其他所有方法都失败时,您可以识别未失败的驱动器并向后工作。

find / -type f -exec cat {} \; >> /dev/null

无论哪个驱动器上的活动指示灯均不亮,则可能很坏(希望只是其中之一)。请注意,如果配置了热备用,则这些指示灯也不会点亮。

1
toppledwagon

它们应该贴在机箱上并与RAID软件相对应。

在我们的戴尔上,这不是您的想法。在我们的0:0位于左下角,0:1位于左上角,0:2位于中间左下,依此类推。在我使用过的所有服务器中(自制作业除外),RAID软件将指示端口,并且它将标记。

0
dubRun

scsirastools 具有一组工具,可让您在SCSI磁盘上进行各种诊断测试。您还可以使用sgmon在软件控制下关闭磁盘电源。这至少可以让您识别可以通过诊断找到它的物理磁盘。

如果您具有硬件RAID控制器,则控制器的BIOS或管理软件应具有使您能够识别坏磁盘的功能。

0