Гибридный RAID (SDD+HDD) дает неожиданные результаты
Я делаю некоторые эксперименты с гибридным RAID в Linux. Мой тест состоит из следующего:
2x256GB SSD в RAID 0 (/ dev / md1)
2x256GB HDD в RAID 0 (/dev/md2)
Затем я превратил md1 и md2 в RAID 1 (/dev/md127) и пометил медленный жесткий диск (md2) как --write-главным образом.
По сути, моя цель - получить максимальную производительность и дисковое пространство от моих SSD, но в то же время быть "защищенным" от сбоев дисков. Я понимаю, что потеря одного из SSD означала бы, что я использую медленные жесткие диски, но это цена, которую я готов заплатить по сравнению с потерей всех данных. Кроме того, пройдет всего несколько часов, пока сломанные 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
Теперь, простое тестирование производительности трёх рейдовых устройств дает (для меня) удивительные результаты:
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 дает 870 МБ / с
RAID 0 HDD дает 270 МБ / с
RAID 1 HYBRID дает 437 МБ / с.
Поскольку рейд на жестком диске был помечен как --write-главным образом, я бы предположил, что тест на чистое чтение вообще не коснется жесткого диска, так что же здесь происходит? Я бы предположил, что гибридный тест даст те же результаты, что и чистый RAID 0 SSD.
На первый взгляд, похоже, что жесткий диск каким-то образом замедляет RAID, будучи частично использованным для чтения (хотя я и сказал ему не делать чтения на жестком диске). Однако, если у меня есть копия файла, работающая на жестких дисках во время выполнения теста hdparm, я получаю тот же результат! Если бы использовались жесткие диски, я бы предположил, что эталонный тест даст еще более медленные результаты, если жесткие диски будут использоваться для других задач во время эталонного теста.
Я надеюсь, что какой-нибудь эксперт по Linux raid сможет пролить свет на мою проблему. Спасибо!