web-dev-qa-db-ja.com

mdadm:ドライブの交換がスペアとして表示され、同期を拒否する

プレリュード

_/dev/md0_ RAID 6に次のデバイスがありました:_/dev/sd[abcdef]_

RAIDとは関係なく、次のドライブも存在しました:_/dev/sd[gh]_

次のドライブは、接続されたカードリーダーの一部でしたが、ここでも無関係です:_/dev/sd[ijkl]_

分析

sdfのSATAケーブルが故障し(使用中にプラグが抜かれたと言えます)、その後sdfは_/dev/md0_アレイから拒否されました。ケーブルを交換したところ、ドライブが戻ってきました。現在は_/dev/sdm_です。私の診断に異議を唱えないでください、ドライブに問題はありません。

_mdadm --detail /dev/md0_はsdf(F)を示しました。つまり、sdfに障害がありました。そのため、_mdadm --manage /dev/md0 --remove faulty_を使用して、障害のあるドライブを削除しました。

_mdadm --detail /dev/md0_は、以前sdfがあったスペースで「削除された」ことを示しました。

 root @ galaxy:〜#mdadm --detail /dev/md0
/dev/md0:
バージョン:1.2 
作成時間:7月30日水曜日13: 17:25 2014 
 RAIDレベル:raid6 
アレイサイズ:15627548672(14903.59 GiB 16002.61 GB)
使用されるDevサイズ:3906887168(3725.90 = GiB 4000.65 GB)
 RAIDデバイス:6 
デバイスの総数:5 
永続性:スーパーブロックは永続的です
 
インテントビットマップ:内部
 
更新時間:2015年3月17日火曜日21:16:14 
状態:アクティブ、劣化
アクティブデバイス:5 
動作中のデバイス:5 
故障したデバイス:0 
スペアデバイス:0 
 
レイアウト:左対称
チャンクサイズ:512K 
 
名前:Eclipse:0 
 UUID:cc7dac66:f6ac1117:ca75576​​9:0e59d5c5 
イベント:67205 
 
番号メジャーマイナーRAIDデバイス状態
 0 8 00アクティブs ync/dev/sda
18 321アクティブ同期/dev/sdc
40 04削除
 3 8 483アクティブ同期/dev/sdd
 4 8 644アクティブ同期/dev/sde
58 165アクティブ同期/dev/sdb

何らかの理由で、「削除された」デバイスのRaidDeviceは、アクティブなデバイスと一致するようになりました。とにかく、それが元の意図だったので、以前のデバイス(現在は_/dev/sdm_として知られています)を追加してみましょう:

 root @ galaxy:〜#mdadm --add/dev/md0 /dev/sdm
mdadm:added /dev/sdm
root@galaxy:~# mdadm --detail /dev/md0
/dev/md0:
バージョン:1.2 
作成時間:2014年7月30日水曜日13:17:25 
 RAIDレベル:raid6 
アレイサイズ:15627548672(14903.59 GiB 16002.61 GB)
使用開発サイズ:3906887168(3725.90 GiB 4000.65 GB)
 RAIDデバイス:6 
デバイス合計:6 
永続性:スーパーブロックは永続的
 
インテントビットマップ:内部
 
更新時間:2015年3月17日火曜日21:19:30 
状態:アクティブ、劣化
アクティブデバイス:5 
動作中のデバイス:6 
故障したデバイス:0 
スペアデバイス:1 
 
レイアウト:左対称
チャンクサイズ:512K 
 
名前:Eclipse:0 
 UUID:cc7dac66:f6ac1117:ca75576​​9:0e59d5c5 
イベント:67623 
 
メジャー番号マイナーRAIDデバイスの状態
 0 8 0 0アクティブ同期/dev/sda
 1 8 32 1アクティブ同期/dev/sdc
 4 0 0 4削除
 3 8 483アクティブ同期/dev/sdd
48 644アクティブ同期/dev/sde
58 165アクティブ同期/dev/sdb

68 192-スペア/dev/sdm

ご覧のとおり、デバイスはスペアとして表示され、アレイの他の部分との同期を拒否しています。

 root @ galaxy:〜#cat/proc/mdstat 
パーソナリティ:[raid6] [raid5] [raid4] 
 md0:アクティブraid6 sdm [6](S)sdb [ 5] sda [0] sde [4] sdd [3] sdc [1] 
 15627548672ブロックスーパー1.2レベル6、512kチャンク、アルゴリズム2 [6/5] [UU_UUU] 
ビットマップ: 17/30ページ[68KB]、65536KBチャンク
 
未使用のデバイス:

追加する前に_mdadm --zero-superblock /dev/sdm_を使用しても同じ結果が得られました。

RAID 6を使用している理由は、高可用性を提供するためです。これを解決するための回避策として、_/dev/md0_を停止し、_--assume-clean_または同様のもので再アセンブルすることは受け入れません。これはオンラインで解決する必要があります。そうしないと、mdadmを使用する意味がわかりません。

3
Milos Ivanovic

何時間ものグーグルと、#linux-raid FreenodeチャネルでのJyZyXELからの非常に賢明な支援を受けて、解決策が見つかりました!このプロセス中にRAIDアレイへの中断は1回もありませんでした。まさに、mdadmに必要で期待していたことです。

何らかの(現在不明な)理由により、RAID状態がフリーズしました。これを理解するための勝利コマンドはcat /sys/block/md0/md/sync_action

 root @ galaxy:〜#cat /sys/block/md0/md/sync_action
frozen

簡単に言えば、それが利用可能なスペアを使用していなかった理由です。簡単な猫のコマンドを犠牲にして私の髪はすべてなくなっています!

したがって、配列のフリーズを解除するだけです。

 root @ galaxy:〜#echo idle> /sys/block/md0/md/sync_action

そして、あなたは離れています!

 root @ galaxy:〜#cat /sys/block/md0/md/sync_action
recover
root@galaxy:~# cat /proc/mdstat
パーソナリティ:[raid6] [raid5] [raid4] 
 md0:アクティブraid6 sdm [6] sdb [5] sda [0] sde [4] sdd [3] sdc [1] 
 15627548672ブロックスーパー1.2レベル6、512kチャンク、アルゴリズム2 [6/5] [UU_UUU] 
 [> ....................]回収率= 0.0% (129664/3906887168)finish = 4016.8min speed = 16208K/sec 
ビットマップ:17/30ページ[68KB]、65536KBチャンク
 
未使用デバイス:
ルート@galaxy:〜#mdadm --detail /dev/md0
/dev/md0:
バージョン:1.2 
作成時間:2014年7月30日水曜日13:17:25 
 RAIDレベル:raid6 
アレイサイズ:15627548672(14903.59 GiB 16002.61 GB)
使用される開発サイズ:3906887168(3725.90 GiB 4000.65 GB)
 Raidデバイス:6 
合計デバイス:6 
永続性:スーパーブロックは永続的です
 
インテントビットマップ:内部
 
更新時間:2015年3月17日火曜日22:05:30 
状態:アクティブ、劣化、回復中
アクティブデバイス:5 
動作中のデバイス:6 
故障したデバイス:0 
スペアデバイス:1 
 
レイアウト:左対称
チャンクサイズ:512K 
 
再構築ステータス:0%完了
 
名前:Eclipse:0 
 UUID:cc7dac66:f6ac1117:ca75576​​9:0e59d5c5 
イベント:73562 
 
番号メジャーマイナーRAIDデバイス状態
 0 8 0 0アクティブ同期/dev/sda
 1 8 32 1アクティブ同期/dev/sdc
 6 8 192 2スペア再構築/dev/sdm
 3 8 48 3アクティブ同期/dev/sdd
 4 8 64 4アクティブ同期/dev/sde
 5 8 16 5アクティブ同期/dev/sdb

ブリス:-)

8
Milos Ivanovic