Решения для работы с RAID-массивами жестких дисков используются очень давно.
В целом они продолжают пользоваться популярностью во многих приложениях, где требуется относительно недорогой отказоустойчивый массив высокой емкости.
Учитывая размер современных жестких дисков, их скорость, а также другие причины, наибольший практический интерес представляют массивы RAID6 (или RAID60, если дисков много).
Но этот тип массивов имеет низкую производительность на операциях случайной записи и сделать что-либо с ним непросто.
Конечно, в данном случае речь идет о скорости «сырого тома».
В реальной жизни добавляет файловую систему, операционную систему, приложения и все такое.
Так что на самом деле не все так плохо.
Однако существуют также программные и аппаратные способы повышения производительности, независимые от указанных подсистем.
Речь идет о технологиях кэширования, когда к массиву жестких дисков добавляется значительно более быстрый накопитель на базе флэш-памяти.
В частности, в RAID-контроллерах Adaptec эта технология называется maxCache, а ее версия 3.0 реализована в моделях ASR-8885Q и ASR-81605ZQ. При его использовании необходимо учитывать несколько особенностей: на контроллер допускается только один том maxCache, максимальный размер тома maxCache — 1 ТБ, для работы кэширования записи необходимо иметь отказоустойчивую конфигурацию тома maxCache. себя (например, зеркало).
При этом пользователь может самостоятельно указать для каждого логического тома, как именно он будет работать с maxCache — на чтение и/или запись и в каком режиме.
Для тестирования использовался сервер на базе материнской платы Supermicro X10SLM-F, процессор Intel Xeon E3-1225 v3 (4C/8T, 3,2 ГГц), 32 ГБ оперативной памяти, ОС Debian 9.
Тестируемый контроллер ASR-81605ZQ в стандартной комплектации имеет блок защиты памяти, а при работе с массивом жестких дисков у него активны кэши как чтения, так и записи.
Напомним, данная модель имеет 1 ГБ встроенной памяти.
Массив RAID6 с блоком 256 КБ был создан из шести жестких дисков Seagate ST10000NM0086 с интерфейсом SATA и емкостью 10 ТБ.
Общий размер тома составил около 36 ТБ.
SSD-накопителями для тома maxCache служили две пары устройств: два Samsung 850 EVO второго поколения 1 ТБ с интерфейсом SATA и два Seagate 1200 SSD (ST400FM0053) 400 ГБ с интерфейсом SAS, из которых были созданы массивы RAID1. Конечно, первую модель уже можно считать устаревшей, и не только морально.
Но для иллюстрации бюджетного сценария этого вполне достаточно.
Второй формально больше подходит к категории «корпоративных», но и современным его назвать сложно.
В настройках самого массива maxCache есть только опция Flush and Fetch Rate, которая осталась в значении по умолчанию (Medium).
Нет возможности выбрать приоритет по операциям или томам диска.
Обратите внимание, что диски не были в новом состоянии, и в этой конфигурации TRIM не используется.
После создания тома maxCache необходимо включить настройки его использования в свойствах логического тома.
Всего есть три варианта: включить кэш чтения, включить кэш записи и тип кэша записи.
В качестве инструмента тестирования использовалась утилита fio, а набор сценариев включал последовательные и случайные операции с разным количеством потоков.
Стоит отметить, что изучение производительности продуктов с технологиями кэширования с помощью синтетических тестов сложно признать оптимальным вариантом.
Лучше адекватно оценить эффект на реальных задачах, поскольку синтетическая нагрузка в определенной степени противоречит самой идее кэширования.
Кроме того, в данном случае мы рассматриваем низкоуровневые операции, но на самом деле пользователь обычно имеет дело с файлами и работа с ними включает в себя, как мы говорили выше, файловую систему тома, операционную систему и само программное обеспечение.
Так что именно синтетика, привлекательная своей простотой и повторяемостью, имеет смысл не сама по себе, а главным образом для сравнения «как было и как есть» в сложных для алгоритмов кэширования сценариях и достаточно грубой оценки эффекта.
Давайте сначала посмотрим, на что способен наш массив сам по себе.
Напомним, что в последовательных операциях интерес представляют скорость в МБ/с и задержки (в логарифмическом масштабе), а в случайных операциях — IOPS, а также задержки.
Скорость потоковых операций с массивом такой конфигурации находится на уровне 900 МБ/с.
При этом задержки не превышают 70 мс даже при большом количестве потоков.
Для жестких дисков случайные операции являются наиболее сложной нагрузкой, как видно из результатов.
Если установить порог времени ожидания в 100 мс, то можно получить около 1100 IOPS на чтение, а на запись, вне зависимости от нагрузки, массив может обеспечить около 300 IOPS. Отметим, что при массиве RAID60 из 36 дисков на одном контроллере можно получить более интересные цифры, благодаря конфигурации из трех блоков по 12 жестких дисков.
Это позволяет добавить чередование и увеличить скорость до 3500 и 1200 IOPS для случайного чтения и записи соответственно (в этой конфигурации стояли достаточно старые 2-ТБ SAS-винчестеры от HGST).
Отрицательной стороной этого варианта являются дополнительные затраты на том, поскольку на томе «теряется» не два диска, а по два на каждую группу.
Итак, без кэширования наш массив выглядит довольно печально для случайных операций.
Конечно, это «сырая» скорость тома и программы редко обеспечивают исключительно случайные загрузки (напомним, что здесь все-таки массив для хранения больших файлов, а не база данных).
Давайте посмотрим, как SSD могут помочь в этой ситуации.
В тестах будут использоваться четыре доступных варианта конфигурации — только чтение, чтение и запись, сквозная запись, чтение и запись, обратная запись, чтение и запись, мгновенная обратная запись:
- WB – обратная запись включена.
maxCache будет хранить данные на SSD и записывать их обратно на жесткие диски, когда это незначительно или вообще не влияет на производительность.
Это политика по умолчанию.
- INSTWB — включена мгновенная обратная запись.
В дополнение к политике по умолчанию, maxCache будет создавать грязные страницы на лету для полнополосной записи, если на SSD есть место и количество грязных страниц ниже порогового значения.
- WT - сквозная запись включена.
Аналогично мгновенной обратной записи, но запись по всей полосе осуществляется как в кэш, так и на жесткий диск, и грязные страницы на лету не создаются.
На этот раз графики будут отдельными — скорость и задержки для каждого из четырёх тестовых сценариев.
При операциях последовательного чтения массив показывает стабильные результаты вне зависимости от типа используемого кэша, что вполне ожидаемо.
При этом от массива без кэша они мало чем отличаются — все те же 900 МБ/с и задержка около 70 мс.
Есть две группы для последовательной записи — только чтение и с Write Back показывают результаты, аналогичные массиву без кэша — около 900 МБ/с и до 100 мс, тогда как Write Through и Instant Write Back способны добиться не более 100 мс.
МБ/с и со значительно более высокими задержками.
Напомним, что при чтении массив винчестеров показал максимум около 1100 IOPS, но на этом пределе задержки уже стали превышать 100 мс.
С SATA SSD-кэшированием можно добиться чуть лучших результатов — около 1500 IOPS и с такими же задержками.
Для операций случайной записи мы видим наибольший эффект — увеличение производительности в два с половиной раза с одновременным увеличением нагрузочной способности.
При использовании кэша задержки могут достигать 100 мс при увеличении числа потоков в два-три раза.
Общие выводы по данной конфигурации: последовательному чтению не мешает, в некоторых конфигурациях не мешает последовательной записи, при случайном чтении добавляет около 35%, при произвольной записи увеличивает производительность в пару раз.
Давайте теперь посмотрим на опцию тома кэширования для второй пары SSD-накопителей.
Отметим, что в нашем случае они имели существенно меньший объем, интерфейс SAS 12 Гбит/с и более высокие скоростные характеристики (заявленные производителем).
При последовательном чтении результаты не отличаются от приведенных ранее, что вполне ожидаемо.
На последовательной записи у нас теперь три группы — конфигурация с кэшем записи Write Through отстает, Instant Write Back показывает примерно половину максимальной скорости, и только Write Back не отличается от массива без кэша.
Та же ситуация и со временем ожидания.
Но при произвольном чтении Instant Write Back показала лучшие результаты, достигнув 2500 IOPS, в то время как другие конфигурации могут достигать только 1800 IOPS. Обратите внимание, что все варианты с кэшированием записи работают заметно быстрее, чем «чистый» массив.
При этом время ожидания не превышает 100 мс даже при большом количестве потоков.
В операциях произвольного чтения Instant Write Back вновь выходит вперед, показывая почти 2000 IOPS. Вторая группа содержит конфигурации сквозной записи и обратной записи с производительностью 1000 операций ввода-вывода в секунду.
Последний участник, не использующий кэш для операций записи, показывает около 300 IOPS, как и простой массив жестких дисков.
Возможно, самый интересный вариант для этого тома кэширования — это мгновенная обратная запись.
Правда, он медленнее выполняет потоковые операции чтения.
Это можно исправить, используя конфигурацию RAID10 для тома maxCache, но это уже будет стоить четыре отсека в корпусе хранения данных.
В целом можно сказать, что использование технологии maxCache действительно может быть полезно для повышения производительности массивов жестких дисков, особенно если нагрузка содержит много случайных операций.
Однако это нельзя считать столь же эффективным, как замена жесткого диска на SSD в настольном компьютере или рабочей станции.
Наибольший эффект, который был отмечен в тестах, — увеличение скорости случайных операций в 2-3 раза.
Разумеется, использовались не самые быстрые SSD, что явно сказалось на некоторых тестах (например, на последовательной записи в режиме Write Through).
Кроме того, хотелось бы еще раз обратить внимание на то, что выбор конфигурации кэширования существенно влияет на результаты.
Учитывая, что изменение настроек возможно «на лету» без потери данных, стоит самостоятельно проверить все варианты на своих задачах и выбрать лучший вариант. Теги: #Хранилище данных #Оптимизация сервера #Хранилище данных #HDD #Накопители #raid #adaptec #SDD
-
Компьютерщики И Садовые Гномы
19 Oct, 24 -
Микрофоны, Взгляд Подкастера №2
19 Oct, 24