LinuxソフトウェアRAID 10が1台のドライブに障害が発生した後にハングし、mdadmで障害のあるデバイスを強制的に削除できません


8

5つのRAID 1(ミラーリングされたセットアップごとに2つのドライブ)と5つのRAID 1ペアすべてにRAID 0で構成されるLinuxソフトウェアRAID 10セットアップがあります。負荷がかかってもドライブがすぐに故障しないことをテストするために、破壊的な読み取り/書き込みモードでRAID 0全体に不良ブロックを使用しました。

Badblocksコマンド:badblocks -b 4096 -c 98304 -p 0 -w -s / dev / md13

デバイスの1つに障害が発生し、badblocksプログラムの代わりに問題なく移動しました。syncコマンドを実行すると、これもハングします。まず、これはRAID 1デバイスの標準的な動作ではないと思います。ドライブの1つが故障しても、2つのドライブが問題なく構成する仮想デバイスに書き込むことができます。

だから私はドライブを強制的に故障させ、それを取り除こうとしました。ドライブを問題なく設定できます(ただし、IO操作はまだハングしています)。私はそれがビジーであると言う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作成時間:Thu Jan 21 14:20:47 2010 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

申し訳ありませんが、よく理解できていない可能性があります。猫の/ proc / mdstatが役立つかもしれませんが、私が見る限りでは、RAID0やその下のRAID1アレイなどのデータを破壊しているようです。RAIDの信頼性をテストする必要がある場合、問題を十分に理解していれば(教えてください)、その下にあるすべてのRAID1ディスクを参照する論理ブロックを破壊しないように、ドライブ、ディスクに障害のタグを付ける必要があります。


0

おそらく、欠陥のあるドライブを削除するようにカーネルに依頼する必要があります。ハングしたRAIDを解放します。

http://bash.cyberciti.biz/diskadmin/rescan-linux-scsi-bus/のようなスクリプトで削除できます。


このスクリプトは興味深いものですが、強制的に削除できるかどうかを確認するために、デバイスを追加/削除する方法を詳しく調べる必要がありますが、最終的にはシステムがドライブをアクティブと見なします。ソフトウェアraidがraid1から追い出すためにデバイスが完全に停止している必要はありません。この場合、一部の書き込みは失敗しましたが、デバイスはまだ「存在しています」
ScottZ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.