Насколько важен кеш жесткого диска с Linux softraid?
Я нахожусь в процессе обновления / расширения моих дисковых наборов, но не совсем уверен, какие диски получить, с точки зрения кэширования.
Какая разница в объеме дискового кэша 16/32/64 МБ, скажем, в емкостях SATA дисков 1 / 1,5 / 2 ТБ? Диски будут использоваться на сервере веб-приложений и на мультимедийной рабочей станции с программным обеспечением Linux в конфигурации raid-1/raid-5. Обратите внимание, что поскольку обе цели предназначены исключительно для хобби, ценник для дюжины дисков является большой проблемой.
1 ответ
Кэш и RAID имеют интересные отношения.
Дорогие RAID-контроллеры имеют встроенный кеш, и они отключают кеш диска (как правило). Причина в том, что RAID обычно предназначен для обеспечения безопасности ваших данных и повышения производительности. Кэш-память повышает производительность за счет надежности, потому что, если питание отключается, кэш-память уходит, даже если программное обеспечение считает, что это безопасно. Это вызывает плохие вещи в программном обеспечении, которое действительно должно знать, что данные существуют на диске. Такие вещи, как базы данных.
Батарея существует для записи данных в NVRAM, в случае контроллера, или на физические диски, в случае массива с батарейным питанием.
Программный RAID не имеет такой возможности. Если накопители сказали "хорошо, у нас есть данные", а затем питание отключается, пока данные все еще находятся в кеше, возникает проблема. Нет NVRAM, которая хранит данные, и диски не вращаются благодаря резервной батарее (в любом случае, самостоятельно. Для этого может быть доступно дополнительное программное обеспечение).
Я прочитал Вопрос 9 в разделе "Вопросы настройки" в разделе "Программный RAID HOWTO": http://www.linuxjunkies.org/html/Software-RAID-0.4x-HOWTO.html
У этих вопросов есть интересное прочтение:
Диски SATA, которые правильно обрабатывают кеширование записи?
LVM зеркалирование VS RAID1
В любом случае, в ответ на ваш вопрос... больше дискового кэша дает дисковому пространству больше возможностей для "игры". Другими словами, на самом деле размещение вещей на диске дорого с точки зрения времени. Хранить вещи в памяти действительно дешево.
Производительность действительно будет зависеть от нагрузки, которую вы кладете на диски, и от того, где находится узкое место. Каждый из дисков вашего диска имеет статистику IOPS (операций ввода-вывода в секунду - http://adamstechblog.com/2009/02/10/how-to-calculate-iops-ios-per-second/), которая определяет, как Быстро это может положить кусочки на вращающиеся тарелки. Если вы загружаете на жесткий диск больше данных, чем может поместить на диск, он использует кеш. Если вы продолжаете забивать его, он продолжает загружаться в кеш. В тот момент, когда кэш заполняется, ваш компьютер ждет на диске, чтобы очистить "грязные" данные (данные, которые необходимо записать).
Таким образом, с системой RAID у вас есть несколько дисков, которые загружаются, таким образом увеличивая IOPS. После того, как вы добавите достаточно шпинделей, диск перестает быть узким местом и становится транзитом к массиву (вы еще не там, не беспокойтесь).
По сути, больший объем кеша дает больше места для маневра, когда дело доходит до выгрузки большого количества данных на диск (и). Если вы особенно IO движимы, вы увидите улучшение.
С другой стороны, если вы, ваше программное обеспечение или ваш RAID-массив (в данный момент не существует) отключили кэш-память диска, вы заплатили много денег впустую.
В конце концов, если у вас есть выбор, получите меньший кеш в пользу более высокой скорости вращения.