2010-10-25 97 views
2

就像在的主要问题,是有办法做到这一点? (除了诱导高io负载)也许一些设施内核深深控制着这个?有没有办法在linux上编程控制硬盘活动指示灯?

我正在寻找一个小脚本来识别我的软件raid阵列中发生故障的驱动器。 (以某种重复模式闪烁活动灯,等等)

我在这里读到了所有好主意:https://serverfault.com/questions/64239/physically-identify-the-failed-hard-drive不幸的是我没有标记我的任何驱动器,它们都被夹在一起,所以看着序列号出去了。

+0

写入一个文件磁盘上? (我假设的物理电压权力的光,但我不知道在这方面的任何东西) – new123456 2010-10-25 10:50:23

+0

我只是想知道 - 你有过任何成功了吗?我有同样的问题我自己,这将是甜的,只是能够闪烁个别活动LED ... – ToVine 2015-05-19 21:42:41

回答

2

活动指示灯通常硬连线到主板的磁盘控制器。没有OS设施直接控制它们。但是,如果您知道哪个驱动器在软件中存在问题,并且未安装(为了安全起见),那么您可能可以使用dd(或者可能不是整个驱动器都不好)光。例如:

#!/bin/bash 

badDrive=$1 
while true ; do 
    dd -if "$badDrive" -of "/dev/null" -bs 512 -count 204800 conv=noerror >/dev/null 2>&1 
    sleep 2 
done 

这将从驱动器读取100MiB忽略读取错误,睡眠两秒钟,然后重新执行。传入硬盘设备路径,如/dev/sda

不过,在插入新驱动器之前,您需要找出杀死脚本的方法。否则,你的表现会非常糟糕,并可能导致其他问题。

+0

正如我上面,这样做的目的是通过识别热插拔托架阵列发生故障的驱动器活动作为标识符引导。 – rnavarro 2010-10-26 02:23:23

1

你可以在你的程序,叫他

baddrive(Checkdrivestatus)

,并限制到10个周期。

这种方式你可以运行flashbaddrive,它反过来会checkdrivestatus并通过它坏驱动器闪烁故障驱动器10秒左右,并切出。

我会想象你将不得不看看mdadm,看看接口是什么样的编程,但它会做的伎俩从命令行。

在硬盘磁盘盒上,它们通常从sata/scsi/ide接口运行,或者脱离控制器卡上的插头。

你知道光起源?您可以搜索模型信息,直接查询有问题的磁盘。如果驱动器经常发生故障,您仍然可以将其从电路板上拔下。

另一种策略是按顺序访问磁盘/ dev/sda,sdb,sdc,sde,sdf等... 您可以看到指示灯是否熄灭,或者指示灯是否亮起。 完全死驱动器可以根据控制器的设置访问它杀死的光。

相关问题