Я провожу некоторые эксперименты с гибридным 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 сможет пролить свет на мою проблему.