4

メインの質問と同じように、これを行う方法はありますか?(高いio負荷を誘発する以外に)これを制御するカーネルの奥深くにある機能があるのではないでしょうか。

ソフトウェアRAIDアレイで障害が発生したドライブを特定するための小さなスクリプトを作成しようとしています。(特定の繰り返しパターンでアクティビティライトを点滅させるなど)

私はここですべての良いアイデアについて読みました:https ://serverfault.com/questions/64239/physically-identify-the-failed-hard-drive残念ながら、私はどのドライブにもタグを付けておらず、それらはすべて一緒に挟まれています。シリアル番号を見るのは終わりです。

4

2 に答える 2

4

アクティビティ ライトは通常、マザーボードのディスク コントローラに配線されています。それらを直接制御するための 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 を読み取り、2 秒間スリープしてから、もう一度実行します。のように、ハードディスク デバイスのパスを渡し/dev/sdaます。

ただし、新しいドライブを挿入する前に、スクリプトを強制終了する方法を見つける必要があります。そうしないと、パフォーマンスが非常に悪くなり、他の問題が発生する可能性があります。

于 2010-10-25T19:44:06.080 に答える
1

プログラムで、彼を呼び出すことができます

baddrive (ドライブの状態を確認)

10 サイクルに制限します。

この方法で flashbaddrive を実行すると、次に、drivestatus をチェックし、それを baddrive に渡して、故障したドライブを 10 秒ほどフラッシュしてから切り出します。

プログラムでインターフェイスがどのようなものかを確認するには、mdadm を確認する必要があると思いますが、コマンド ラインから実行できます。

ハードディスク キャディでは、通常、sata/scsi/ide インターフェイスから、またはコントローラ カードのプラグから実行されます。

光がどこから来るか知っていますか?モデル情報を検索したり、問題のディスクを直接オン/オフしたりできます。ドライブが頻繁に故障する場合でも、これを回路基板から引き抜くことができます。

別の戦略は、ディスクに順番にアクセスすることです /dev/sda、sdb、sdc、sde、sdf など...そして、ライトが点灯するかどうか、または点灯しないかどうかを確認できます。コントローラーがドライブにアクセスするように設定されている方法によっては、ドライブが完全に機能していない場合、ライトが消える可能性があります。

于 2013-04-15T01:58:43.257 に答える