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

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

Riad controller logoДобрый день! Уважаемые читатели и и гости одного из крупнейших 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.

Другие инструменты управления контроллерами LSI вы можете посмотреть по ссылке слева

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

Просмотр доступных дисков Unconfigured Good на LSI контроллере

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

Создаем Create Virtual Drive в MSM

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

Расширенный режим при создании raid lsi

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

Выбор вида raid на контроллере lsi под ssd

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

Успешно созданная Drive Group на контроллере LSI

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

  • 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" для создания массива.

Создание нового Create Virtual Drive

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

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

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

The virtual drive successfully created

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

Новый Lun из SSD на LSI контроллере

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

diskmgmt.msc

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

Создание нового тома из RAID-0 LUN

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

Тест №1.

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

Тестирование SSD в CrystalDiskMark

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

Результаты тестирования SSD в RAID-0 на LSI контроллере

Тест №2

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

Изменение настроек виртуального раздела

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

Удаление виртуального диска на LSI

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

Увеличение размера stripe

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

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

Тест №3

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

правильные настройки 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

максимальная скорость ssd для raiod-0

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


Результаты оптимизации настроек SSD на LSI

Про виды кэширования на контроллере LSI читайте по ссылке слева

Тест №4

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

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

best prictice ssd lsi

Тест №5

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

raid 0 из 6 ssd dell

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

  • 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

улучшение производительности ssd на LSI

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

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

Тест №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

как увеличить скорость ssd на LSI

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

как увеличить скорость ssd на LSI

Тест №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

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

Увеличение скорости ssd на LSI

Тестирование скорости 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 00

Надеюсь, что мой скромный опыт окажет вам неоценимую помощь в вашем проекте. Мы с вами разобрали процесс увеличения производительности SSD дисков на контроллерах LSI. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *