Собираем быстрый современный NAS для дома и небольшой студии. Часть 4 - контроллеры HP P410 и LSI 9240-8i

15.05.2018

Собираем быстрый современный NAS для дома и небольшой студии. Часть 4 - контроллеры HP P410 и LSI 9240-8i

Во второй части нашей статьи про сборку домашнего быстрого NAS, мы выбрали бюджетную материнскую плату Asus Prime J3355-C, именно из-за того, что она имеет 1 слот PCI Express 4x, в который мы установим дискретный контроллер для подключения всех винчестеров и SSD в нашей системе. Давайте рассмотрим, какие контроллеры бывают и определимся с выбором.

HBA или RAID?

Существует два типа дисковых контроллеров - Host Bus Adapter (HBA) и RAID. Первый представляет собой интерфейсную плату, имеющую несколько комбинированных внешних и внутренних портов SAS/SATA.

RAID-контроллер отличается от HBA тем, что умеет производить расчеты контрольных сумм (XOR), которые лежат в основе самых востребованных типов массивов - RAID 5 и RAID 6. Раньше эти вычисления считались очень ресурсоемкими, поэтому на RAID-контроллерах устанавливались мощные RISC-процессоры для расчета XOR. Сегодня же тренд совершенно обратный - все сложные операции берут на себя CPU компьютеров и, как показывает практика, даже дохлый Intel Atom первого поколения на программном уровне легко справляется с вычислениями контрольных сумм RAID 5/6, чего уж говорить про такие процессоры как Intel Xeon или Xeon D. Контроллеры, имеющие встроенный процессор (их еще называют XOR-процессор), принято называть «железными RAID», «честными RAID» или «настоящими RAID». Контроллеры, которые возлагают расчет XOR на CPU, обозначают терминами «софт RAID», «фейковый RAID» или «хост RAID».

ZFS или Btrfs?

Тенденции последних лет ведут к тому, что операционная система сама создает дисковый массив на уровне файловой системы. Лучший тому пример - ZFS, файловая система, имеющая функции дедупликации и сжатия данных на лету. Для её работы крайне желательно, чтобы ядро операционки имело прямой доступ к каждому диску для контроля состояния сбойных блоков, мониторинга S.M.A.R.T. и реализации всех своих функций масштабирования и отказоустойчивости. Фактически, в таком режиме контроллер работает просто как интерфейс SAS/SATA, поэтому не важно какие функции на нем есть, есть ли на нем кэш или какие-либо другие «фишки» - все что надо, сделает операционная система.

В то же время, ZFS не является 100%-отказоустойчивым решением, и целая армия поклонников аппаратного RAID считают, что лучше использовать более простые нересурсоемкие файловые системы, такие как Btrfs или EXT4, а работу с дисками доверить полноценному RAID-контроллеру. Такое решение имеет один существенный минус - не каждая операционная система позволит мониторить параметры дисков в RAID массиве и уж тем более предупреждать о сбойном жестком диске.

Файловая система ZFS по умолчанию используется в операционной системе FreeNAS, а так же в гипервизоре Proxmox, и для этих случаев нужен HBA-контроллер с режимом прямого доступа к дискам. Аппаратный же RAID можно использовать для NAS-оболочки Openmediavault или для гипервизора VMware ESXi.

Итого: выбираем RAID контроллер для OpenMediaVault или HBA для FreeNAS.

Требования к RAID контроллеру для OpenMediaVault

На небольших дисковых массивах лучше использовать RAID 5, как наиболее эффективный по объему, поэтому наш контроллер должен иметь встроенную кэш-память для быстрой записи. Обычно, объем кэша составляет от 64 до 128 Мб, и если у вас меньше 8 дисков, размер встроенной памяти не влияет на скорость, тем более в NAS-е. Учитывая нашу конфигурацию, требования к контроллеру следующие:

  • Интерфейс PCI Express
  • Не менее 6 внутренних портов SAS/SATA
  • Поддержка RAID 5
  • Встроенный кэш
  • Низкопрофильный размер

Скорость интерфейсов SAS/SATA не имеет особого значения, так как все контроллеры, выпущенные за последние 10 лет, имеют пропускную способность дискового интерфейса от 300 Мб/с и выше, а сетевой порт на материнской плате ограничен 110 мегабайтами в секунду.

Новый или БУ?

Самый дешевыми RAID-контроллерами, удовлетворяющими нашим требованиям, стали:

  • Adaptec (Microsemi) 8805 - 37 000 рублей
  • LSI MegaRAID 9261-8i - 27 000 рублей

Такие траты никак не вписываются в идею создания дешевого быстрого NAS-а - рынок поделен, производители в сговоре, благо у нас есть огромный рынок подержанного серверного оборудования, и вспоминая пункт 5 нашего руководства по покупке б.у. серверов, я считаю, что RAID-контроллер, не поддерживающий SATA-600, должен стоить копейки, тем более что у нас на материнской плате есть 2 порта SATA-600, к которым мы можем подключить SSD для кэширования.

Решение принято - ищем Б.У.

Нужен ли SSD кэш на контроллере?

Это очень сложный вопрос. Некоторые RAID-контроллеры, такие как LSI 9260-8i, могут хранить часто запрашиваемые данные на SSD, но данная функция требует лицензионного ключа и работает независимо от операционной системы. Аппаратный SSD кэш был востребован 6-7 лет назад, но сегодня его преимущества неоднозначны - запись горячих данных на SSD делается операционной системой, но прежде чем попасть на твердотельный диск, данные кешируются в памяти сервера.

Я считаю, что для NAS-а функцию SSD-кэширования надо настраивать софтом.

Оптимальный выбор для OpenMediaVault - HP P410

HP SmartArray P410 - это уникальный в своем роде контроллер, его как будто специально создавали для вторичного рынка. Он поддерживает SAS-600, но не поддерживает SATA-600, из-за чего он совершенно не нужен в домашнем игровом компьютере. Он не может работать в режиме HBA, поэтому для FreeNAS его не рекомендуют, хотя данная модель там работает, если заранее сконфигурировать логический том в другой операционной системе и презентовать ZFS уже целиком массив как логический диск.

SmartArray P410 имеет 8 внутренних портов и отдельный модуль кэш-памяти объемом 256, 512 Мб или 1024 Мб, причем 256-мегабайтный кэш представляет собой обычную память DDR2-800 и подключается к аккумуляторам (BBWC - Battery Backuped Write Cache) для защиты от перебоев электропитания, 512-мегабайтный модуль, как и 1024-мегабайтный, уже является тандемом из чипов DDR2 800 DRAM и флэш памяти, на которую сбрасывается кэш при отключении электричества, а вместо батареи здесь используется супер-конденсатор. Такая технология позволяет хранить закешированные данные в памяти контроллера вечно, в то время как обычный аккумулятор емкостью 650 мАч поддерживает питание памяти не более 2 часов. Пропускная способность кэша составляет 800 Мб/с, на век нашего NAS - хватит.

Средние цены на HP P410:

  • Российские фирмы, торгующие Б.У. - 4000 рублей за версию с 256 Мб без батарейки
  • Российские частники на Avito - 3000 рублей за версию с 256 Мб без батарейки
  • Aliexpress - 2300 рублей за версию с 256 Мб и батарейкой
  • Ebay - 1500 рублей, включая доставку, за версию с 512 Мб и супер-конденсатором

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

Совместимость с железом не от HP

Основных вопросов перед покупкой четыре:

  • будет ли контроллер HP работать в материнской плате «не HP»?
  • будет ли он работать с дисками не от HP?
  • будет ли он поддерживать SATA-600 диски?
  • будет ли он поддерживать диски объемом более 2 Тб?

На первые три вопроса один ответ - да! Привязка вендора к комплектующим обеспечивается за счет BIOS-а серверов, а не компонентов, поэтому HP P410 будет работать в материнских платах Asus, Gigabyte, MSI с жесткими дисками WD, Hitachi, Toshiba и Seagate и другими. SATA-600 диски обратно совместимы с SATA-300, поэтому здесь волноваться не о чем. Для совместимости с жесткими дисками объемом более 2 Тб, может потребоваться обновление прошивки до версии 5.0 или выше, самая свежая версия которой (6.64) располагается по этому адресу.

Контроллер HP P410 построен на базе процессора PMC PM8011, это Raid-on-Chip от компании PMC-Sierra, которая вместе с Adaptec ныне входит в холдинг Microsemi. Информации об этом чипе в открытом доступе нет, и кроме серверов Hewlett Packard, он больше нигде не используется, но его ближайший аналог, PMC PM8013 устанавливался на контроллеры Adaptec 6805. Процессор PMC PM8011 очень горячий, поэтому сверху его радиатор закрыт тепловым экраном, который можно снять, чтобы улучшить охлаждение от системного вентилятора корпуса, а можно оставить, чтобы RAID-контроллер не расплавил виброизоляцию, нанесенную на стенку корпуса в первой части статьи.

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

Capacitor backup module состоит из двух 35-Фарадных конденсаторов номинальным напряжением 2.7 В, подключенных последовательно, что дает общую емкость в 17 Фарад. Конденсаторы в модуле резервного питания считаются вечными, и над их ресурсом можно не задумываться, как можно и не думать особо о ресурсе флэш-памяти FBWC: она задействуется только при аварийном отключении электричества, что бывает очень редко, и многие из этих флэш-чипов за всю свою жизнь так и не узнали, что такое запись.

Перепрошивка

Из всех прошивок для HP P410 имеет смысл обратить на две: версия 3.52 имеет полноценный BIOS с возможностью настройки массивов до загрузки операционной системы, но не поддерживает современные жесткие диски объемом более 4 Тб. Версия 6.64, последняя из доступных, поддерживает большие жесткие диски, но как и все после версии 5.0, не имеет встроенного BIOS-а, из-за чего с этим контроллером многие материнские платы не проходят POST-процесс и зависают при загрузке. На ASUS Prime J3355I-C есть режим совместимости, позволяющий игнорировать BIOS-ы плат расширения при загрузке. Включив его, мы сможем загрузиться с жесткого диска, подключенного к материнской плате или с флешки, но массив увидим только из-под ОС. Загружать операционку с HP P410 можно только на прошивке до версии 3.52, ну или при наличии сервера HP.

Контроллер HP P410 можно конфигурировать через софт HP Array Configuration Utility (ACU) из-под Windows, поэтому, если есть возможность, то лучше поставить Windows 7 или 10 на флешку или на временный жесткий диск и настроить RAID из приятного графического интерфейса. Почти для всех версий Linux, в том числе в OpenMediaVault, есть поддержка интерфейса утилиты настройки через командную строку (hpacucli), но нормальный графический интерфейс для контроллера есть только под Windows.

Соотношение объема кэша для чтения и записи по умолчанию установлено на 25/75%. Выровняем его до 50/50%, и на этом настройку дискового пула закончим.

Цена вопроса

Стоимость б/у HP SmartArray P410 512Mb FBWC вместе с супер-конденсатором составила 1600 рублей. Как говорится, комментарии здесь излишни.

Оптимальный выбор для FreeNAS - LSI 9240-8i с перепрошивкой в IT-режим

Зачем компания LSI выпустила RAID-контроллер 9240-8i, я представить себе не могу - кому был нужен тормозной RAID 5 по цене нормального? Даже по своим временам этот 8-портовый RAID5-контроллер имел слабенький процессор, а без кэш-памяти его скорость в RAID5 составляет 30-40 Мб/с, как у USB 2.0 флешки. Тем не менее, эта плата пользуется большой популярностью у поклонников FreeNAS, так как путем перепрошивок, её можно превратить в простой SAS/SATA-600 адаптер. По умолчанию LSI 9240-8i не поддерживает режим прямого доступа к дискам, и эта возможность, именуемая «IT-mode» присутствует в более дешевой HBA плате LSI 9211-8i. Оба контроллера одном и том же чипе 533 МГц процессоре LSISAS2008 и похожи как братья-близнецы.

При использовании ZFS, кэширование осуществляется в ОЗУ сервера, и для нашей сборки 8 гигабайт памяти NAS-а должно хватить. Разработчики ZFS рекомендуют использовать серверную память с поддержкой ECC, но эта опция слишком сильно удорожает наш компьютер, поэтому сойдемся на обычной качественной геймерской памяти Geil.

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

Цена вопроса

HBA-адаптер LSI 9211-8i на вторичном рынке стоит дороже чем RAID-контроллер LSI 9240-8i, поэтому выгоднее купить именно 9240-8i (от 2 до 4 тысяч рублей) и перепрошить её в 9211-8i, чтобы дать файловой системе ZFS прямой доступ к жестким дискам. Надо иметь ввиду, что очень много продающихся с рук экземпляров LSI 9240-8i были выпущены для компаний Dell (H310) и IBM (M1015) по OEM-схеме. Прошивка брендовых контроллеров отличается от прошивки оригинальных одной-единственной строчкой, но все же при прочих равных условиях лучше покупать оригинальный не-брендовый контроллер.

Процесс перепрошивки:

В процессе перепрошивки мы можем даже удалить из платы встроенный BIOS, ведь загружаться с HBA-адаптера нам не придется - FreeNAS прекрасно работает с флешки.

  • Скачиваем архив по ссылке http://www.files.laptopvideo2go.com/hdd/sas2008.zip или https://yadi.sk/d/hrpxuXj13Vvznw
  • Скачиваем программу RUFUS для создания загрузочной флешки.
  • Создаем загрузочную флешку с FreeDOS из программы RUFUS
  • Содержимое скачанного архива разворачиваем на флешку, перезаписывая ВСЕ файлы, включая Autoexec.bat
  • Записываем на бумагу или фотографируем SAS-идентификатор, нанесенный на наклейку сзади LSI 9240-8i, он выглядит как 500605B0xxxxxxxx (16 символов без пробелов и дефисов)
  • Устанавливаем LSI 9240-8i в материнскую плату и загружаемся с USB-флешки. Если BIOS контроллера ругается на то, что не видит диски, в UEFI материнской платы включаем режим Compatibility Support Mode и отключаем загрузку со storage-контроллеров.
  • В командной строке DOS вводим:
  • megarec -writesbr 0 sbrempty.bin
  • megarec -cleanflash 0
  • Перезагружаем компьютер и снова загружаемся с флешки
  • sas2flsh -o -f 2118it.bin -b mptsas2.romИЛИsas2flsh -o -f 2118it.bin если нам не нужен BIOS на контроллере
  • sas2flsh -o -sasadd 500605bxxxxxxxxx (x= символы SAS идентификатора)
  • Перезагружаемся - готово!

Теперь у нас вместо RAID-контроллера - обычный HBA, такой же как на материнской плате, и загрузив Windows, мы видим подключенный к нему жесткий диск точно так же, как если бы мы подсоединили HDD напрямую к материнской плате.

На всякий случай, вот команды для обратной перепрошивки в 9240-8i с поддержкой RAID:

  • Megarec -cleanflash 0
  • Megarec -writesbr 0 sbrm1015.bin
  • Перезагружаемся
  • Megarec -m0flash 0 0061_lsi.rom

После перепрошивки процессор LSISAS2008 совсем не греется, так как вычислений никаких не производит и о вентиляции в тесном корпусе можно даже не беспокоиться. В случае, если в будущем мы будем делать апгрейд материнской платы и выберем серверную с 8 портами SAS/SATA, то переподключив жесткие диски к материнке, мы не потеряем наши данные - ZFS автоматически пересоберет массив, а освободившийся слот можно будет использовать например для вывода внешних интерфейсных портов.

Кабели

Вместе с RAID-контроллером нам нужно заказать 2 комплекта кабелей типа SFF8087-SATA. Искать на AliExpress или Ebay нужно по запросу «Mini SAS SFF8087 to SATA» и выбирать самый короткий. Стоимость одного кабеля - в районе 350 рублей.

Процесс подключения и укладки кабелей показан на фотографиях ниже. Сначала - для HP P410

Контроллер LSI 9240-8i установить проще из-за бокового расположения SFF портов и отсутствия суперконденсатора.

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

Выводы

SATA/SAS контроллер может стать самым дорогим компонентом NAS-а, но здесь можно хорошо сэкономить, купив на Avito или Ebay подержанную плату, отслужившую 5-7 лет в серверах. Самый ненадежный компонент контроллера - это резервный аккумулятор встроенного кэша, чей ресурс составляет 2-3 года, поэтому лучше выбирать модели с супер-конденсаторами или подключать NAS к ИБП и настраивать автовыключение для защиты от потери закешированных данных.

Какое решение выбрать - аппаратное или программное? Изучив отзывы пользователей, становится ясно, что и серверы с ZFS и серверы с EXT4 или Btrfs одинаково часто ломаются и уносят в небытие десятки терабайт данных, поэтому выбирать стоит не по принципу «аппаратный RAID vs программный», а по удобству и функционалу операционной системы или гипервизора, которыми вы планируете пользоваться, но все же следует понимать, что аппаратный RAID уходит в прошлое.

В следующей части нашей статьи мы будем настраивать софт для нашего NAS-а.