Может ли Linux RAID 1 обеспечить высокую задержку?

Может ли Linux RAID 1 обеспечить высокую задержку?

Сценарий: мы запускаем большую (всего 3 ТБ в кластере) установку Solr в EC2. Меня беспокоит только производительность диска на стороне чтения. Мы подозреваем, что ограничены дисковым вводом-выводом и, в частности, сталкиваемся с проблемами, когда том EBS начинает давать сбои и замедляться.

Я думаю попробовать RAID 1. Насколько я понимаю, программный RAID Linux разделит чтение между дисками, но я не уверен, насколько это разумно. Если один из дисков в паре RAID 1 будет резервироваться при чтении, отправит ли он больше чтений на другой диск? Если чтение слишком долго откладывается, перенесет ли он это чтение на другой диск?

Я не могу придумать способа проверить это поведение. Я бы с удовольствием посмотрел код, но я даже не уверен, будет ли это обрабатываться планировщиком ввода-вывода или это часть драйверов RAID. Я не могу найти никакой документации, которая бы углубилась в это глубже, чем Software RAID HowTo.

решение1

Балансировка чтения выполняется в драйверах md в ядре; drivers/md/raid1.c

Он не супер умный. Он пытается минимизировать поиски и все. Я не уверен, что какая-либо из реализаций RAID настолько умна, как вам хотелось бы...

Достаточно ли памяти в ваших системах? Если она действительно интенсивно читается, кэширование должно немного помочь.

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