web-dev-qa-db-ja.com

/ proc / mdstat [U_] VS [_U]を理解する

私のサーバーはraid1でセットアップされています。数日前、sdaが完全に脱落し、データが破損しました。ドライブを交換し、パーティションテーブルのクローンを作成し、それぞれのアレイを追加しました。 sda3(MD2)を追加している間、sdbにI/Oエラーがあるため、再同期が失敗し続けました。保存できるすべてのファイルをsdb3からsda3にコピーし、raidを再構成して、sdbを新しいドライブに置き換えました。現在、sdbパーティションをアレイに追加しています。私の懸念は次のとおりです。

cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md3 : active raid1 sda4[0]
      1822442815 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda3[1]
      1073740664 blocks super 1.2 [2/1] [_U]

md1 : active raid1 sdb2[2] sda2[0]
      524276 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb1[2] sda1[3]
      33553336 blocks super 1.2 [2/2] [UU]

同期前にmd0とmd1の両方が[U_]として表示されるのに、なぜmd2が[_U]として表示されるのでしょうか。 sdb3を追加するとデータが失われるのではないかと心配しています。ここでの私の考えは、最初のスロット([U_])はmdadmによってプライマリと見なされ、2番目のスロット([_U])はセカンダリと見なされるため、sdb3と一致するようにデータが削除される恐れがあります。

お知らせ下さい。

ありがとう。

2
user1224344

私は心配しません。ここで起こったことは、md3が次のようなコマンドを使用して作成されたということだと思います。

mdadm --create /dev/md3 -l 1 -n 2 /dev/sda4 /dev/sdb4

もう1つは

mdadm --create /dev/md2 -l 1 -n 2 /dev/sdb3 /dev/sda3

他の2つの配列(md0とmd1)にもsdb、sdaの順序があることに注意してください。

あなたが超妄想になりたいのなら、先に進んでファイルを外付けドライブにバックアップしてください、しかしあなたが最終的にやることに取り掛かったとき私は疑っています

mdadm /dev/md2 -a /dev/sdb3

新しいパーティション(/ dev/sdb3)が既存のパーティション(/ dev/sda3)に同期されるため、リカバリはスムーズに進行します。リスト内の位置は重要ではありません。 LinuxソフトウェアRAIDは、何が有効で、最新の(不完全に同期された)パーティションが何であるかを記憶しています。

2
Mutant Bob