シンプルmdadm RAID 1がスペアをアクティブ化しない


24

Ubuntu 12.04 LTS Precise Pangolin を使用して呼び出されるRAID 1アレイに2つの2TB HDDパーティション/dev/sdb1および/dev/sdc1)を作成しました。/dev/md0mdadm

sudo mdadm --detail /dev/md0両方のドライブをアクティブ同期として示すために使用されるコマンド。

次に、テストのために、失敗し/dev/sdb1、それを削除し、コマンドで再度追加しましたsudo mdadm /dev/md0 --add /dev/sdb1

watch cat /proc/mdstat アレイの再構築の進行状況バーが表示されましたが、それを何時間も見ていなかったので、ソフトウェアが何をしているのか知っていたと思いました。

進行状況バーがcat /proc/mdstat表示されなくなった後、次が表示されます。

md0 : active raid1 sdb1[2](S) sdc1[1]
      1953511288 blocks super 1.2 [2/1] [U_]

そしてsudo mdadm --detail /dev/md0示しています:

/dev/md0:
        Version : 1.2
  Creation Time : Sun May 27 11:26:05 2012
     Raid Level : raid1
     Array Size : 1953511288 (1863.01 GiB 2000.40 GB)
  Used Dev Size : 1953511288 (1863.01 GiB 2000.40 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon May 28 11:16:49 2012
          State : clean, degraded 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

           Name : Deltique:0  (local to host Deltique)
           UUID : 49733c26:dd5f67b5:13741fb7:c568bd04
         Events : 32365

    Number   Major   Minor   RaidDevice State
       1       8       33        0      active sync   /dev/sdc1
       1       0        0        1      removed

       2       8       17        -      spare   /dev/sdb1

mdadmは、取り外されたドライブをスペアに自動的に置き換えますが/dev/sdb1、期待される位置であるRaidDeviceに移動されていないと言われました1


UPDATE(2012年5月30日):badblocks全体の破壊読み書きテストが/dev/sdb期待どおりにエラーを生じません。両方のHDDは新しいです。

最新の編集の時点で、このコマンドを使用して配列を組み立てました。

sudo mdadm --assemble --force --no-degraded /dev/md0 /dev/sdb1 /dev/sdc1

出力は次のとおりです。

mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.

再構築は正常に進行しているように見えます。

md0 : active raid1 sdc1[1] sdb1[2]
      1953511288 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.6% (13261504/1953511288) finish=2299.7min speed=14060K/sec

unused devices: <none>

現在、この再構築を待っています/dev/sdb1が、以前に再構築を試みた5回または6回のように、スペアになることを期待しています。


更新(2012年5月31日):ええ、まだ予備です。うん!


更新(2012年6月1日):Adrian Kellyの推奨コマンドを試しています:

sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1

今、再構築を待っています...


更新(2012年6月2日):いいえ、まだ予備...


更新(2012年6月4日): PBは、私が見落としていた懸念を持ち出しました。おそらく/dev/sdc1I / Oエラーが発生しています。正常/dev/sdc1に動作しているように見え、まったく新しいものだったため、確認する必要はありませんでしたが、ドライブの終わりに向かってのI / Oエラーは合理的な可能性です。

私はこれらのHDDを販売しているので、そのうちの1つがすでに故障しているのは驚くことではありません。加えて、どちらもSMARTをサポートしていないので、彼らがそんなに安いのも不思議ではありません...

ここに、私が作成したデータリカバリ手順を示します。

  1. sudo mdadm /dev/md0 --fail /dev/sdb1私が出せるように/dev/sdb1
  2. sudo mdadm /dev/md0 --remove /dev/sdb1/dev/sdb1配列から削除します。
  3. /dev/sdc1 に取り付けられている /media/DtkBk
  4. /dev/sdb1ext4としてフォーマットします。
  5. にマウント/dev/sdb1/media/DtkBkTempます。
  6. cd /media その地域で働くこと。
  7. sudo chown deltik DtkBkTempdeltikパーティションへの(ユーザー名)権限を与えるため。
  8. すべてのファイルとディレクトリのコピーを実行します。 sudo rsync -avzHXShP DtkBk/* DtkBkTemp

UPDATE(2012年6月6日):私がやったbadblocksの破壊的な書き込みモードテストを/dev/sdc以下の手順に従って、:

  1. sudo umount /media/DtkBk アレイの分解を許可します。
  2. sudo mdadm --stop /dev/md0 配列を停止します。
  3. sudo badblocks -w -p 1 /dev/sdc -s -v疑わしいハードドライブをワイプし、処理中にI / Oエラーをチェックします。I / Oエラーがある場合、それは良い兆候ではありません。払い戻しを受けることができれば幸いです...

どちらのHDDにも入出力の問題がないことを確認しました

このすべての調査から、私の2つの元の質問がまだ残っています。


私の質問は:

  1. スペアドライブがアクティブ同期にならないのはなぜですか?
  2. スペアドライブをアクティブにするにはどうすればよいですか?

回答:


14

これを行うと、実際には何もせずにドライブをアレイに固定します。つまり、ドライブはアレイのメンバーですが、アクティブではありません。デフォルトでは、これによりスペアになります:

sudo mdadm /dev/md0 --add /dev/sdb1

スペアがある場合は、アレイのアクティブなドライブ数を強制的に増やすことにより、スペアを増やすことができます。3つのドライブと2つのドライブアクティブになる予想される場合、アクティブカウントを3に増やす必要があります。

mdadm --grow /dev/md0 --raid-devices=3

RAIDアレイドライバーは、ドライブが「短い」ことに気づき、スペアを探します。スペアを見つけると、アクティブなドライブとしてアレイに統合されます。予備のターミナルを開き、このかなり粗雑なコマンドラインを実行して、再同期の進行状況を確認します。必ず1行で入力するか、改行(\)文字を使用します。再構築が完了したら、ターミナルでCtrl-Cを入力します。

while true; do sleep 60; clear; sudo mdadm --detail /dev/md0; echo; cat /proc/mdstat; done

アレイには同期された2つのアクティブなドライブがありますが、3つのドライブがないため、100%クリーンではありません。故障したドライブを取り外してから、アレイのサイズを変更します。--growフラグは少し間違った名前であることに注意してください-それは成長または縮小を意味する可能性があります

sudo mdadm /dev/md0 --fail /dev/{failed drive}
sudo mdadm /dev/md0 --remove /dev/{failed drive}
sudo mdadm --grow /dev/md0 --raid-devices=2

エラーに関して、カーネルは通常、他の「良好な」使用に切り替えるため、ドライブ(PATA / SATAポート、ケーブル、またはドライブコネクタ)のリンクの問題は、ホットスペアのフェールオーバーをトリガーするには不十分です。 「不良」ドライブへのリンクをリセットしながらドライブします。3つのドライブアレイ、2つのホット、1つのスペアを実行し、最近ドライブの1つがログを少し大きくすることに決めたため、これを知っています。アレイ内のすべてのドライブをテストしたとき、3つすべてがSMARTテストの「長い」バージョンに合格したため、プラッター、機械部品、またはオンボードコントローラーに問題はありません。不良なSATAポート。おそらくこれはあなたが見ているものです。ドライブを別のマザーボードポートに切り替えるか、別のケーブルを使用してみて、改善するかどうかを確認してください。


フォローアップ:ミラーの3つのドライブへの拡張を完了し、故障してmdアレイからフレーク状のドライブを取り外し、新しいケーブルをマザーボードにホットスワップして(ドライブがこれをサポートします)、ドライブを再度追加しました。再追加すると、すぐにドライブの再同期が開始されました。これまでのところ、ドライブが頻繁に使用されているにもかかわらず、ログにエラーは1つ記録されていません。そのため、はい、ドライブケーブルは不安定になります。


不安定なリンクケーブルですか?私はその説明を購入しましたが、数か月前に両方のドライブを再利用したため、もうテストできません。私はこの答えを私の特定の問題に対する最良の答えとして受け入れますが、別の素晴らしい答えはこれです。
デルティック

更新として、この回答はほとんどの人にとって最も有用であり、それが私がそれを受け入れた理由ですが、実際に起こったのは、RAID 1アレイのドライブの1つが悪い/dev/sdc1こと/dev/sdc1でした。書き込み中だったため、書き込み中に/dev/sdb1不良セクタ/dev/sdb1が透過的に再マップされました。
デルティック

1
再同期プロセスのタブを保つために行うwatch -n 60 cat /proc/mdstatところ60リフレッシュ間隔を秒数です。
Erk

8

私はまったく同じ問題を抱えていましたが、私の場合、アクティブなRAIDディスクが同期中に読み取りエラーに苦しんでいることがわかりました。したがって、新しいディスクはより正常に同期され、スペアとしてマークされたままになりました。

/ var / log / messagesおよびその他のシステムログでエラーを確認することをお勧めします。さらに、ディスクのSMARTステータスを確認することもお勧めです
。1)短いテストを実行します。

「smartctl -t short / dev / sda」

2)テスト結果を表示します:

「smartctl -l selftest / dev / sda」

私の場合、これは次のようなものを返しました。

=== SMARTデータセクションの 読み取り開始===
SMARTセルフテストログ構造のリビジョン番号1
Num Test_Description Status Remaining LifeTime(hours)LBA_of_first_error
1 Extended offline Completed:read failure 90%7564 27134728
2 Short offline Completed:read failure 90% 7467 1408449701

ライブディストリビューションを起動し、欠陥のあるディスクから新しい(現在「スペア」)のディスクに手動でデータをコピーする必要がありました。


あぁ!アクティブドライブのI / Oエラーを疑うつもりはありませんでした。何らかの理由で、これらのHDDではSMARTはサポートされていません。これと2つの新しいHDDのI / Oエラーの可能性 私は悪い買い物をしたと思う...とにかく、私は私が良いとわかっているHDDにデータ復旧手順を今取っています。すぐに更新します。
デルティック

+50 rep to you PB。誰も私の質問に正しく答えることができませんでしたが、私は50の評判ポイントを無駄にするのではなく、ウェルカムギフトとしてあなたに贈ると思いました。 Stack Exchangeへようこそ!
デルティック

3

私はまったく同じ問題を抱えており、アレイに再度追加したい2番目のディスクにエラーがあると常に考えていました。しかし、それは私の元のディスクが読み取りエラーを持っていた。

で確認しsmartctl -t short /dev/sdX、数分後にで結果を確認できsmartctl -l selftest /dev/sdXます。私にとっては、このように見えました:

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       20%     25151         734566647

私はこのマニュアルでそれらを修正しようとしました。それは楽しかった :-)。両方のディスクのエラーをチェックしたことはわかっていますが、問題は、まだmdアレイにあるディスクに読み取りエラーがあるため、2番目のディスクの追加が失敗することです。

更新

smartctl -a /dev/sdX Current_Pending_Sector> 0が表示された場合は、さらに実行する必要があります

197 Current_Pending_Sector 0x0012 098 098 000 Old_age常に-69

私にとっては、テストのためだけにRAIDからディスクを削除し、読み取りエラーのために再同期を実行できなかったことが間違いなく問題でした。同期は途中で中止されました。RAIDアレイにまだあるディスクをチェックすると、smartctlが問題を報告しました。

上記のマニュアルで修正でき、保留中のセクターの数が減少しました。しかし、多くのことがあり、長くて退屈な手順なので、バックアップを使用してデータを別のサーバーに復元しました。

SMARTを使用する機会がなかったので、あなたのセルフテストではこれらの壊れたセクターが表示されなかったと思います。

私にとって、これは教訓です。ディスクをアレイから削除する前に確認してください。


答えるまでに、RAID 1アレイは存在しなくなり、両方のドライブにI / Oエラーがないことがわかりました。あなたの答えが適用可能であることを確認できますか?
デルティック

最終的に受け入れられました。この回答は、将来の訪問者を助ける可能性が最も高いです。私、私は一般的にRAIDをあきらめました。私がデータセンターを所有しているわけではありません。
デルティック

これはもはや受け入れられた答えではありませんが、それでも良い答えであり、他の誰かを助けるかもしれません。この答えは私に最も当てはまりますが、この答えはおそらく他の人にも当てはまります。また、このコメントでRAIDについて言ったことを取り戻します。
デルティック

3

同様の問題があり、ディスクのRAIDアレイの量を1から2に増やすことで修正しました。

mdadm --grow --raid-devices=2 /dev/md1

3

更新(2015年5月24日): 3年後、RAID 1アレイが劣化する真の原因を調査しました。

tl; dr: ドライブの1つが不良でしたが、正常なドライブで全面的なテストのみを実行したため、これに気付きませんでした。

3年前、I / Oの問題に関するログをチェックすることは考えていませんでした。私がチェックし/var/log/syslogたいと思っていたらmdadm、アレイの再構築をあきらめたときにこのようなものを見たでしょう:

May 24 14:08:32 node51 kernel: [51887.853786] sd 8:0:0:0: [sdi] Unhandled sense code
May 24 14:08:32 node51 kernel: [51887.853794] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853798] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
May 24 14:08:32 node51 kernel: [51887.853802] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853805] Sense Key : Medium Error [current]
May 24 14:08:32 node51 kernel: [51887.853812] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853815] Add. Sense: Unrecovered read error
May 24 14:08:32 node51 kernel: [51887.853819] sd 8:0:0:0: [sdi] CDB:
May 24 14:08:32 node51 kernel: [51887.853822] Read(10): 28 00 00 1b 6e 00 00 00 01 00
May 24 14:08:32 node51 kernel: [51887.853836] end_request: critical medium error, dev sdi, sector 14381056
May 24 14:08:32 node51 kernel: [51887.853849] Buffer I/O error on device sdi, logical block 1797632

ログでその出力を取得するには、次のコマンドを使用して、最初の問題のあるLBA(私の場合は14381058)を探しました。

root@node51 [~]# dd if=/dev/sdi of=/dev/zero bs=512 count=1 skip=14381058
dd: error reading ‘/dev/sdi’: Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 7.49287 s, 0.0 kB/s

wonderめたのも不思議でmdはありません!不良ドライブからアレイを再構築することはできません。

新しい技術(smartmontoolsハードウェアの互換性が向上しましたか?)により、最後の5つのエラー(これまでの1393個のエラー)を含むSMART情報をドライブから取得できました。

root@node51 [~]# smartctl -a /dev/sdi
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-43-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 5K3000
Device Model:     Hitachi HDS5C3020ALA632
Serial Number:    ML2220FA040K9E
LU WWN Device Id: 5 000cca 36ac1d394
Firmware Version: ML6OA800
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5940 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun May 24 14:13:35 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x84) Offline data collection activity
                                        was suspended by an interrupting command from host.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (21438) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 358) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   136   136   054    Pre-fail  Offline      -       93
  3 Spin_Up_Time            0x0007   172   172   024    Pre-fail  Always       -       277 (Average 362)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       174
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       8
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   146   146   020    Pre-fail  Offline      -       29
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       22419
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       161
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       900
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       900
194 Temperature_Celsius     0x0002   127   127   000    Old_age   Always       -       47 (Min/Max 19/60)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       8
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       30
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2

SMART Error Log Version: 1
ATA Error Count: 1393 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1393 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:59:34.096  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:59:30.334  READ DMA EXT
  b0 d5 01 09 4f c2 00 00   1d+03:57:59.057  SMART READ LOG
  b0 d5 01 06 4f c2 00 00   1d+03:57:58.766  SMART READ LOG
  b0 d5 01 01 4f c2 00 00   1d+03:57:58.476  SMART READ LOG

Error 1392 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:59:30.334  READ DMA EXT
  b0 d5 01 09 4f c2 00 00   1d+03:57:59.057  SMART READ LOG
  b0 d5 01 06 4f c2 00 00   1d+03:57:58.766  SMART READ LOG
  b0 d5 01 01 4f c2 00 00   1d+03:57:58.476  SMART READ LOG
  b0 d5 01 00 4f c2 00 00   1d+03:57:58.475  SMART READ LOG

Error 1391 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:28.228  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:24.549  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT

Error 1390 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:24.549  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT
  25 00 10 f0 70 db 40 00   1d+03:56:06.687  READ DMA EXT

Error 1389 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT
  25 00 10 f0 70 db 40 00   1d+03:56:06.687  READ DMA EXT
  25 00 f0 00 70 db 40 00   1d+03:56:03.026  READ DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     21249         14381058

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

ああ…それでいい。

さて、この質問を3つの簡単な手順で解決しました。

  1. 3年でシステム管理者になります。
  2. ログを確認してください。
  3. スーパーユーザーに戻って3年前からの私のアプローチを笑ってください。

更新(2015年7月19日):好奇心 '盛な人にとって、ドライブは最終的にリマップするセクターを使い果たしました:

root@node51 [~]# smartctl -a /dev/sdg
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-43-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 5K3000
Device Model:     Hitachi HDS5C3020ALA632
Serial Number:    ML2220FA040K9E
LU WWN Device Id: 5 000cca 36ac1d394
Firmware Version: ML6OA800
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5940 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun Jul 19 14:00:33 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
See vendor-specific Attribute list for failed Attributes.

General SMART Values:
Offline data collection status:  (0x85) Offline data collection activity
                                        was aborted by an interrupting command from host.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 117) The previous self-test completed having
                                        the read element of the test failed.
Total time to complete Offline
data collection:                (21438) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 358) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   099   099   016    Pre-fail  Always       -       2
  2 Throughput_Performance  0x0005   136   136   054    Pre-fail  Offline      -       93
  3 Spin_Up_Time            0x0007   163   163   024    Pre-fail  Always       -       318 (Average 355)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       181
  5 Reallocated_Sector_Ct   0x0033   001   001   005    Pre-fail  Always   FAILING_NOW 1978
  7 Seek_Error_Rate         0x000b   086   086   067    Pre-fail  Always       -       1245192
  8 Seek_Time_Performance   0x0005   146   146   020    Pre-fail  Offline      -       29
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       23763
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       167
192 Power-Off_Retract_Count 0x0032   092   092   000    Old_age   Always       -       10251
193 Load_Cycle_Count        0x0012   092   092   000    Old_age   Always       -       10251
194 Temperature_Celsius     0x0002   111   111   000    Old_age   Always       -       54 (Min/Max 19/63)
196 Reallocated_Event_Count 0x0032   001   001   000    Old_age   Always       -       2927
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       33
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2

SMART Error Log Version: 1
ATA Error Count: 2240 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 2240 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 f0 18 0f 2f 00  Error: IDNF 240 sectors at LBA = 0x002f0f18 = 3084056

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 18 0f 2f 40 00      00:25:01.942  WRITE DMA EXT
  35 00 f0 28 0e 2f 40 00      00:25:01.168  WRITE DMA EXT
  35 00 f0 38 0d 2f 40 00      00:25:01.157  WRITE DMA EXT
  35 00 f0 48 0c 2f 40 00      00:25:01.147  WRITE DMA EXT
  35 00 f0 58 0b 2f 40 00      00:25:01.136  WRITE DMA EXT

Error 2239 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 5a 4e f7 2e 00  Error: IDNF 90 sectors at LBA = 0x002ef74e = 3077966

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 b8 f6 2e 40 00      00:24:57.967  WRITE DMA EXT
  35 00 f0 c8 f5 2e 40 00      00:24:57.956  WRITE DMA EXT
  35 00 f0 d8 f4 2e 40 00      00:24:57.945  WRITE DMA EXT
  35 00 f0 e8 f3 2e 40 00      00:24:57.934  WRITE DMA EXT
  35 00 f0 f8 f2 2e 40 00      00:24:57.924  WRITE DMA EXT

Error 2238 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 40 a8 c6 2e 00  Error: IDNF 64 sectors at LBA = 0x002ec6a8 = 3065512

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 f8 c5 2e 40 00      00:24:49.444  WRITE DMA EXT
  35 00 f0 08 c5 2e 40 00      00:24:49.433  WRITE DMA EXT
  35 00 f0 18 c4 2e 40 00      00:24:49.422  WRITE DMA EXT
  35 00 f0 28 c3 2e 40 00      00:24:49.412  WRITE DMA EXT
  35 00 f0 38 c2 2e 40 00      00:24:49.401  WRITE DMA EXT

Error 2237 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 ea be ba 2e 00  Error: IDNF 234 sectors at LBA = 0x002ebabe = 3062462

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 b8 ba 2e 40 00      00:24:39.263  WRITE DMA EXT
  35 00 f0 c8 b9 2e 40 00      00:24:38.885  WRITE DMA EXT
  35 00 f0 d8 b8 2e 40 00      00:24:38.874  WRITE DMA EXT
  35 00 f0 e8 b7 2e 40 00      00:24:38.862  WRITE DMA EXT
  35 00 f0 f8 b6 2e 40 00      00:24:38.852  WRITE DMA EXT

Error 2236 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 86 c2 2a 2e 00  Error: IDNF 134 sectors at LBA = 0x002e2ac2 = 3025602

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 58 2a 2e 40 00      00:24:25.605  WRITE DMA EXT
  35 00 f0 68 29 2e 40 00      00:24:25.594  WRITE DMA EXT
  35 00 f0 78 28 2e 40 00      00:24:25.583  WRITE DMA EXT
  35 00 f0 88 27 2e 40 00      00:24:25.572  WRITE DMA EXT
  35 00 f0 98 26 2e 40 00      00:24:25.561  WRITE DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short captive       Completed: read failure       50%     23763         869280
# 2  Extended offline    Completed without error       00%     22451         -
# 3  Short offline       Completed without error       00%     22439         -
# 4  Extended offline    Completed: read failure       90%     21249         14381058
1 of 2 failed self-tests are outdated by newer successful extended offline self-test # 2

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

1
うん、まさに私のRAIDに何が起こったのか!これはあなた自身の質問に対する実際の答えです!これを最新に保つためにありがとう!!!
-Preexo

1

私の場合、それも悪いソースディスクでした。当時はそうではなかったように見えましたが(/ proc / mdstatは通常99.9%を超えて進行していましたが、実際には99.97%で失敗しました。そのため、dmesg(1)出力を確認する必要があります。読み取りエラーがあるかどうかがわかります。

私のケースの詳細はDebianバグ#767243で見ることができます。最終的に、ソースディスク上のいくつかの不良セクタを強制的に上書きすることで同期を完了することができました(私の場合は幸運にも使用されませんでした。


0

試すことができます

sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1

ドライブを更新して再同期します。


今すぐ試してみてください...再構築が完了したと思われる場合は報告します。
デルティック

うまくいきませんでした。/dev/sdb1スペアとして再構築した後もまだ「アクティブ」になっていません。
デルティック

0

既に--addディスクを編集し--re-addているが、必要なオプションのように見えるので、それが機能するかどうかはわかりません。

または--grow、デバイスに2つのアクティブディスクが必要な場合がありますmdadm --grow -n 2。テストされていないので注意してください。


sudo mdadm --grow -n 2は私が最初にしたことの1つでしたsudo mdadm --detail /dev/md0。そのため、2つのスロットが表示されます。申し訳ありませんが、機能しません。
-Deltik

0

sdc1を削除して、sdc1のスーパーブロックをゼロにし、再度追加することをお勧めします。

mdadm /dev/md0 -r /dev/sdc1
mdadm --zero-superblock /dev/sdc1
mdadm /dev/md0 -a /dev/sdc1

他のHDDのスーパーブロックをゼロ化しながら、各HDDにデータをシフトしました。私が抱えている問題は、RAID 1アレイを完全に再作成しても再発します。
デルティック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.