UbuntuシステムのRAID1ソフトウェアRAIDパーティションで次の問題が発生しています(重要な場合は、10.04 LTS、2.6.32-24サーバー)。
私のディスクの1つ(sdb5)がI / Oエラーを報告したため、アレイで障害があるとマークされました。その後、アレイは1つのアクティブデバイスで劣化しました。したがって、私はハードディスクを交換し、パーティションテーブルを複製し、すべての新しいパーティションをRAIDアレイに追加しました。すべてのパーティションを同期した後、そのうちの1つを除いて、アクティブなデバイスが2つある状態で問題なく終了しました。ただし、以前に障害のあるディスクを報告したパーティションには、新しいパーティションがアクティブデバイスではなくスペアディスクとして含まれていました。
md3 : active raid1 sdb5[2] sda5[1]
4881344 blocks [2/1] [_U]
詳細な外観は明らかにします:
root@server:~# mdadm --detail /dev/md3
[...]
Number Major Minor RaidDevice State
2 8 21 0 spare rebuilding /dev/sdb5
1 8 5 1 active sync /dev/sda5
それで、ここに質問があります:raidにスペアディスクをアクティブなディスクに変えるように伝えるにはどうすればよいですか?そして、なぜそれがスペアデバイスとして追加されたのですか?これはルートパーティションであるため、アレイを再作成または再構築することはできません。そして、私はSoftware Raid HOWTOでその主題のヒントを見つけることができません。
任意の助けいただければ幸いです。
現在のソリューション
私は自分の問題の解決策を見つけましたが、これが実際の方法かどうかはわかりません。私のレイドを詳しく見てみると、sdb5は常にスペアデバイスとしてリストされていることがわかりました。
mdadm --examine /dev/sdb5
[...]
Number Major Minor RaidDevice State
this 2 8 21 2 spare /dev/sdb5
0 0 0 0 0 removed
1 1 8 5 1 active sync /dev/sda5
2 2 8 21 2 spare /dev/sdb5
そのため、デバイスsdb5をアレイmd3に読み込むと、常にデバイスをスペアとして追加することになります。
最後に、アレイを再作成しました
mdadm --create /dev/md3 --level=1 -n2 -x0 /dev/sda5 /dev/sdb5
うまくいった。
しかし、質問は未解決のままです。スーパーブロック内の要約を操作し、アレイにsdb5をスペアディスクからアクティブディスクに変換するように指示するより良い方法はありますか?私はまだ答えを知りたいです。