Назад | Перейти на главную страницу

Насколько важен кеш жесткого диска в Linux softraid?

Я занимаюсь обновлением / расширением своих наборов дисков, но не совсем уверен, какие диски мне получить с точки зрения кеширования.

Какая разница между объемом дискового кеша 16/32/64 МБ по сравнению с емкостью, скажем, 1 / 1,5 / 2 ТБ SATA-дисков? Диски будут использоваться на сервере веб-приложений и на медиа-рабочей станции с softraid Linux в конфигурациях raid-1 / raid-5. Обратите внимание, поскольку обе цели предназначены исключительно для хобби, цена на дюжину дисков является большой проблемой.

Кэш и RAID имеют интересную взаимосвязь.

Дорогие RAID-контроллеры имеют встроенный кэш, и они отключают кэш диска (обычно). Причина в том, что RAID обычно предназначен для обеспечения безопасности ваших данных и повышения производительности. Кэш повышает производительность за счет надежности, потому что в случае отключения питания ваш кеш уходит, даже если программное обеспечение считало его безопасным. Это вызывает проблемы в программном обеспечении, которому действительно нужно знать, что данные существуют на диске. Такие вещи, как базы данных.

Батарея существует для записи данных в энергонезависимую память (в случае контроллера) или на физические диски в случае массива с батарейным питанием.

Программный RAID действительно не имеет такой возможности. Если диски сказали «хорошо, у нас есть данные», а затем отключилось питание, пока данные все еще находятся в кеше, это проблема. Нет NVRAM, который хранит данные, и диски не вращаются благодаря резервной батарее (во всяком случае, сами по себе. Для этого может быть доступно дополнительное программное обеспечение).

Я бы прочитал вопрос 9 в разделе «Рекомендации по установке» в Software RAID HOWTO: http://www.linuxjunkies.org/html/Software-RAID-0.4x-HOWTO.html#s3

У этих вопросов есть интересное чтение:
Диски SATA, которые правильно обрабатывают кеширование записи?
LVM зеркалирование VS RAID1

В любом случае, в ответ на ваш вопрос ... больший объем кеша диска дает ему больше места для "игры". Другими словами, на самом деле размещение вещей на диске требует больших затрат времени. Хранение вещей в памяти действительно дешево.

Производительность действительно будет зависеть от нагрузки, которую вы кладете на диски, и от того, где находится узкое место. У каждого шпинделя вашего диска есть статистика, называемая IOPS (операций ввода-вывода в секунду - http://adamstechblog.com/2009/02/10/how-to-calculate-iops-ios-per-second/), который определяет, насколько быстро он может положить биты на вращающиеся диски. Если вы загрузите на жесткий диск больше данных, чем он может поместить на диск, он будет использовать кеш. Если вы продолжите забивать его, он будет продолжать поступать в кеш. В момент заполнения кеша ваш компьютер ждет на диске очистки «грязных» данных (данных, которые необходимо записать).

Итак, с системой RAID у вас есть несколько дисков, которые загружаются, что увеличивает IOPS. После того, как вы добавите достаточное количество шпинделей, диск перестанет быть узким местом и станет транзитом для массива (вас еще нет, не беспокойтесь).

По сути, больший объем кеша дает вам больше пространства для маневра, когда дело доходит до сброса большого количества данных на диск (а). Если вы особенно заинтересованы в вводе-выводе, вы увидите улучшение.

С другой стороны, если вы, ваше программное обеспечение или ваш (на данный момент не существующий) RAID-массив отключает кеш диска, вы заплатили много денег ни за что.

В конце концов, если у вас есть выбор, получите меньший кеш в пользу более высокой скорости вращения.