Linuxでは、ハイブリッドRAIDを使用していくつかの実験を行っています。私のテストには以下が含まれます。
RAID 0(/dev/md1)の2x256GB SSD
256GBハードドライブ2台、RAID 0(/dev/md2)
その後、md1とmd2をRAID 1(/ dev / md127)にし、遅いHDD(md2)を--write-mostlyとしてマークしました。
基本的に私の目標は、SSDで最大のパフォーマンスとディスク容量を確保しながら、ドライブエラーから「安全」になることです。 SSDの1つを失うと、より遅いHDDを使用する必要があることがわかりますが、すべてのデータを失うのに比べて、その程度は喜んで支払うことになります。さらに、破損したSSDを交換してRAIDを回復するのに数時間しかかかりません。
root@s1 / # cat /proc/mdstat
Personalities : [raid0] [raid1] [linear] [multipath] [raid6] [raid5] [raid4] [raid10]
md2 : active raid0 sdd1[1] sdc1[0]
498802688 blocks super 1.2 512k chunks
md127 : active raid1 md1[2] md2[1](W)
498671616 blocks super 1.2 [2/2] [UU]
bitmap: 1/4 pages [4KB], 65536KB chunk
md1 : active raid0 sdb2[1] sda2[0]
498802688 blocks super 1.2 512k chunks
3つのRAIDデバイスで簡単なスループットベンチマークを実行すると、驚くべき結果が得られます。
root@s1 / # hdparm -t /dev/md1
/dev/md1:
Timing buffered disk reads: 2612 MB in 3.00 seconds = 870.36 MB/sec
root@s1 / # hdparm -t /dev/md2
/dev/md2:
Timing buffered disk reads: 812 MB in 3.01 seconds = 270.14 MB/sec
root@s1 / # hdparm -t /dev/md127
/dev/md127:
Timing buffered disk reads: 1312 MB in 3.00 seconds = 437.33 MB/sec
RAID 0 SSDは870MB /秒を提供します。
RAID 0 HDDは270MB /秒を提供します。
RAID 1ハイブリッドは437MB /秒を提供します。
HDD raidに--write-mostlyが表示されているので、読み取り専用テストではHDDにまったく影響を与えないと仮定しますが、ここで何が起こっているのでしょうか?ハイブリッドベンチマークは、純粋なRAID 0 SSDと同様の結果を提供すると想定しています。
一見すると、HDDが部分的に読み取り用に使用され(HDDから読みないように言われたが)、何とかRAID速度を遅くするように見えます。しかし、hdparmベンチマークの実行中にHDDからファイルのコピーを実行すると、同じ結果が表示されます。 HDDを使用している場合、ベンチマーク中にHDDを他のタスクに使用すると、ベンチマークの結果が遅くなると想定します。