Light-electric.com

IT Журнал
207 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ssd stripe size

SERVERSTECH

Обзор накопителя Intel DC S3700 100ГБ. Часть 2 — Влияние Strip Size на производительность RAID-0

На страницах Нашего ресурса уже был экспресс-тест накопителя Intel DC S3700 100ГБ, а также тестирование массива RAID-0 на базе двух подобных накопителей, где размер Strip’а был выбран по умолчанию, то есть 128 КБ, но чипсет С226 позволяет изменять данный размер. В теории размер страйпа/полосы должен оказывать влияние на производительность массива — большой strip выгоден для последовательных операций, малый — при работе с маленькими файлами. Но это в теории, проверим это на практике.

RAID-контроллер Intel в чипсете С226 позволяет выбрать следующие размеры полосы: 4, 8, 16, 32, 64 и 128 КБ. Протестируем все возможные режимы.

Тестовый стенд: Intel Xeon E3-1276v3, Supermicro X10SAE, Kingston DDR3-1600 ECC 8GB, Intel DC S3700

— CrystalDiskMark v5.1 x64;
— ATTO Disk Benchmark v3.05;
— PCMark 7 v1.4;
— PCMark 8 v2.3.

На последовательную запись без глубокой очереди размер strip’a не оказывает особого влияния — результаты находятся в рамках погрешности, а с последовательным чтением картина несколько иная: наиболее производительным оказываются массивы с размером страйпа 128 и 32 КБ, а наименее — 64 КБ. То есть для последовательных операций чтения всё-таки наиболее предпочтителен большой размер страйпа.

Операции с 4-килобайтными блоками без глубокой очереди не позволяют реализовать весь потенциал как отдельного накопителя, так и RAID-массива. Но главное здесь то, что на скорость записи размер страйпа имеет влияние — 16- и 64- килобайтные полосы показывают наихудшие результаты при чтении, а при записи худший результат за 8-килобайтной. Посмотрим как ситуация изменится с использованием очереди.

Использование очереди уровняло всех — ощутимой разницы между режимами нет: разница между самым быстрым (128 КБ) и самым медленным (8 КБ) режимами составила около 3,5% (что примечательно, наибольшую производительность при последовательных операциях показывает режим с большой полосой, а наименьшую — с малой).

А вот операции с 4-килобайтными блоками показывают иную картину — наибольшую производительность показывает массив с 8-килобайтным страйпом, а наименьшую — 128 (разница составила 5%), но. это касается лишь чтения, операции записи оказались равнодушными к размеру страйпа. То есть в операциях последовательного чтения выгодно смотрится большой размер strip, а в операциях с блоками 4КБ — малый размер strip.

ATTO Disk Benchmark

Бенчмарк ATTO более информативен — он показывает производительность на разных блоках. И здесь можно наблюдать резкие провалы производительности: наиболее стабильные кривые без резких провалов показывают режимы с 4- и 64- килобайтными полосами. Примечательно, что в области от 16 до 128 КБ 64-килобайтная полоса показывает меньшую производительность, чем 4-килобайтная, но отыгрывается после 256КБ.

График записи имеет немного другую зависимость — самым стабильным оказывается режим с 128-килобайтной полосой, который показывает лишь небольшой провал и лишь в области выше 32МБ.

Бенчамарк PCMark 7 отдает предпочтение 4-килобайтной полосе. Причем данный бенчмарк эмулирует определенные сценарии работы. то есть является менее синтетическим, чем АТТО.

Основной вклад в победу малой полосы внесли сценарии starting applications и Windows Media Center. Но это RAW-результат.

Здесь ситуация в целом не меняется, разве что сами результаты стали на порядок меньше.

PCMark 8 не заметил изменения параметров массива, уровняв всех в общем зачете. А замеренная пропускная способность отличается — наибольшая у 4-килобайтной полосы.

Подводя итог. можно сказать, что в большинстве приложений, как ни странно, показал большую производительность массив с размером полосы 4 КБ. Но по большому счету разница не превысила 10%, то есть размер полосы нет такая уж и критичная величина. По крайней мере это можно сказать про сочетание чипсета C226 и двухдискового RAID-массива из накопителей Intel DC S3700 100 GB в выбранных бенчмарках.
Продолжение следует.
Остальные материалы по RAID-массивам на базе SSD — здесь.

Максимальная производительность SSD на LSI контроллерах

Максимальная производительность SSD на LSI контроллерах

Добрый день! Уважаемые читатели и и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами рассматривали ситуацию, где у нас неправильно определялось оборудование в операционной системе и высвечивался код ошибки 10. Сегодня я хочу вам показать, как правильно настраивать на RAID контроллере LSI массивы с SSD, чтобы добиваться максимально производительности, можно назвать, это «Best practices» для связки SSD и LSI.

Постановка задачи

У меня есть не самый новый RAID контроллер LSI 9280-16i4e, это старенькая модель у которой всего 512 МБ кэша DDR 2 и чипом LSISAS2108 с интегрированным XOR процессором Power PC 800 МГц. Из этого можно понять, что он не особо предназначен для SSD, но и из него мы выжмем максимум. В моем примере я хочу создать массив из 6 SSD Dell, и добиться от него максимальной производительности.

Best practices для SSD+LSI

Данная статья будет чем-то похожа на аналогичную, про «Best practices для HP P410i», там я так же прокачивал скорость своих SSD дисков. Создавать я в своем примере буду RAID-0, так как на моем тестовом стенде мне нужна максимальная производительность и я не очень боюсь потерять эти данные, если кто не в курсе RAID-0, это объединение всех дисков в один массив, за счет чего достигается максимальная производительность, но минимальная отказоустойчивость, так как при выходе одного SSD, весь массив развалится, но сейчас очень сложно ушатать SSD диск, так как его ресурс очень большой, проверить его можно вычислив DWPD и TBW.

Давайте проведем восемь экспериментов:

  1. Тестирование одного SSD диска с базовыми параметрами предлагаемыми LSI контроллером
  2. Тестирование одного SSD диска с базовыми настройками, но измененным размером Stripe
  3. Тестирование одного SSD с рекомендуемыми настройками и базовым Stripe
  4. Тестирование одного SSD с рекомендуемыми настройками, но измененным размером Stripe
  5. Тестирование шести SSD дисков в массиве RAID-0 с базовыми настройками и стандартным размером Stripe
  6. Тестирование шести SSD дисков в массиве RAID-0 с базовыми настройками, но измененным размером Stripe
  7. Тестирование шести SSD дисков в массиве RAID-0 с рекомендуемыми настройками и стандартным размером Stripe
  8. Тестирование шести SSD дисков в массиве RAID-0 с рекомендуемыми настройками, но измененным размером Stripe

Создавать RAID массивы я буду через утилиту MegaRAID Storage Manager (MSM) и производить замер скорости SSD дисков в утилите CrystalDiskMark. В качестве хостовой операционной системы будет выступать Windows Server 2016.

Открываем утилиту MSM, я перехожу в раздел «Logical«, тут я вижу свои 6 SSD дисков Dell, они имеют статус Unconfigured Good (Не размечены).

Первый замер скорости будет с одним SSD и всеми базовыми параметрами. Выбираю свой RAID контроллер LSI 9280-16i4e, щелкаю по нему правым кликом и из контекстного меню я выбираю пункт «Create Virtual Drive

Выбираю режим «Advanced» и нажимаю «Next».

В RAID level выбираем RAID-0, кстати про разные виды RAID вы можете почитать мою статью. Из «Selrct unconfigured drives» вы через кнопку «Add» переносите диск в «Drive Group» и нажимаете кнопку для создания «Create Drive Group«.

После того. как будет создана «Drive Group» нажимаем кнопку «Next«.

Оставляем все настройки как есть, это:

  • Initialization — No Initialization
  • Stripe size — 256 kb
  • Read Policy — Always Read Ahead
  • Write policy — Write Back
  • I/O policy — Direct IO
  • Access policy — Read Write
  • Disk cache policy — Disable

Нажимаем кнопку «Create Virtual Drive» для создания массива.

Все мой RAID-0 создан, просто нажимаем «Next«.

Далее «Finish«. Вы должны увидеть «The virtual drive successfully created«.

В списке на вашем LSI 9280-16i4e вы можете увидеть новую группу.

Открываем оснастку управление дисками, для этого в окне «Выполнить» введите команду «diskmgmt.msc».

Создаем обычный том.

Тестирование производительности SSD на LSI контроллере

Тест №1.

Открываем CrystalDiskMark, выбираем наш диск, у меня это E:, тестировать я буду в три подхода 2-х гигабитным файлом. Нажимаем «All».

Начинается тестирование вашего SSD диска, процесс занимаем минут 5. Результаты по скорости копирования и чтения, а так же количество IOPS при разных видах, вы видите на скриншоте. При таком раскладе мой RAID контроллер LSI 9280-16i4e выдал максимально 52 000 IOPS на чтение и 36 000 IOPS на запись, среднячок.

Тест №2

Во втором тесте мы оставим наш виртуальный раздел в RAID-0, со всеми настройками кэширования, но единственное увеличим размер Stripe с 256 кб на 512 кб. Для этого в утилите MSM найдите ван виртуальный диск, щелкните по нему правой кнопкой мыши и выберите пункт «Delete Virtual Drive«.

Соглашаемся и удаляем наш виртуальный диск.

После чего создаем новый, как я описывал выше, единственное в «Stripe size» выберите значение 512 кб. Размечаем том и начинаем тестирование.

В итоге слегка подросла скорость чтения и записи при последовательном обращении, хочу отметить, что размер страйпа нужно выбирать исходя из специфики данных, это будет влиять на производительность.

Читать еще:  Как установить ssd m2 в ноутбук

Тест №3

Теперь опять удаляем текущий виртуальный диск и создаем уже, так как нужно с правильными настройками под SSD диск, чтобы максимально ускорить связку контроллера LSI и ваш твердотельный носитель. Тут вся соль заключается в правильных настройках политики и кэширования.

На шаге создания «Create Virtual Drive» выберите:

  • Stripe Size — 256 kb
  • Read Policy — NoRead Ahead
  • Write Policy — Write Trough
  • I/O Policy — Direct IO
  • Disk cache policy — Enable

Делаем тестирование в CrystalDiskMark. В результате мы слегка потеряли в последовательном чтении и записи, но посмотрите какой прирост производительности по операциям ввода/вывода и это с учетом того, что у меня просто древний контроллер, который с ссд дисками и не очень, то и дружен. Как видите только по чтению +8000 IOPS на 4Kib Q8t8, а на 4Kib Q32t1 +17 000 IOPS.

Тест №4

  • Stripe Size — 512 kb
  • Read Policy — NoRead Ahead
  • Write Policy — Write Trough
  • I/O Policy — Direct IO
  • Disk cache policy — Enable

Как видим при размете страйпа в 512 кб, чуть выше показатели по всем пунктам, в таком виде SSD максимально производителен, но вы можете еще поиграться с размером страйпа.

Тест №5

Тестирование шести SSD дисков в массиве RAID-0 с базовыми настройками и стандартным размером Stripe. Удаляем старый раздел и опять начинаем создавать новый, в режиме «Advanced», на вкладке «Create Drive Group» выберите RAID 0 в «RAID Level» и перенесите в новую группу все ваши твердотельные диски, после чего нажмите «Create Virtual Drive».

Оставляем настройки все как есть по умолчанию и создаем массив.

  • Initialization — No Initialization
  • Stripe size — 256 kb
  • Read Policy — Always Read Ahead
  • Write policy — Write Back
  • I/O policy — Direct IO
  • Access policy — Read Write
  • Disk cache policy — Disable

Размечаем новый том и приступаем к замерам производительности в CrystalDiskMark. Как видите за счет страйпа из шести SSD, скорость последовательного чтения и записи подросли, и тут я уже упираюсь в свой тестовый сервер, так как он больше не может через себя прокачать. 875 MB/s пока предел, давайте попробуем увеличить размер страйпа.

Тест №6

Тестирование шести SSD дисков в массиве RAID-0 с базовыми настройками, но измененным размером Stripe

  • Initialization — No Initialization
  • Stripe size — 512 kb
  • Read Policy — Always Read Ahead
  • Write policy — Write Back
  • I/O policy — Direct IO
  • Access policy — Read Write
  • Disk cache policy — Disable

Тут мы слегка увеличили количество операций ввода/вывода при чтении, но слегка потеряли на записи.

Тест №7

Тестирование шести SSD дисков в массиве RAID-0 с рекомендуемыми настройками и стандартным размером Stripe

  • Stripe Size — 256 kb
  • Read Policy — NoRead Ahead
  • Write Policy — Write Trough
  • I/O Policy — Direct IO
  • Disk cache policy — Enable

Как говорится почувствуйте разницу, просто резкое увеличение операций ввода/вывода, особенно на запись.

Тестирование скорости RAID 00


Еще мне интересно было протестировать скорость RAID 00 против RAID 0, так как LSI пишет, что он быстрее обычного страйпа, на деле это не так, у меня он оказался медленнее.

  • Stripe Size — 256 kb
  • Read Policy — NoRead Ahead
  • Write Policy — Write Trough
  • I/O Policy — Direct IO
  • Disk cache policy — Enable

ПК «Сплайн-Технолоджис»

Профессиональный подход.
Разумность решений.

Новости

Оптимизация производительности современных RAID систем

RAID системы, несмотря на весьма долгую по компьютерным меркам историю разработки и применения, продолжают совершенствоваться. Разработчики RAID контроллеров вне зависимости от сфер применения контроллеров часто добавляют новые возможности по их конфигурированию и настройке, но информации по их использованию часто недостаточно для понимания и, тем самым, применения. Как результат в подавляющем большинстве случаев RAID системы не реализуют до конца свои возможности, а пользователь вынужден ограничивать требования к RAID системам.

Мы попытаемся устранить эти «белые пятна» и дать возможность настройки производительности RAID системы в зависимости от тех задач, которые RAID система должна решать.

Разумеется, RAID системы используются для решения множества задач в самых разных областях. Но как бы ни было велико это разнообразие, с точки зрения RAID систем они используются всего в 2 взаимоисключающих ипостасях. Первая — работа с множеством небольших файлов, доступ к каждому из которых почти случаен для RAID контроллера. Примеров такого применения множество, это самая большая сфера деятельности для RAID систем — различные базы данных, web-серверы, почтовые серверы, файловые серверы и т.д. и т.п.

Общее требование к RAID системе для таких операций — максимальное количество операций ввода/вывода в единицу времени. Производительность RAID системы в этом случае определяется числом IO операций за секунду (IO per second или IOPS). Фактическим стандартом в мире для оценки производительности в IOPS стала бесплатная программа IOMeter, в свое время разработанная корпорацией Intel и затем переданная ей для развития как свободного Open Source проекта. На www.iometer.org вы всегда можете найти подробную информацию о проекте. Итак, первый профиль для оптимизации — настройка RAID системы для выполнения максимального количества операций ввода/вывода в секунду или maximum IO per second (IOPS).

Вторая весьма широкая сфера применения — запись/чтение линейных потоков данных. Самый понятный и известный пример таких данных — видео- аудио- потоки. Действительно, работа с несжатым видео высокого разрешения, например, требует для данных 1920 x 1080/60i 4:2:0 скорости записи не менее 117 MB/s. В реальности скорость RAID массива должна быть раза в два больше для комфортной работы. Обработка оцифрованного кино или данных с видеокамер киноразрешения требует скоростей, превышающих 250 MB/s, а для комфортной работы скорость должна быть под 400 MB/s. Но, кроме кино и видео, существует еще ряд задач, требующих высокой линейной скорости записи. Одна из самых типичных — обработка геофизических данных. Здесь нередки требования к минимальной скорости записи от 200 MB/s. Таким образом, идея второго профиля понятна, это максимально возможная полоса пропускания RAID (Maximum throughput). Понятно, что производительность здесь измеряется в мегабайтах в секунду. Для тестирования производительности подойдет как IOMeter, так и ряд других программ.

Расскажем о настройках RAID, не забывая упоминать, для какого профиля что именно предпочтительнее делать.

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

О важности этого параметра и о том, каким его выбирать, очень часто идут споры, в результате которых до сих пор окончательно истина так и не родилась, несмотря на популярность поговорки о полезности споров. Stripe size, параметр, обычно допускающий изменения даже в самых недорогих моделях RAID систем, означает размер блока данных, записываемый на каждый диск RAID массива в каждой stripe. Если, например, у вас RAID из 4 дисков, то задание stripe size в 64 kB принудит RAID контроллер записывать/читать данные блоками по 64 kB на/с каждый диск в массиве.

Исходя из здравого смысла, разумно полагать, что для работы с большими файлами в сотни мегабайт и более, т.е. для потоковых операций, следует выбирать максимально возможный размер stripe size, а для работы с множеством мелких данных выбирать если не минимальный размер, то близкий к минимальному. К сожалению, в данной ситуации надо руководствоваться не только здравым смыслом. Все дело в том, что разработчики RAID контроллеров отрабатывают и тем самым оптимизируют работу RAID практически для одного значения stripe size, и это значение обычно бывает либо 64 kB либо 128 kB.

Поэтому мы рекомендуем в том случае, если у вас нет достаточно большого времени на тестирование производительности RAID системы именно под вашу задачу, оставить значение по умолчанию. Ежели время есть, то только тестирование сможет выявить наилучший размер stripe size для ваших приложений. Разумеется, размеры stripe size меньше 32 kB лучше не тестировать, как правило, 16 kB или 8 kB слишком мало для любых задач.

Определяет размер блока, кратно которому процессор RAID контроллера будет читать/записывать данные в кэш-память контроллера. Этот параметр влияет на производительность очень опосредованно и мы рекомендуем выбирать его равным Stripe Size. Выбирать его значение большим, чем Stripe Size, кстати, запрещено в принципе.

Параметр Read Ahead multiplier (Множитель для упреждающего чтения) определяет, сколько секторов данных RAID контроллер должен заранее считать и положить в свою кэш-память, как бы упреждая запрос со стороны компьютера на считывание данных и тем самым ускоряя ответ на запрос. Правильное определение этого параметра целиком зависит от информации об используемом вами приложении. Понятно, что значение параметра должно быть, по крайней мере, не меньше, чем блок данных, запрашиваемый приложением. Если, например, вы знаете, что приложение считывает данные блоками по 16 байт, например, то значение Read Ahead multiplier надо выставить в 32.

Поскольку упреждать запрос от компьютера есть смысл только при последовательных операциях чтения, надо понимать, что при случайных обращениях к различным мелким данным на массиве, большОе значение Read Ahead multiplier может только замедлить работу системы. Поэтому лучше экспериментально проверить реакцию вашего приложения на изменение параметра, благо для этого не требуется заново инициализировать массив. Если вы настраиваете массив на максимальное количество операций ввода/вывода, то этот параметр правильнее отключать вообще с помощью Read Ahead Policy. Для работы с потоками, наоборот, значение этого параметра следует установить в диапазоне от 8 до 32, подобрав наилучшее значение экспериментально.

Читать еще:  Миграция системы на ssd

Этот параметр определяет, запускать или нет процедуру упреждающего чтения, и, если да, то каким образом. Обычно Read Ahead Policy может принимать три значения:

Always (Всегда) — упреждающее чтение выполняется всегда.

Adaptive (Адаптивно) — контроллер, обнаружив команды на последовательное чтение, сам включает (или выключает) упреждающее чтение.

Off (Выключить) — упреждающее чтение запрещается.

Рекомендуется здесь выбирать Adaptive, если RAID предназначен для решения широкого спектра задач и отдать тем самым принятие решения на откуп RAID контроллеру. Если RAID массив рассчитан на «переваривание» максимально возможного количества IOPS, то этот параметр обычно устанавливается в Off.

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

Параметр будет использоваться, разумеется, только при включенном в Adaptive или Always режиме Read Ahead Policy.

Параметр Write cache periodic flush (Периодическая очистка кэш-памяти на запись) определяет, как часто контроллер будет принудительно записывать данные из кэш-памяти на диски, очищая тем самым кэш-память от данных на запись. Смысл этого параметра в попытке управления надежностью системы. Чем чаше содержимое будет сбрасываться на диски, тем меньше вероятность повреждения данных в случае нештатных ситуаций, таких как обрыв питания, например.

Но, если кэш-память системы хранения защищена батареей или есть хотя бы UPS на системе хранения, то вполне можно это время увеличить или вообще ввести 0, тем самым запретив принудительную очистку кэш-памяти. Это приведет к тому, что график записи данных будет практически «плоским», без небольших провалов на время очистки кэш-памяти. Разумно запрещать периодическую очистку кэш-памяти при сбросе видео высокого разрешения, поскольку это, возможно, предотвратит потерю кадров.

Этот параметр может также называться Synchronize Cache. В этом варианте его запрет означает запрет на периодическую очистку кэш-памяти.

Параметр определяет, после какого уровня заполнения кэш-памяти на запись следует принудительно записать содержимое кэш-памяти на диски и измеряется в процентах. Здесь резонно соблюсти тот же подход, что и в Write cache periodic flush — если система достаточно защищена от аварий, то можно увеличить этот процент до 90.

Один из самых интересных параметров, влияющих, как правило, на производительность RAID системы вне зависимости от профиля производительности. Alignment offset (Выравнивающий сдвиг)позволяет сместить реальный стартовый сектор (реальный, разумеется, с точки зрения операционной системы) на требуемое число секторов. Это позволяет исключить «раскалывание» stripe на части и тем самым минимизировать количество внутренних операций ввода/вывода в RAID массиве. Идея Alignment offset иллюстрируется рисунком ниже.

Оптимальное значение этого параметра зависит как от операционной системы, так и от размера stripe size. Для Windows рекомендованные значения 63, Для *nix OS (и Mac) 64, но возможны и другие значения, зависящие от производителя системы хранения и типа конкретной файловой системы. Кроме этого, следует подбирать и размер одного блока данных (allocation unit, cluster и.п.), которым оперирует операционная система, причем этот параметр следует подбирать с учетом основного приложения, использующего RAID. В наших экспериментах прирост производительности за счет сдвига достигал 10%.

Мы планируем по мере появления новой информации корректировать и дополнять эту заметку. Надеемся, что она поможет оптимально использовать возможности современных систем хранения данных.

FAQ : RAID : Общие вопросы

В: Что такое RAID и зачем он нужен? Какой RAID лучше использовать?
О: Ответу на этот вопрос посвящен раздел [ RAID ].

В: Можно ли использовать в RAID массиве диски разного размера?
О: Да. можно. Но, при этом, используемая емкость у ВСЕХ дисков будет равна емкости наименьшего диска.
Из этого следует, что добавлять в уже существующий RAID массив можно только диски такого же или большего размера.

В: Можно ли использовать в RAID массиве диски разных производителей?
О: Да, можно. Но при этом надо иметь ввиду, что точные размеры дисков одинаковой емкости (36/73/146. ГБ) у разных производителей могут отличаться на несколько килобайт. Когда вы создаете новый RAID массив, на это можно не обращать внимание, но если вы добавляете диски к уже существующему массиву (например, меняете вышедший из строя диск), то важно, чтобы новый диск был больше чем старые, или точно такого же размера.

В: Что такое Write Through и Write Back?
О: Это способ записи данных, полученных RAID контроллером, на дисковый массив. По другому эти способы еще называются так: прямая запись ( Write Through ) и отложенная запись ( Write Back ). Какой из этих способов будет использоваться определяется в BIOS-е контроллера (либо при создании массива, либо позднее).

  • Write Through — данные записываются непосредственно на дисковый массив. Т.е. как только данные получены, они сразу же записываются на диски и после этого контроллер подает сигнал управляющей ОС о завершении операции.
  • Write Back — данные записываются сначала в кэш , и только потом (либо по мере заполнения кэш -а, либо в моменты минимальной загрузки дисковой системы) из кэш -а на диски. При этом, сигнал о завершении операции записи передается управляющей ОС сразу же по получении данных кэш -ем контроллера.

Write Back работает быстрее, но при этом надо помнить, что в случае сбоя питания все данные, которые находились в этот момент в кэш -е, будут потеряны. Причем, управляющая ОС (а следовательно и приложение, записывавшее эти данные) ничего об этом «не узнают», так как они уже получили сообщение от контроллера об успешном завершении записи. Например, если в кэше находились данные транзакции сервера СУБД, то СУБД будет уверенна, что с данными все хорошо, хотя на самом деле это не так.

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

Кстати, некоторые RAID контроллеры не позволяют включить функцию Write Back без установленного BBU .

В: Что такое BBU и зачем он нужен?
О: BBU (Battery Backup Unit ) необходим для предотвращения потери данных находящихся в кэш -е RAID контроллера и еще не записанных на диск (отложенная запись — «write-back caching»), в случае аварийного выключения компьютерной системы.

Существуют три разновидности BBU :

  • Просто BBU : это аккумулятор, который обеспечивает резервное питание кэша через RAID контроллер.
  • Переносимые (Transportable) BBU (tBBU): это аккумулятор, который размещен непосредственно на модуле кэш и питает его независимо от RAID контроллера. В случае выхода из строя RAID контроллера, это позволяет перенести данные, сохраненные в кэш -е, на резервный контроллер и уже на нем завершить операцию записи данных.
  • Flash BBU : основная идея заключается в следующем: в случае сбоя питания RAID контроллер копирует содержимое кэш -а в энергонезависимую память (например, в случае с технологией Adaptec »Zero-Maintenance Cache Protection — на NAND флэш накопитель). Питание, необходимое для завершения этого процесса, обеспечивается встроенным супер-конденсатором. После восстановления питания, данные из флэш памяти копируются обратно в кэш контроллера.

В: Что такое Hotswap?
О: Hotswap — Hot Replacement of Disks / Hot Swap (Горячая Перестановка / Горячая Замена Дисководов) — это возможность замены вышедших из строя дисководов без прерывания работы системы. Если в системе используется должным образом сконфигурированный RAID контроллер, управляющий избыточной дисковой системой ( RAID массивом), то отказ одного дисковода не приводит к прерыванию функционирования системы. В этом случае системой генерируется соответствующее сообщение для системного оператора. Через некоторое время, когда активизируется замещающий дисковод, системный оператор может удалить отказавший дисковод, установить новый дисковод, и дать контроллеру команду «восстановить» данные на новом дисководе, причем все это происходит без прерывания системных операций и выключения системы.

В: Что такое Hot Spare (Hotspare)?
О: Hot Spare — (Резервная Замена Дисководов («Горячее резервирование»)) — Одна из наиболее важных особенностей, которую обеспечивает RAID контроллер, с целью достичь безостановочное обслуживание с высокой степенью отказоустойчивости. В случае выхода из строя диска, восстанавливающая операция будет выполнена RAID контроллером автоматически, если выполняются оба из следующих условий:

  1. Имеется «резервный» диск идентичного объема, подключенный к тому же контроллеру и назначенный в качестве резервного, именно он и называется Hotspare ;
  2. Отказавший диск входит в состав избыточной дисковой системы, например RAID 1 , RAID 3 , RAID 5 или RAID 0+1 .
Читать еще:  Прога для ssd диска

Обратите внимание: резервирование позволяет восстановить данные, находившиеся на неисправном диске, если все диски подключены к одному и тому же RAID контроллеру.
«Резервный» диск может быть создан одним из двух способов:

  1. Когда пользователь выполняет утилиту разметки, все диски, которые подключены к контроллеру, но не сконфигурированы в любую из групп дисководов, будут автоматически помечены как «резервные» ( Hotspare ) диски (автоматический способ поддерживается далеко не всеми контроллерами).
  2. Диск может также быть помечен как резервный ( Hotspare ), при помощи соответствующей утилиты RAID контроллера.

В течение процесса автоматического восстановления система продолжает нормально функционировать, однако производительность системы может слегка ухудшиться.

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

В этом разделе использованы материалы с сайта «3dnews».

В: Что такое Copyback Hot Spare?
О: Copyback Hot Spare это функция RAID контроллера, которая позволяет пользователям закрепить физическое расположение диска «горячего резерва» ( Hot Spare ), что позволяет улучшить управляемость системы.

В: Что такое JBOD?
О: JBOD (Just a Bunch of Disks) это способ подключить диски к RAID контроллеру не создавая на них никакого RAID . Каждый из дисков доступен так же, как если бы он был подключен к обычному адаптеру. Эта конфигурация применяется когда необходимо иметь несколько независимых дисков, но не обеспечивает ни повышения скорости, ни отказоустойчивости.

В: Что такое размер страйпа (stripe size)?
О: размер страйпа ( stripe size ) определяет объем данных записываемых за одну операцию ввода/вывода. размер страйпа задается в момент конфигурирования RAID массива и не может быть изменен позднее без переинициализации всего массива. Больший размер страйпа обеспечивает прирост производительности при работе с большими последовательными файлами (например, видео), меньший — обеспечивает большую эффективность в случае работы с большим количеством небольших файлов.

В: Нужно ли заниматься архивированием данных в случае использования RAID?
О: Конечно да! RAID это вовсе не замена архивированию, основное его назначение это повышение скорости и надежности доступа к данным в нормальном режиме работы. Но только регулярное архивирование данных гарантировано обеспечит их сохранность при любых отказах оборудования, пожарах, потопах и прочих неприятностях.

RAID из SSD — находка или бессмыслица? (страница 2)

Страницы материала

Конфигурирование RAID

Энтузиасты наверняка знают, как выполнять эти действия, но для тех, кто только собирается знакомиться с массивами, подобный материал может быть полезным. Да простят меня сторонники AMD, объяснять я буду на примере указанного выше стенда «Wintelidia».

Прежде всего, необходимо переключить в BIOS режим работы чипсетного контроллера в режим RAID.

реклама

Предположим, с этим все хорошо. Если ОС еще не установлена, можно войти в меню самого контроллера и создать массив в его утилите. Для этого нужно успеть нажать CTRL+I во время загрузки.

Если же есть возможность загрузиться с отдельного диска, проще всего поставить фирменные драйверы Intel и воспользоваться консолью Rapid Storage Technology. При наличии подходящих дисков будет доступна кнопка «Создать».

реклама

Затем выполнить непосредственно настройку. Есть возможность не создавать RAID с нуля, а взять за основу одиночный диск с данными. Кроме того, для всех массивов (кроме «зеркала») можно выбрать размер полосы данных, он же размер страйпа (stripe size). Это определяет размер блоков, на которые разбиваются данные. Большие значения полезны для работы с большими файлами, маленькие – прежде всего для маленьких транзакций в стиле СУБД (хотя все сильно зависит от СУБД, типа массива, вида нагрузки, настроения разработчиков прошивки контроллера и прочих особенностей). Обычно лучше оставлять настройку по умолчанию.

В RAID-0 Intel рекомендует использовать 16 кбайт для SSD и 128 кбайт для HDD – так написано в справке. На практике же для SSD выставляется значение 32 Кбайта, так что для большинства сценариев буду использовать именно его.

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

Таким образом, повышается скорость операций записи, но одновременно увеличивается риск потери данных в случае сбоев. Мы все делаем «бэкапы» (правда ведь. ) и ждем от RAID-0 максимальной производительности, так что во всех тестах этих массивов кэш будет включен.

Можно управлять еще и кэшем самих дисков в массиве. Он включен по умолчанию. Для RAID-1 будет проведено измерение производительности без кэшей, поскольку если речь идет о надежности, то уже не до высоких скоростей.

Кстати, сценарий не такой уж экзотический. Windows Server, будучи контроллером домена, всегда отключает кэш системного диска. Если нет дискретного RAID контроллера, который слушается только своего драйвера, скорость жестких дисков упадет в несколько раз. Посмотрим, как ведут себя SSD.

В моем случае отключение кэша через Intel RST почему-то не работало – после перезагрузки он включался вновь. Пришлось воспользоваться «Диспетчером устройств», а именно снять галку «Разрешить кэширование записей для этого устройства» в свойствах RAID массива.

Эта настройка и Intel RST взаимосвязаны, после снятия галки параметр «Кэш данных диска» также переходит в состояние «Выключен» и остается таким после перезагрузок.

В итоге будут протестированы следующие конфигурации:

  • Vertex 3 RAID-0, размер страйпа 32 Кбайта;
  • Vertex 3 RAID-0, размер страйпа 128 Кбайт;
  • Vertex 3 RAID-0, подключение через порты SATA-II;
  • Vertex 3 RAID-0, медленный ЦП (активны два ядра, HT отключен, частота 2400 МГц, память 1066 МГц CL7);
  • Vertex 3 RAID-1, кэш массива и дисков включен;
  • Vertex 3 RAID-1, кэш массива и дисков выключен;
  • Crucial M4 RAID-0, размер страйпа 32 Кбайта;
  • Crucial M4 RAID-1, кэш массива и дисков включен;
  • Crucial M4 RAID-1, кэш массива и дисков выключен;
  • Одиночный Vertex 3;
  • Одиночный Crucial M4;
  • Жесткий диск WD5000AAKX.

реклама

Тестирование в классических бенчмарках

Crystal Disk Mark

Скорость линейного чтения, Мбайт/с

Включите JavaScript, чтобы видеть графики

Почти двукратный прирост скорости в RAID-0 вполне ожидаем. Размер страйпа не оказывает практически никакого влияния на больших файлах, процессорозависимость бенчмарка отсутствует. А вот SATA-II подключение резко ограничивает возможности системы до уровня одиночного устройства, подключенного через SATA-III.

Удивительно быстро работает RAID-1, не иначе как чтение осуществляется с двух накопителей одновременно. Раньше в тестах жестких дисков такого не наблюдалось, но то была более старая платформа и старые драйверы. При случае надо будет проверить парочку HDD. Скорость линейной записи, Мбайт/с

Включите JavaScript, чтобы видеть графики

На записи все меняется. Маленькие M4 слабы на запись, поэтому даже одиночный Vertex 3 обходит RAID-0 из двух дисков Crucial. Можно заметить, что отключенный кэш несущественно снижает скорость «зеркал». Скорость случайного чтения (блок 512 Кбайт), Мбайт/с

Включите JavaScript, чтобы видеть графики

реклама

Удивительно, но на чтении крупными блоками «страйпы» существенно замедляются и лидерами оказываются массивы RAID-1, причем без кэшей. На ошибку не похоже – и Vertex 3, и M4 ведут себя одинаково. Скорость случайной записи (блок 512 Кбайт), Мбайт/с

Включите JavaScript, чтобы видеть графики

В данном случае картина осталась похожей на ту, что была на линейной записи. Разве что механический диск замедлился почти вдвое. Скорость случайного чтения (блок 4 Кбайт), Мбайт/с

Включите JavaScript, чтобы видеть графики

Обычно так оно и происходит: во время проверки чистого времени доступа на чтение массивы только мешают. Скорость случайной записи (блок 4 Кбайт), Мбайт/с

Включите JavaScript, чтобы видеть графики

Маленькие запросы на запись можно кэшировать, поэтому производительность большинства систем значительно выше, чем на чтении. Исключение составляют конфигурации без кэша, особенно плачевно смотрится M4. Судя по всему, настройка отключает его 128-мегабайтный кэш, без которого SSD сваливается до уровня жесткого диска. А SandForce’ам кэш не ставят, им и так хорошо.

Кстати, обратите внимание, насколько сильно проявилась процессорозависимость. Загрузка ЦП в этом тесте действительно высока. Скорость случайного чтения (блок 4 Кбайт, длина очереди 32), Мбайт/с

Включите JavaScript, чтобы видеть графики

реклама

На глубокой очереди «марвеловские герои» просто потрясающи – сто тысяч IOPS за смешные деньги. Скорость случайной записи (блок 4 Кбайт, длина очереди 32), Мбайт/с

Включите JavaScript, чтобы видеть графики

Множество параллельных операций записи позволяют одиночному Vertex’у, зеркалам без кэша и системе с медленным CPU восстановить свою производительность. Все участники (кроме жесткого диска) работают как в сценарии с крупными блоками.

PCMark 7

Windows Defender, Мбайт/с

Включите JavaScript, чтобы видеть графики

importing pictures, Мбайт/с

Включите JavaScript, чтобы видеть графики

Video editing, Мбайт/с

Включите JavaScript, чтобы видеть графики

Windows Media Center, Мбайт/с

Включите JavaScript, чтобы видеть графики

adding music, Мбайт/с

Включите JavaScript, чтобы видеть графики

starting applications, Мбайт/с

Включите JavaScript, чтобы видеть графики

Включите JavaScript, чтобы видеть графики

storage score, баллы

Включите JavaScript, чтобы видеть графики

Разнообразие есть только в тесте importing pictures, в нем доминируют Vertex’ы.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector