4つのディスクを持つRAID 5が1つのディスクエラーで実行されていませんか?

4つのディスクを持つRAID 5が1つのディスクエラーで実行されていませんか?

私はこれについて一つを見つけました。mdadmスペアディスクこれは私の質問にほとんど答えますが、何が起こっているのかわかりません。

4つのディスクでRAID5を設定しました。すべてのディスクは通常の動作状態で表示されますactive/sync

    Update Time : Sun Sep 29 03:44:01 2013
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

...

Number   Major   Minor   RaidDevice State
   0     202       32        0      active sync   /dev/sdc
   1     202       48        1      active sync   /dev/sdd
   2     202       64        2      active sync   /dev/sde 
   4     202       80        3      active sync   /dev/sdf

ただし、いずれかのディスクに障害が発生すると、RAIDの動作が停止します。

    Update Time : Sun Sep 29 01:00:01 2013
          State : clean, FAILED 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 1

...

Number   Major   Minor   RaidDevice State
   0     202       32        0      active sync   /dev/sdc
   1     202       48        1      active sync   /dev/sdd
   2       0        0        2      removed
   3       0        0        3      removed

   2     202       64        -      faulty spare   /dev/sde
   4     202       80        -      spare   /dev/sdf

ここで何が起こっているのでしょうか?

解決策は、RAIDを再インストールすることでした。幸運にもそうすることができました。次回は重要なデータがあるかもしれません。単一ディスク障害が原因で障害が発生しないRAIDを持つには、これを理解する必要があります。

私は私が期待したものと何が起こったのかをリストしなかったことに気づきました。

3つの通常ディスクと1つの不良ディスクを持つRAID 5が劣化モードで実行されることを期待しています。 3つはアクティブ/同期化で、1つは失敗します。

スペアパーツが虚空で作成され、欠陥があると宣言された後、新しいスペアパーツが作成されることがあります。返品サウンドは虚空で生成され発表され、その後はRAIDが無効であると宣言されます。

これは次の出力ですblkid

$ blkid
/dev/xvda1: LABEL="/" UUID="4797c72d-85bd-421a-9c01-52243aa28f6c" TYPE="ext4" 
/dev/xvdc: UUID="feb2c515-6003-478b-beb0-089fed71b33f" TYPE="ext3" 
/dev/xvdd: UUID="feb2c515-6003-478b-beb0-089fed71b33f" SEC_TYPE="ext2" TYPE="ext3" 
/dev/xvde: UUID="feb2c515-6003-478b-beb0-089fed71b33f" SEC_TYPE="ext2" TYPE="ext3" 
/dev/xvdf: UUID="feb2c515-6003-478b-beb0-089fed71b33f" SEC_TYPE="ext2" TYPE="ext3" 

TYPEとSEC_TYPEは、RAIDにext3以外のXFSがあるので興味深いです。

このディスクで試したインストールログ(他のすべてのインストールと同様に、以前にリストされた最終結果が発生した場合)には、次のログエントリがあります。

Oct  2 15:08:51 it kernel: [1686185.573233] md/raid:md0: device xvdc operational as raid disk 0
Oct  2 15:08:51 it kernel: [1686185.580020] md/raid:md0: device xvde operational as raid disk 2
Oct  2 15:08:51 it kernel: [1686185.588307] md/raid:md0: device xvdd operational as raid disk 1
Oct  2 15:08:51 it kernel: [1686185.595745] md/raid:md0: allocated 4312kB
Oct  2 15:08:51 it kernel: [1686185.600729] md/raid:md0: raid level 5 active with 3 out of 4 devices, algorithm 2
Oct  2 15:08:51 it kernel: [1686185.608928] md0: detected capacity change from 0 to 2705221484544
Oct  2 15:08:51 it kernel: [1686185.615772] md: recovery of RAID array md0
Oct  2 15:08:51 it kernel: [1686185.621150] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Oct  2 15:08:51 it kernel: [1686185.627626] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
Oct  2 15:08:51 it kernel: [1686185.634024]  md0: unknown partition table
Oct  2 15:08:51 it kernel: [1686185.645882] md: using 128k window, over a total of 880605952k.
Oct  2 15:22:25 it kernel: [1686999.697076] XFS (md0): Mounting Filesystem
Oct  2 15:22:26 it kernel: [1686999.889961] XFS (md0): Ending clean mount
Oct  2 15:24:19 it kernel: [1687112.817845] end_request: I/O error, dev xvde, sector 881423360
Oct  2 15:24:19 it kernel: [1687112.820517] raid5_end_read_request: 1 callbacks suppressed
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423360 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: Disk failure on xvde, disabling device.
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: Operation continuing on 2 devices.
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423368 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423376 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423384 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423392 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423400 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423408 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423416 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423424 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423432 on xvde).
Oct  2 15:24:19 it kernel: [1687113.432129] md: md0: recovery done.
Oct  2 15:24:19 it kernel: [1687113.685151] Buffer I/O error on device md0, logical block 96
Oct  2 15:24:19 it kernel: [1687113.691386] Buffer I/O error on device md0, logical block 96
Oct  2 15:24:19 it kernel: [1687113.697529] Buffer I/O error on device md0, logical block 64
Oct  2 15:24:20 it kernel: [1687113.703589] Buffer I/O error on device md0, logical block 64
Oct  2 15:25:51 it kernel: [1687205.682022] Buffer I/O error on device md0, logical block 96
Oct  2 15:25:51 it kernel: [1687205.688477] Buffer I/O error on device md0, logical block 96
Oct  2 15:25:51 it kernel: [1687205.694591] Buffer I/O error on device md0, logical block 64
Oct  2 15:25:52 it kernel: [1687205.700728] Buffer I/O error on device md0, logical block 64
Oct  2 15:25:52 it kernel: [1687205.748751] XFS (md0): last sector read failed

そこにxvdfがリストされていません。

ベストアンサー1

これはRAID5の基本的な問題です。再構築中に不良ブロックがキラーになります。

Oct  2 15:08:51 it kernel: [1686185.573233] md/raid:md0: device xvdc operational as raid disk 0
Oct  2 15:08:51 it kernel: [1686185.580020] md/raid:md0: device xvde operational as raid disk 2
Oct  2 15:08:51 it kernel: [1686185.588307] md/raid:md0: device xvdd operational as raid disk 1
Oct  2 15:08:51 it kernel: [1686185.595745] md/raid:md0: allocated 4312kB
Oct  2 15:08:51 it kernel: [1686185.600729] md/raid:md0: raid level 5 active with 3 out of 4 devices, algorithm 2
Oct  2 15:08:51 it kernel: [1686185.608928] md0: detected capacity change from 0 to 2705221484544

アレイが組み立てられ、性能が低下した。 xvdc、xvde、xvddで組み立てられました。明らかにホットスペアがあります。

Oct  2 15:08:51 it kernel: [1686185.615772] md: recovery of RAID array md0
Oct  2 15:08:51 it kernel: [1686185.621150] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Oct  2 15:08:51 it kernel: [1686185.627626] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
Oct  2 15:08:51 it kernel: [1686185.634024]  md0: unknown partition table
Oct  2 15:08:51 it kernel: [1686185.645882] md: using 128k window, over a total of 880605952k.

「パーティションテーブル」メッセージは関係ありません。他のメッセージは、mdがおそらくホットスペア(または削除/再追加しようとすると以前に失敗したデバイス)から回復しようとしていることを示しています。


Oct  2 15:24:19 it kernel: [1687112.817845] end_request: I/O error, dev xvde, sector 881423360
Oct  2 15:24:19 it kernel: [1687112.820517] raid5_end_read_request: 1 callbacks suppressed
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: read error not correctable (sector 881423360 on xvde).
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: Disk failure on xvde, disabling device.
Oct  2 15:24:19 it kernel: [1687112.821837] md/raid:md0: Operation continuing on 2 devices.

ここで、mdはxvde(残りの3つのデバイスの1つ)からセクタを読み取ろうとします。 [不良セクタのため]失敗し、md(アレイのパフォーマンスが低下したため)は回復できません。したがって、アレイからディスクを取り出し、デュアルディスク障害が発生した場合、RAID5は役に立ちません。

なぜスペアとしてマークされているのかわかりません。変です(しかし私が普通に見ているようなので、/proc/mdstatmdadmがそのようにマークしたかもしれません)。また、最新のカーネルは、不良ブロックを削除するのにはるかに躊躇していると思います。しかし、おそらく古いカーネルを実行していますか?

これについて何ができますか?

良いバックアップです。これは、データを維持するためのすべての戦略において常に重要な部分です。

定期的に不良ブロックの配列を清掃してください。オペレーティングシステムには、この目的のためのクローン操作がすでに含まれている可能性があります。またはをエコーすることでrepairこれをcheck行うことができます/sys/block/md0/md/sync_action。 「回復」は、見つかったパリティエラーも修正します(たとえば、パリティビットがディスク上のデータと一致しません)。

# echo repair > /sys/block/md0/md/sync_action
#

cat /proc/mdstat進行状況は、またはsysfsディレクトリのさまざまなファイルを使用して見ることができます。 (最新のドキュメントのいくつかは以下にあります。Linux Raid Wiki mdstat 記事

注:古いカーネル(正確なバージョンはわからない)では、チェックによって誤ったブロックが修正されない可能性があります。

最後のオプションはRAID6に切り替えることです。これには別のディスクが必要です(できる4つまたは3つのディスクでRAID 6を実行することはおそらく望ましくないでしょう。 RAID6 は 2 つのディスク障害でも生き残ることができるため、1 つのディスクに障害が発生しても不良ブロックで生き残ることができるため、不良ブロックをマッピングして再構築します。

おすすめ記事