Как стать автором
Обновить

Комментарии 74

А для простых офисных решений есть смысл покупать контроллер или можно обойтись программным решением?
Необходимости в аппаратной рейде в простых решениях, как правило, нет. Все спокойно решается софтовым. Да и вендоры обычно в самые бюджетные решения ставят полусовтофые контроллеры. B110i, например, у HP.
Для ESXi нужен аппаратный RAID, а Винда с Линуксом умеют поднимать программный.
ESXi вполне работает с тем же B120i у HP. По сути — это обычный софтовый контроллер intel с переписанным биосом.
Про B120i слышал, но сам не пользовался и в HCL его нет.
Не знаю на счет программных или полупрограммных решений HP и т.п., но часто сталкивался с крайней такой бякой как RAID от Intel. Intel rapid storage technology вроде так называется. Используется на бюджетных и не очень материнках, например, SuperMicro.
Отвратительная вещь в том плане, что пока не поднимется операционка, ребилд или просто проверка массива не происходят. А уж если они начались — работать на такой системе почти невозможно из-за жесточайшего торможения.
На полностью аппаратных контроллерах такие процедуры проходят почти незаметно.
Какую конфигурацию вы бы посоветовали если нужна и производительность и надежность хранения и размер блока самого RAID-а 512 байт?
По такому сценарию RAID6 себя неплохо показывает.
Даже если у fivehouse 90% нагрузки от операций — рандомная запись? Ну да — только RAID 6!
Вы приводите недостаточно данных. Нужно определиться с характером нагрузки, хотя бы на базовом уровне — последовательный/случайный доступ, соотношение чтение/запись.
Следующий шаг — собственно требования к производительности (кол-во МБ/с или IOPS). Если есть стенд или уже работающая система, требующая наращивания производительности, то вооружайтесь средствами мониторинга нагрузки (permon в случае Windows).
Базовые правила/соображения насчет надёжности:
  1. Не используйте RAID-5 на больших дисках (риск потери/частичного повреждения данных при ребилде). Кто-то может назвать ту статью на ZDnet 2009-года алармистской (мол, лично у меня работают 20шт дисков 4ТБ в RAID-5 и всё хорошо), но не зря же появился RAID-6 (и аналогичные реализации в виде RAID-DP в NetApp и ZFS с его RAID-Z2 и контрольными суммами), и не зря Adaptec убрал из своих последних контроллеров RAID-5E.
  2. Если ожидается значительная нагрузка на запись со случайным доступом — используйте RAID-10. Для остальных случаев — RAID-6. Если дисков и они 5400/7200 об/мин и > 2ТБ, то RAID-60 из расчета 8-12 дисков в каждой подгруппе. Если используете write-back кэш — защищайте его при помощи BBU (или флеш+суперконденсаторы в зависимости от контроллера).
  3. Не забывайте про hot-spare.
  4. Не ленитесь настроить мониторинг, хотя бы простой в виде уведомления по почте. Мне часто попадаются заказчики, узнавшие об отвале диска случайно — через несколько месяцев заглянули в серверную в удаленном офисе, услышали писк.
  5. RAID не отменяет других способов предотвращения потери данных. Реплицируйте и бэкапьте. Никакое грамотное планирование конфигурации и тщательный мониторинг не спасут вас от какого-нибудь редкого сбоя или человеческого фактора.
Какой RAID выбрать под файловую БД 1С?
Под БД как правило идет RAID10. Диски SAS. Хотя можно и SATA. Надо смотреть нагрузки на сервер и совместимости контроллер, бэкпанель (корзины) сервера, диски. Контроллеры с кэшем и батарейкой.
Очень интересно…
Интегрированные. Встроены в материнскую плату. Отдельный чип выполняет часть задач по управлению, но всё же тоже задействует центральный процессор.

И как же у нас P410i «тоже задействует центральный процессор»? А PERC H700?
Ну и как-то в табличке путано все. Вот вдруг тот же P410i потерял BBWC, RAID 6, 256МБ кэша, а заодно еще и просел в интерфейсах.
Если «лень было искать», то вот вам уважаемые читатели множество неточностей?
Не пользуйтесь RAID контроллерами — это было актуально в 90-е!
С управляемость и интрефесами все из тех же 90-х.
Просто делате JBOD даже если есть RAID и потом zsf или даже Widows софтовый раид — выйграете в гибкости не проиграв в скорости.
RAID это банальный CRС калькулятор. Для современных даже десктоп CPU эта задача просто смешна — CRC они могут считать на скорость в сотни гигабит в секнду на ядро.
Вцелом аргуметы даже про батарейки комичны — если данные так важны то сервер и полка дисков точно имеет 2/3/N фидов питания, хотябы один из которых с UPS.
>>то сервер и полка дисков точно имеет 2/3/N фидов питания
Почему вы так уверены? Откуда в обычном съемном офисе в бизнес-центре независимые вводы питания?
Генератор тоже не всегда есть.
В 'обычном' офисе не стоят сервера для задач с требованием бешеной консистости данных.
Даже если и стоят — UPS на 15 минут что бы коректно сделать shutdown достаточен.
>> В 'обычном' офисе не стоят сервера для задач с требованием бешеной консистости данных.
1С.

>>Даже если и стоят — UPS на 15 минут что бы коректно сделать shutdown достаточен.
Админ приходящий, секретарши боятся когда пищит.
Так сервак же сам зашатдаунится, по команде демона мониторящего UPS. Админ же не руками это делает услышав писк в стойке.
Ну это надо более-менее нормальный юпс для этого.

В общем я к тому, что лишний слой защиты никогда лишним не бывает.

Я видел случай, когда у людей на заводе (!) отрубили несколько вводов питания, и батарейки рейды держали несколько дней.
А толку? DB не консистна-то. Даже FS будет не консистна. UPS которого хватит на 15 минут с обратной связью стоит дешевле чем большинтво конроллеров.
Секретарши боятся даже когда LCD монитор без кактуса, так что не аргумент про писк. Пусть пишит. 1С на виндовом софт RAID — отличное решение, серьезно. Писк в ряде UPS отключаем, точно помню ряд APC где было пару опций по частоте бипов и даже off.
А выключать то корректно кто это пищащее чудо будет? :)
Софт рейд это зло в большинстве случаев, особенно в таких «дешевых» ситуациях.
Железка всегда дубовее и надежнее.
Вы издеваетесь? 90 баксовый домашний APC UPS которому 10 лет по com порту умеет посылать сигнал на shutdown и прожка от UPS это успешно делала еще во времена виндовс NT. Железка RAID ненужный слой абстракции со своими багами и ограничениями.
И когда ваша железка сдохнет, вы будете искать ей замену, и часто если железка не новая то искать будете долго и мучительно. В то время как софт рейду главное чтобы диски живы били, поднял на другой системе и в путь.
Железка железке рознь.
Помнится, была такая игрушка, NegoRack ST-2221SUSR.
По исполнению — корзина на два 2.5 SATA. Умела RAID всякий (RAID0, RAID1, простой массив и еще какие-то мутные режимы SAFE33 и SAFE50).
Сделал на ней RAID1. Спустя некоторое время корзина сдохла по перегреву. Вынул один из дисков, подключил напрямую к SATA — данные доступны как на самом обычном диске,

А если говорить о «железо против софта», то у каждого свои преимущества и недостатки.
Софтовый ресурс процессора крадет, при падении диска восстановление превращается в сложный для простого смертного квест, отсутствуют решения для некоторых видов RAID.
Зато универсален в пределах ОС одного семейства и дешев.

Аппаратный (если, конечно, нормальный, гибриды — срвзу в морг) — работает сам по себе, не нагружая процессор своими задачами. Полетел диск -> красная лампочка зажглась -> просто заменили -> он сам «все понял» и восстановил массив.
Зато если накрылся сам контроллер — тушите свет (за очень редкими исключениями). Нужен строго аналогичный, да и то не всегда помогает, поскольку перед гибелью аппаратный RAID иногда успевает забрать содержимое дисков с собой, забив критически важные области мусором.
У подавляющего большинства аппаратных неадекватная программа настройки, в которой не всегда можно быстро понять, что к чему (особенно доставляли LSI с графической средой настройки). Некоторые любят использовать нестандартные наименования для стандартных вещей (например, SAFE и FAST вместо RAID1 и RAID0 у упомянутого ранее ST-2221SUSR).
Батарейка — обязательно должна быть. А то случаи бывают разные, и порой кабель из бесперебойника ногой случайно выдергивали. Конечно, гарантий никаких, но риск потери данных существенно снижается.
Дело не только в питании. Иногда но и сервера виснут. А установка батарейки не самое дорогое, что есть в сервере.
НЛО прилетело и опубликовало эту надпись здесь
RAID-контроллеры делятся на:

Программные.
...


Программный рейд — ок, программный рейд-контроллер — ну я прям даже не знаю.

А почему слово «сервер» 12 раз в тексте оформлено не гиперссылкой, а 3 раза гиперссылкой?
чтобы «уников» нагнать, вестимо же. Для других целей статья о «масле масляном» не годится
Стоят на серверах контроллеры что-то вроде DELL H700, всегда их отключаю и переключаюсь на софтовый mdadm
Причина в том, что хардвартный контроллер на 4х дисках не может прокачать гигабитный канал, где-то уже на 750-800 мбит/с диски утилизируются на 100%

Подключая 4 диска в raid1 через mdadm получается в плане чтения не честный raid1, а чтение с дисков по очереди (round-robin), то есть в итоге распределяется равномерно (±) нагрузка по всем 4м дискам

Таким образом запросто удается прокачать весь гигабит (3 диска уже не справляются) и даже запас остаётся (к минусам долгое время ресинхронизации после сбора массива или замены вышедшего из строя диска)
Можно ли снять диск (имеется ввиду только зеркало) с аппаратного или интегрированного контролера и подцепить его как обычный к другому компу, будет ли он виден в системе?
Например на случай оперативно снять данные если повредился не сам диск а железо и комп не запускается. Не возникнут с этим сложности?
если зеркало, то да
сложностей не должно возникнуть
Возникнут неудобства, эти апартные RAID часто пишут разные заголовки в начале диска. Это все решаемо, но очень неудобно.
Лучше отключайте RAID при возможности.
Я бы сказал, что RAID надо использовать там, где это действительно надо. В случае зеркала во многих случаях предпочтительнее настроить нормальный бэкап\синхронизацию данных и не городить огород.
Столкнулся с такой проблемой когда из обычного ПК убрали жесткий который там числился в raid как stripe из одного диска. в итоге ПК при загрузке пищал пару раз (сигнализировал видимо что нехватает чего-то), но загружался с системного и работал. а вот тот жесткий нигде правильно не определялся вплоть до того момента пока на родину его не вернул и raid не расформировал. как-то так.
При наличии такой же рабочей железки. Чего обычно не бывает.
Интересует вопрос оперативного восстановления данных с аппаратных решений, в случае выхода из строя железа. В случае с софт рейдом все происходит достаточно быстро. mdadm и т.д.
Из своей практики:
RAID не отменяет бэкапов и резервных мощностей, чтобы их развернуть.
В нормально варианте организации берут ЗИП.
Контроллеры Adaptec нормально принимают массивы, созданные на более ранних моделях контроллеров.
Поэтому если система хранения продумана и развернута нормально проблем с оперативностью не возникает.

Собственно пока еще и не было случаев, чтобы дохли именно сами контроллеры. Это несколько десяткой сервачков клиентов. Быстрее происходит смена серверов целиком или апгрейд платформы.
Деление на «интегрированные» и «аппаратные» нелепо. Интегрированные рейды (у деллов, например) ничем по характеристикам от «аппаратных» не отличаются. Так же отдельный процессор, память, батарейка. Только напаяны на мамке.

Сама статья — ни о чём.
«У HP и Dell другая склонность — с выпуском нового поколения серверов они обычно выпускают и новое поколение контроллеров.» — надо сказать, что ни те ни другие свои контроллеры не выпускают, а ОЕМ'ят Adaptec или LSI.
HP переделывает софт, а Dell и IBM в худшем случае прилепят лого в MSM.
господь с вами, переделывать софт — это экономически бессмысленно, особенно когда этого не делают конкуренты. в лучшем случае — минорные изменения, плюс влепить лого.
Могу ошибаться, но благодаря этому они могут сменить поставщика чипов в следующем поколении без лишнего головняка для клиентов.
судя по тому, что некоторые ошибки переезжают из поколения в поколение — это скорее гипотетическая возможность, чем реальная активность. да и, в целом, пофиг =)
P400 и P800 сделаны на LSI, а современное поколение уже на PMC-Sierra, но ACU один на всех и нигде не видно даже намёков на arcconf или storcli.
Ни разу не удалось попробовать, но давно интересно. Если зеркало с аппаратным контроллером деградирует, если павший винт заменить на новый того же объема, то рейд сам «починится»? Или нужно заходить в его биос и делать какие-то движения руками дополнительно?
Диск в любом случае нужно вводить в рейд (хоть в софтовый, хоть в аппаратный), как правило это делается через назначение диска «spare drive», после чего контроллер сам его подхватывает и начинает ребилд.
А при этом автоматическом ребилде данные с живого винта не пропадут?
Эм, а почему они должны пропасть? Смысл ребилда в том и есть, чтобы дозаписать недостающее из резерва.
Хотел услышать ответ явно, спасибо! К слову, мой страх основывался на том, что при построении рейда винты форматируются.
По крайней мере у HP рутинные операции по замене вылетевшего диска полностью прозрачны. Просто перетыкаешь на ходу диск, ребилд запустится автоматически.
В свое время задушили Жабу и поставили на сервер БД отдельный Raid и BBU к нему.
Эффект был просто феерический. Режим WriteBack реально творит чудеса.
Почему не указываете что есть windows-only контроллеры (как бы абсурдно это не звучало)? Столкнулся с такой дрянью на HP-шном сервере (за что им отдельный пламенный привет). Причем рекомендация по работе с линуксом выглядит так — оберните каждый диск в логический массив (из одного-то диска), а уже в системе настройте soft-RAID, иначе никак.
Это странно, ведь интеловский RST сам использует mdadm для создания массивов.
Да еслиб HP ставила только интеловские контроллеры. Воз здесь список со совместимостью: https://wiki.debian.org/HP/ProLiant. Если я правильно помню, мне попалась дрянь модели HW RAID B110i.
И ещё следовало сказать про неприятную особенность программно-аппаратных контроллеров (интегрированных) — они сильно зависят от прошивки. Если мат. плата выходит из строя нужно искать точно такую же (с такой же версией прошивки), иначе даже не извлечь данные.
Вообще с software RAID работать намного более удобней. Но не везде они поддерживаются, например в ESXI, который требует hardware RAID.

И ещё в статье нет информации про поддержку режима JBOD и поддержку дисков больше 2TB (!?).
Я ставил FREENAS на свой DELL T610.
И был у меня hardware SAS 6IR. А он не поддерживает диски больше 2TB. И PERC 6I, кстати тоже не поддерживает.

Взял я тогда PERC H700. Он поддерживает большие диски, но в нём нет режима JBOD. То есть каждый диск нужно оборачивать, как RAID 0 из одного диска. А это — лажа, потому что система не может напрямую работать с диском — читать SMART, видеть bad blocks…

Тогда я взял PERC H200… Вроде работает. Хотя FREENAS жалуется, что firmware вроде старый, но новее у DELL нету…
Так зачем фринас ставить на тачку с аппаратным (и вообще с любым) рейдом? Нужно ставтиь с НВА картой. Это грозит потерей данных и производительности.
В вашей табличке очень не хватает соответствия с оригинальными кнотроллерами LSI у Dell, IBM, Intel и SMC. Иногда полезно перешить его оригинальной прошивкой, если вендор забил на обновления или выключил какую-то нужную фичу.
Спасибо за замечание! Хотели аналоги LSI-ные отобразить, да решили остановиться на брендовых названиях. Но дополним таблицу ограничением по памяти.
1.Классификация странная. Интегрированный RAID может быть как программно-аппаратным (aka fake-raid), так и полноценным, со своим процессором, памятью и т.п.

2.
… либо дополнительной флэш-памятью, питаемой от ёмкого конденсатора. При сбое питания в неё выгружает содержимое кэша. А поскольку флэш-память потребляет очень мало энергии, то и данные в ней сохраняются месяцами. Обратите внимание, что флэш-память используется только при сбое питания.

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

3.
При желании сэкономить на накопителях или выжать всю возможную ёмкость из имеющихся, рассмотрите вариант с RAID 5 или 50. Это вполне годное решение для создания архивов. Для таких задач достаточно взять контроллер с поддержкой нужного вида RAID и кэш-памятью среднего объёма.

Не используйте RAID 5 — это зло. Во время ребилда нагрузка на массив очень большая, что кратно увеличивает вероятность выхода из строя второго диска. Лучше поставить RAID 10 на SATA-дисках.
НЛО прилетело и опубликовало эту надпись здесь
Лучше бы привели примеры что такое и как на практике используется 50 и 60, а теперь прийдется искать не в этой статье.
RAID-50/60 вместо 5/6 используется для
  1. Получения большого количества шпинделей в одном томе (массиве). Максимальное кол-во дисков в простом RAID 5/6 у Adaptec и LSI (Avago) — 32 (см. MegaRAID SAS Software User Guide и Series 7 and Series 8: Limits to consider when creating a RAID array). В составных 50/60 можно получить больше, до 128 или 256 дисков в зависимости от контроллера, не прибегая к помощи ОС (например, динамические тома в Win или LVM в Linux).
  2. Даже если у вас меньше 32 дисков, то 50/60 все равно нужен, т.к. стоит помнить о риске потери данных на дисках большого объема из-за ненулевого URE (10-15 для nearline дисков помноженный на суммарный объем нескольких десятков дисков по 4-6-8 ТБ не может не вызывать опасения). Т.е. для больших дисков стоит уменьшить длину дисковой группы до 8-12.
Любой RAID программный. Просто в одном случае они использует центральный процессор, а в ином — свой собственный.
Для пользователя все они представляют собой чёрный ящик с выходами и входами, которые предусмотрел (или не предусмотрел) его разработчик. В этой связи для реализации RAID массивов куда более предпочтительнее, понятнее и надёжнее выглядят решения на базе файловых систем типа ZFS, которые и понятны, и переносимы между системами, и имеют широчайший инструментарий по настройке и восстановлению.
То есть я веду вас к тому, что классический RAID контроллер становится не нужен.
Для производительности, гораздо предпочтительнее хардварные рейдконтроллеры, со своими интерфейсами, кешами и процессором.

Кроме того, ZFS не дружит с Windows, хоть и редко но нужно.
По Windows тут всё понятно и альтернатив нет.
А вот по производительности это миф. RAID на уровне ОС быстрее аппаратных решений.
http://www.ateamsystems.com/tech-blog/freebsd-hardware-raid-vs-gmirror-vs-zfs/
Но там же просто raid-1, там никакой задачи для контроллера нет.
Попробуйте тоже самое с raid-5 или хотя бы raid-10
Я согласен с авторами статьи из ссылки выше в плане того, что нет оснований думать что «аппаратный» RAID5 будет быстрее «софтверного» в силу тех же причин, что и RAID1. Ну хотя бы потому, что ЦП сильно мощнее используемых на контроллерах.
Но протестировать было бы интересно.
Процессор в хардварном рейдконтроллере не должен быть мощнее ЦП, он должен уметь вычислять контрольные суммы со скоростью достаточной, чтобы покрывать скорость интерфейса, ну и может плюс 10-50% про запас (например на случай восстановления данных массива парралельно с основной работой).

При этом ЦП может полностью посвятить себя приложению, не отвлекаясь на файловые операции, которые берет на себя хардварный контроллер и его кеш.
Это всё понятно. Но, ещё раз, я не вижу серьёзных оснований думать, что «аппаратный» RAID5 будет быстрее ZFS'ного. Последняя при любом обращении к диску считает и сверяет CRC, что делает имплементацию того же RAID5 довольно таки прозрачной и нересурсозатратной задачей.
В любом случае, практика есть критерий истины и было бы интересно увидеть реальные бенчмарки.
Реальные бенчмарки остались на прошлой работе, где хардварный контроллер на Oracle базе размером 300 гб с корзиной на 20 винтов, показывал все гораздо лучше, чем софтварные рейды. В любом случае, всегда следует смотреть исходя из работы всего целиком, а не только скорости файловой системы — у ЦПУ могут быть свои задачи, И тратить его на что-либо еще не всегда хорошо.
Какие диски посоветуете к dell perc h700? можно ли к нему подключить sata диски?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий