
私は、5 つの RAID 1 (ミラーリングされたセットアップごとに 2 つのドライブ) と、5 つの RAID 1 ペアすべてにわたる RAID 0 で構成される Linux ソフトウェア RAID 10 セットアップを持っています。負荷がかかった状態でドライブがすぐに故障しないかどうかをテストするために、破壊的な読み取り/書き込みモードで RAID 0 全体に badblocks を使用しました。
Badblocks コマンド: badblocks -b 4096 -c 98304 -p 0 -w -s /dev/md13
デバイスの 1 つに障害が発生し、badblocks プログラムが正常に動作する代わりにハングしました。同期コマンドを実行しても、ハングします。まず、これは RAID 1 デバイスの標準的な動作ではないと思います。ドライブの 1 つに障害が発生した場合でも、2 つのドライブが構成する仮想デバイスに問題なく書き込むことができるはずです。
そこで、ドライブを強制的に故障させて、取り外そうとしました。問題なくドライブを障害ありに設定できます (ただし、IO 操作はハングしたままです)。デバイスを RAID から完全に取り外すことはできません。デバイスはビジー状態です。RAID からデバイスを完全に追い出すことができれば、IO は継続するだろうと推測していますが、これは単なる推測であり、ある種のバグに対処していると思います。
ここでは一体何が起こっているのでしょうか? バグのせいで回復不能な状況に陥っているのでしょうか?
システムではカーネル 2.6.18 が実行されているため、まったく新しいものではありませんが、ソフトウェア RAID が長い間使用されてきたことを考えると、このような問題は発生しないと思われます。
どのようなご意見でも大歓迎です。
mdadm --detail /dev/md13
/dev/md13:
Version : 00.90.03 Creation Time : Thu Jan 21 14:21:57 2010 Raid Level : raid0 Array Size : 2441919360 (2328.80 GiB 2500.53 GB) Raid Devices : 5
合計デバイス数: 5 優先マイナー: 13 永続性: スーパーブロックは永続的
Update Time : Thu Jan 21 14:21:57 2010 State : clean Active Devices : 5 Working Devices : 5
故障したデバイス: 0 予備デバイス: 0
Chunk Size : 64K UUID : cfabfaee:06cf0cb2:22929c7b:7b037984 Events : 0.3 Number Major Minor RaidDevice State 0 9 7 0 active sync /dev/md7 1 9 8 1 active sync /dev/md8 2 9 9 2 active sync /dev/md9 3 9 10 3 active sync /dev/md10 4 9 11 4 active sync /dev/md11
失敗した RAID 出力:
/dev/md8: バージョン: 00.90.03 作成時間: 2010 年 1 月 21 日木曜日 14:20:47 Raid レベル: raid1 アレイ サイズ: 488383936 (465.76 GiB 500.11 GB) デバイス サイズ: 488383936 (465.76 GiB 500.11 GB) Raid デバイス: 2
合計デバイス数: 2 優先マイナー: 8 永続性: スーパーブロックは永続的ですUpdate Time : Mon Jan 25 04:52:25 2010 State : active, degraded Active Devices : 1 Working Devices : 1
故障したデバイス: 1 予備デバイス: 0
UUID : 2865aefa:ab6358d8:8f82caf4:1663e806 Events : 0.11 Number Major Minor RaidDevice State 0 65 17 0 active sync /dev/sdr1 1 8 209 1 faulty /dev/sdn1
答え1
申し訳ありませんが、私がよく理解していなかったのかもしれません。cat /proc/mdstat が役に立つかもしれませんが、私が見る限り、RAID0 のデータとその基礎となる RAID1 アレイを破壊して、自ら足を撃ってしまったようです。RAID の信頼性をテストする必要がある場合は、ドライブ、ディスクを故障としてタグ付けする必要があります。基礎となるすべての RAID1 ディスクを参照する論理ブロックを破壊するのではなく、私が問題をよく理解していれば (教えてください)。
答え2
おそらく、カーネルに障害のあるドライブを削除するように依頼する必要があります。これにより、ハングした RAID が解放されます。
次のようなスクリプトで削除できますhttp://bash.cyberciti.biz/diskadmin/rescan-linux-scsi-bus/