RAID5 mdadm faulty / blk_update_request:I / Oエラー


2

サーバーのディスクの5つのrawイメージ(1つの外付けHDDに保存されています)があります。これらの各ディスクには"Linux raid autodetect" (fd)、RAID1(ブート関連、3つのデバイス(2つのアクティブ+ 1つのスペア))とRAID5(その他のデータ、5つのデバイス)のメンバーである2つのパーティションが含まれます。

RAIDアレイを組み立てるために実行するkpartx(またはlosetup、実際には問題ではない)を使用してデバイスをマップしましたmdadm。RAID1は正常に組み立てられ、通常の方法でマウントできます。RAID5は組み立てられています(実際、「アクティブ」、によると/proc/mdstat):

  1. すべてのデバイスは「障害あり」および「削除済み」です。
  2. dmesgblk_update_request: I/O error, dev loop4, sector 16)に追加のエラーが表示された後、さらにエラーが表示されmd: super_written gets error=-5ます(; md/raid:md0: Disk failure on loop5, disabling device.);
  3. RAID5アレイをマウントできません(十分に)。

私はウェブ上で見つけることができるすべての提案を試しました:

  1. --forceキーを使用->は機能しません。
  2. 使用--createして--assume-clean->は機能しません。
  3. 使用--zero-superblock(2に似ています)->は機能しません。
  4. 確認した場合--examine-すべてのメンバーデバイスが中にあるクリーンな状態、チェックサムがあり、正しいとイベント番号は等しいです

2および3ごとに-それらのマッピングされたデバイスに書き込むことはできないようです。私はstraceD」--zero-superblockと、上のwrite()システムコール、私が得ましたEPERM (Operation not permitted)。マップされたデバイスへの書き込みを妨げるものが想像できません(lsblk --fpmRAID5デバイスは書き込み可能ですbrw-rw----)。

別の奇妙な詳細。上記I/O errorでセクター16に乗ることに言及しました。すべてのループ(マッピング)RAID5デバイスのセクター16(オフセット8192バイト)にあるものをチェックしました。マジックナンバー0x6d746962(ASCII: " bitm")で始まるようです- bitmap関連する可能性が高い:

00002000  62 69 74 6d 04 00 00 00  48 a7 15 94 56 79 23 ed  |bitm....H...Vy#.|<br/>
00002010  7d 7b 33 bc b9 f8 71 7a  d0 03 00 00 00 00 00 00  |}{3...qz........|<br/>
00002020  d0 03 00 00 00 00 00 00  00 b0 d8 0d 00 00 00 00  |................|

それが関連しているかどうかはわかりません(少なくとも配列を組み立てながらビットマップで遊ぶ方法がわかりません)が、システムがblk_update_request操作に成功しないことは明らかです(何らかの権利が不足しているか、必要なものが見つからない可能性があります) )。

私は意図的にログの壁を投稿しません-必要な場合はお知らせください。状況をよりよく説明する情報を同封します。

md0 : active raid5 dm-6[5](F) dm-8[4](F) dm-2[3](F) dm-4[2](F) dm-10[1](F)
      464609280 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/0] [_____]
      bitmap: 0/1 pages [0KB], 65536KB chunk

そしてここからです--detail出力:

Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       2       0        0        2      removed
       4       0        0        4      removed
       6       0        0        6      removed
       8       0        0        8      removed

       1     252       10        -      faulty   /dev/dm-10
       2     252        2        -      faulty   /dev/dm-2
       3     252        4        -      faulty   /dev/dm-4
       4     252        8        -      faulty   /dev/dm-8
       5     252        6        -      faulty   /dev/dm-6

今日は私の「もっと頑張る」連載の3日目です。あなたのアドバイスに感謝します。ありがとう。

回答:


0

それで、ようやくRAID5を組み立てることができました。登場したように、問題は以下にありました(私の質問では言及していません)。私が持っていたディスクのイメージは、パーツの数に分割されたE01形式でした。以前のマッピングパーティションewfmount(を含む-X allow_root)を使用して、複数のE01を1つのファイルに「アセンブル」しました。FUSEは、イメージをとしてマウントしているにもかかわらずRW、何らかの理由でそれらをブロックし、デバイスを作成しますread-only(編集しても/etc/fuse.conf)。

トラブルシューティング中の私の試みの1つは、複数のE01を5つの通常のdd / raw形式のイメージにエクスポートewfmountし、「スキーム」を除いて直接操作することでした。

エクスポートが完了したらkpartx、を使用してRAWディスクをマッピングし、問題なく通常の方法でRAID5を組み立てることができました。

複数のOperation not permittedI/O errorの問題が明らかにしたとヒントをgivemeしなければならなかったけど、原因不明の理由に、(私がマッピングされたデバイス上のいくつかの部門を変更しようとするまで、それらを否定しdd、直接、失敗しました)。

それでおしまい。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.