Гибридный RAID (SSD+HDD) дает неожиданные результаты

Гибридный RAID (SSD+HDD) дает неожиданные результаты

Я провожу некоторые эксперименты с гибридным RAID в Linux. Мой тест состоит из следующего:

2x256 ГБ SSD в RAID 0 ( /dev/md1)

2x256 ГБ HDD в RAID 0 ( /dev/md2)

Затем я объединил md1 и md2 в RAID 1 ( /dev/md127) и обозначил медленный жесткий диск (md2) как --write-mostly.

По сути, моя цель — получить максимальную производительность И дисковое пространство от моих SSD, но в то же время быть «защищенным» от сбоев дисков. Я понимаю, что потеря одного из SSD будет означать, что мне придется вернуться к медленным 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

Теперь запуск простого теста пропускной способности на трех 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 дает 870 МБ/сек

RAID 0 HDD дает 270 МБ/сек

RAID 1 HYBRID дает 437 МБ/сек.

Поскольку HDD raid был помечен как --write-mostly, я бы предположил, что чистый тест чтения вообще не затронет HDD, так что же здесь происходит? Я бы предположил, что гибридный бенчмарк даст такие же результаты, как чистый RAID 0 SSD.

На первый взгляд кажется, что HDD каким-то образом замедляет RAID, частично используясь для чтения (хотя я сказал ему не делать чтения на HDD). Однако, если у меня есть копия файла, запущенная на HDD во время выполнения теста hdparm, я получаю тот же результат! Если HDDбылиЯ предполагаю, что если бы жесткие диски использовались для других задач во время теста, результаты были бы еще ниже.

Надеюсь, какой-нибудь эксперт по Linux RAID сможет пролить свет на мою проблему.

Связанный контент