mdadmの「スペア」番号は何を意味しますか?


8

次のコマンドを使用して、6台のハードドライブからmdadmベースのRAID 5を作成しました。

# mdadm --create /dev/md0 --level=5 --raid-devices=5 \
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 \
--spare-devices=1 /dev/sdg1

アレイには1つのホットスペア、つまり/ dev / sdg1が必要でした。ただし、チェックするとmdadm --detail2つのスペアが表示されます。

# mdadm --detail --scan 
ARRAY /dev/md0 metadata=1.2 spares=2 name=...

また、に示されているアレイサイズdfは2 TBであり、これは使用中の500 GBドライブのうち4つだけに相当します。

では、正確にはどのような意味--spare-devicesですか?マニュアルページには、「初期アレイのスペア(eXtra)デバイスの数を指定します」と記載されていますが、ここではそうではありません。


1
RAID 5は、1つのデバイスに相当するパリティを使用します。わからない。これが私がこれをコメントにしている理由ですが、それはおそらくそれと関係があるのでしょうか?(mdadm --detail「スペア」カウントにパリティドライブを含めます。)これは、ホットスペアのないRAID 6アレイを作成することで確認できます。私の理論が当てはまる場合、スペアも2と表示されます。
CVn 2013

2
標準のRAID用語では、スペアとは、別のディスクに障害が発生した後、アレイを再構築するために自動的に起動することができる、ほとんど使用されていない非アクティブなディスクです。パリティディスクはスペアディスクではありません。また、スペアディスクの数は、データが危険にさらされる前に故障する可能性のあるディスクの数ではありません。(数値は明確に定義されていません。4ディスクRAID 10は最大2つのディスク障害を処理できますが、2つのディスク障害で
停止

4
私はよ推測そのはまだ初期の配列のinit-それが2つのスペアの1への「再構築」さをやっているので、次の2つのスペアを見ています。それは(によるチェックの進捗状況完了するとcat /proc/mdstat)、私はあなたが1期待見ると思う
derobert

@derobert、あなたは正しい:最初の再構築が完了した後、mdadm --detail --scanからARRAY / dev / md0メタデータ= 1.2スペア= 1名前= [...]と/ proc /から同等の情報を取得しましたmdstat。
jstarek 2013

回答:


4

その出力は正しいです。5つのディスクでRAID 5を作成しました(そのうち4つだけがスペースに「使用」されます)。そして、予備のドライブを追加しました。

したがって、実際にはRAID 5があり、1つのディスクの障害と予備のドライブを1つ追加できます。

必要なものが実際に6ディスクのRAID 5で5ディスクのスペースがある場合は、コマンドを次のように変更する必要があります。

mdadm --create /dev/md0 --level=5 --raid-devices=6 \
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1

ただし、この場合は、RAID 5の仕様に従って1つのディスク障害しか許容できません。

編集:公式のRAIDページからリンクを追加します。RAID5と6つのディスクが表示され、spare = 1: 最初のアレイの作成と表示されます。

更新: raid 5をシステムに作成することにしました。アレイがクリーンな状態になると、スペアの値が消えます。

   Raid Devices : 4
  Total Devices : 4
              State : clean, degraded, recovering
     Active Devices : 3
    Working Devices : 4
     Failed Devices : 0
      Spare Devices : 1

きれいな状態:

   Raid Devices : 4
  Total Devices : 4
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

したがって、これはOPコメントとして、最初のRAID 5の作成中、RAIDビルド/同期が完了するまでスペアドライブを持っています。


1
あなたがリンクしているWikiページの重要な情報は次のとおりだと思います。「raid5の場合、最適化があります。mdadmはディスクの1つを取り、それを「スペア」としてマークします。その後、縮退モードでアレイを作成します。」-これは、上記のコメントでderobertが行った観察とうまく一致します。それとは別に、あなたは私の質問を誤解しているようです。2 TBについて言及することは単なる観察でした。
jstarek 2013

3

明確にするために、私はデロベルトとアレクサンドルアルベスによって与えられた情報と、私の私のいくつかのさらなるテストをここに集約します:

mdadm--spare-devicesパラメータは、マニュアルページに記載されているとおりに機能します。つまり、アレイ内の「ホットスペア」ドライブの数を定義します。「ホットスペア」は、通常のRAID用語と同様に、RAID 5またはRAID 6アレイに存在する追加のドライブとは何の関係もありません。これは、アレイ内のドライブが引き継がれるとすぐに引き継ぐことを意図した追加のドライブです。失敗した。

スペアドライブの数は、アレイの作成時に指定されます。後で、を使用して確認できます#mdadm --detail --scan

ただし、mdadmベースのRAID 5の初期化の短い期間中に、https://raid.wiki.kernel.org/index.php/Initial_Array_Creationで説明されている最適化が行われ、追加のスペアドライブがそのコマンドの出力:

「raid5には最適化があります。mdadmはディスクの1つを取り、それを「スペア」としてマークします。次に、劣化モードでアレイを作成します。カーネルはスペアディスクを「再構築」としてマークし、「良好」から読み取りを開始しますディスク、パリティを計算し、スペアディスク上にあるべきものを決定してから、それに書き込むだけです。」

アレイの初期化が完了すると、報告されたスペアの数は作成時に選択された数に戻ります。

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