
驚いたことに、CentOS 7インストーラを使用すると、約17GBのディスクと26GBのディスクで構成されたRAID0デバイスを作成できました。許可されていても論理サイズは2 * min(17 GB, 26 GB) ~= 34 GB
。
$ cat /sys/block/md127/md/dev*/size
16955392
26195968
$ df -h |grep md
/dev/md127 44G 1.9G 40G 5% /
同じディスクケースと比較して、mdサブシステムのパフォーマンスはどうですか?これは、2つのディスクに対して単純なバランスストライピングを実行できないためです。
答え1
raid.wiki.kernel.org説明する:
RAID0 /ストライプモード:デバイスは同じサイズでなければなりません(必ずしもそうではありません)。 [...]あるデバイスが他のデバイスよりもはるかに大きい場合、RAIDデバイスは余分なスペースを利用し続けますが、RAIDデバイスの高度な書き込み中にこの大きなディスクにのみアクセスします。もちろん、パフォーマンスが低下します。
この表現は少し厄介ですが、mdadmのウィキペディアページそれはこう言います:
RAID 0 – ブロックレベルのストライピング。 MDはさまざまな長さのデバイスを処理でき、より大きなデバイスの余分なスペースはストライプされません。
したがって、サイズがそれぞれ4と2の「ブロック」の2つのディスクに単純化されている場合は、次のような結果が得られます。
disk0 disk1
00 01
02 03
04
05
「チャンク」04-05の読み取りはdisk0でのみ実行する必要があるため、ストライピングの利点はありません。md
デバイスは分割可能である必要があるため、デバイスの始まりと終わりにパーティションをテストして速度の違いが目立つことを確認できます。
答え2
マニュアルページからmd(4)
:
The RAID0 driver assigns the first chunk of the array to the first device, the second chunk to the second device, and so on until all drives have been assigned one chunk. This collection of chunks forms a stripe. Further chunks are gathered into stripes in the same way, and are assigned to the remaining space in the drives. If devices in the array are not all the same size, then once the smallest device has been exhausted, the RAID0 driver starts collecting chunks into smaller stripes that only span the drives which still have remaining space.
答え3
はい、パフォーマンスに影響します。あなたの場合、2つのディスクに2つのパーティションがあります。最初のパーティションは17GB、2番目のパーティションは26Gです。
raid0ディスクの最終サイズは約17+26=43GBです。最初の2 * 17 = 34 GBを書き込むときのパフォーマンスは通常と同じです。単一ディスクの約2倍です(十分なバススループットを想定)。最後の26〜17 = 9GBの書き込み時のパフォーマンスは1ディスクと同じです。
したがって、主にパフォーマンス上の理由でraid0を使用する場合は、パーティションサイズ間の大きな違いを避ける必要があります。
より大きなパーティションを作成するために小さいパーティションを使用するのと同じくらい簡単に使用することは、通常問題ではありません。この場合、いくつかの性能改善のさらなる利点を得ることができる。パフォーマンスに興味がない場合は、linear
代わりにraid0
ハードウェア障害が発生したときにデータをより簡単に回復できます。