База знаний wiki

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.

Совместимость с железом не от 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: она задействуется только при аварийном отключении электричества, что бывает очень редко, и многие из этих флэш-чипов за всю свою жизнь так и не узнали, что такое запись.

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».

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

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

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

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

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

Новый или БУ?

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

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

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

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

Немного личных впечатлений

У нас нет самого главного — нет жестких дисков, чтобы произвести полноценное сравнение аппаратного RAID и программного ZFS. Но удержаться от первых тестов невозможно, и в систему был установлен древний WD Velociraptor на 150 Гб, который был протестирован в сборке с HP P410 / Openmediavault / EXT4 и LSI 9240-8i / FreeNAS / ZFS, а заодно я сравнил его с домашней хранилкой Synology DS1511+, где установлено 5 HDD на 7200 RPM 1 Tb.

Вообще, простое копирование 50-гигабайтной директории с играми с HDD на NAS в случае с сетапом OMV дает постоянные 112 Мб/с, на Synology прыгает от 110 до 80 Мб/с, на сетапе FreeNAS прыгает от 90 до 2 Мб/с. Но полноценное тестирование можно будет провести когда в NAS будут установлены нормальные жесткие диски.

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

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

  • Устанавливаем 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 автоматически пересоберет массив, а освободившийся слот можно будет использовать например для вывода внешних интерфейсных портов.

Выводы

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

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

Михаил Дегтярёв (aka LIKE OFF)
15/05.2018

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: