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

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

Так-так, если я все правильно понял, то можно обойтись без WAFL, если использовать SSD как parity-диск.
И это будет намного дешевле текущих решении NetApp. Ничего против NetApp не имею, но хочется мм… съэкономить. Ждем таких RAID-ов.
Вы напрасно считаете SSD какой-то панацеей. На запись SSD значительно менее эффективен, чем на чтение. По оценке, которой я склонен доверять, производительность в IOPS на random write для типового enterprise-class SSD всего в полтора-два раза выше, чем у 15KRPM SAS.
И это мы еще не трогаем проблемы с конечностью ресурсов записи у SSD.

SSD действительно очень эффективен на random read небольшими блоками, за что его и любят, но странно считать его совсем уж лишенным недостатков и универсальным решением.

Насчет «дешевле» есть обоснованные сомнения. Тем более о том, во что это «дешевле» обойдется в долгосрочной перспективе.
Ясно, спасибо за просвещение неразумного…
То есть даже если SSD будет быстрее SAS на запись в пять раз, это будет значить, что такой parity disk не будет тормозить RAID только при размере RAID-группы размером в пять SAS data-disks, а это, по сути, совсем немного, типовой размер RAID-групп у NetApp для SAS сейчас это 20-24, максимально возможный — 28.
Обычно стремятся максимально увеличивать длину RAID-группы, так как это увеличивает ее быстродействие.

А с использованием Flash есть другая, в крайний год очень популярная идея — использовать его как своеобразный persistent cache для данных. У NetApp такое устройство тоже есть, расскажу парой постов далее.
А что насчет надежности parity диска. что произойдет при выходе его из строя? А если после сбоя parity диска выйдет еще один диск из строя?
В случае RAID-DP выносится выход из строя любых двух дисков в RAID-группе. Двух parity, parity и data, двух data, по любому. Данные сохраняются. При потере двух parity остаются все data. При потере одного — данные второго восстанавливаются за счет избыточности на оставшихся дисках.
То есть все как обычно для RAID, например RAID-6.

Сразу после выхода из строя (или при спрогнозированном выходе) начинается переливание всего уцелевшего на диск hot spare, который всегда должен быть в системе, все что не читается — восстанавливается из избыточных байтов.
Сбойный (или ненадежный) диск начинает внутри системы прогоняться тестами, и, если удается восстановить его работу, возвращается в hotspare, если нет — отмечается как убитый, и заменяется.
В таком случае есть вариант RAM диска. Но это уже совсем энтерпрайз… Да и сложно сделать RAM диск на парочку терабайтов…
НЛО прилетело и опубликовало эту надпись здесь
А почему нет? Чтение не является его слабой стороной, а запись превращяется в линейную. Цифры должны быть сопоставимы.
НЛО прилетело и опубликовало эту надпись здесь
В RAID10 мы так же читаем с 4х дисков одновременно если их там 4.
Чтение сравнимо и у RAID-5, на равном количестве дисков.
Чтение успешно параллелится, это не проблема ни для RAID-5,6 ни для RAID-10, вот с записью начинаются проблемы.
А запись это, оценочно, до 30% операций.

Поэтому улучшение характеристик записи у RAID-4/DP естественным образом улучшает показатели массива в целом, так как мы минимум втрое ускоряем 30% всех операций.
Ну, все зависит от приложений, есть и «пишущие» системы, и «читающие».
Согласен, но если мы возьмем, например, характерную для ынтерпрайза задачу — OLTP-базу, то принято считать, что это 100% random и 66%/33% read/write.

Да, для вебсервера, отдающего статику это будет 100% random read, для системы видеонаблюдения — 100% sequental write.
Но все же 100% только read или только write то какой-то небольшой нишевой случай.
> RAID10 как производительный вариант используют не для линейного чтения/записи, а для случайного доступа

Так и я о том же. На сегодня sequental операции сравнительно редки, строго говоря это только задачи backup-restore, ну и всякие специфические, типа видеозаписи и иногда DSS-операции в базах.

> RAID-DP может конкурировать в этом режиме работы?

Именно тут он и конкурирует. Поскольку random-записи в WAFL автоматически, вследствие его организации, превращаются в sequental, это снимает основную проблему в RAID-c-чередованием-и-четностью — высокий penalty при random-записи.

Простой пример — никто из вендоров не демонстрирует результаты на SPC-1 на RAID-5 или RAID-6, например. А NetApp показывает их на RAID-DP, и во многих случаях они оказываются сравнимыми с результатами на RAID-10.
> RAID-10, или, иногда, как RAID-0+1

RAID-10 это совсем не RAID-0+1, отличия в том что у одного сначала половину дисков в Stripe, а потом Mirror, а у другого сначала Mirror и потом собираем Stripe.
На этот счет существуют разные мнения, и чтобы не устраивать тут спор остроконечников с тупоконечниками, что в каком порядке зеркалится и страйпится, я не хотел останавливать на этом внимания, речь тут, собственно, не об этом.
Адаптек давно решил проблему батареек у рейда с помощью ионистора и маленькой флешки.
Не вполне понял к чему был этот комментарий, поясните?
К утверждению, что требуется батарея для рейда, чтобы юзать wb-кеш.
Неожиданно :)
Никогда не понимал почему стоимость «батарейки» для контроллеров превышает $100
3ware adaptec
Потому что это не батарейка отдельно (батарейки отдельно это в Ашане на кассе), а специальный продукт, в цену которого много что включено.

А это отчего вы вспомнили про батарейки? Вон и amarao к чему-то упоминает батарейки, только не пойму к чему, я вроде про это даже ничего и не писал.

«специальный продукт, в цену которого много что включено»
~5 000 руб.

Ситуация, как и с принтерами. Они тоже иногда стоят по 1500 руб, но комплект картриджей стоит столько же — 1500 руб.

Мне отчего-то кажется, что стоимость этого аккумулятор около $5. Я не понимаю почему их не интегрируют во все контроллеры прямо на заводе. Отвечаю сам себе на вопрос: потому что людей принято «доить»
Если вы так считаете, то, уверен, вам ничего не стоит заткнуть за пояс Adaptec, начав производить RAID-контроллеры по себестоимости плюс сколько вы считаете приемлемой маржой. Все покупатели Adaptec немедленно будут ваши, что они, дураки платить по 5000 рублей за аккумулятор, который у вас будет стоить ну пусть не 5, а 6$
Отдаю идею всемирного бизнеса даже забесплатно, «за спасибо». Хорошему человеку помочь даже приятно.

Вы не ответили на вопрос, отчего вы решили поднять эту тему в топике, в котором речь идет совсем не о батарейках к контроллерам?
А в чём смысл в аккумуляторе контроллёра, если диски в момент аварии и так обесточиваются? Рассчёт на то, что ПОСЛЕ восстановления основного питания данные, сохранённые в энергонезависимой памяти контроллёра, подпитываемой этим аккумулятором, записались на диски так, как будто ничего и не было.

Здесь есть неочевидные точки отказа, которые разрушают всю идиллию (непрогнозируемая деградация активной массы аккумулятора, прежде всего). И производители таких контроллёров, конечно же, знают об этом и не могут взять на себя полную ответственность за сохранность данных, поставляя в комплекте с контроллёром относительно дешёвые аккумуляторы (или ионисторы).
>Запись в RAID-5
>Чтобы изменить блок D1 надо:
>1.Считать соответствующий Parity Block

Но зачем? Ведь Parity Block и так придётся вычислять заново и записывать наравне с новым блоком (страйпом) данных!
А как мы рассчитаем новый «из ничего», ведь содержимое его зависит не от одного только записываемого блока, а от всех. То есть альтернатива — читать весь страйп целиком и перерасчитывать его по данным всего страйпа с одним измененным блоком в нем, и записывать, но это заметно больше операций.
Таким образом, чтобы получить значение нового parity block нам обязательно надо откуда-то недостающую информацию для расчета добыть.
Во-первых, файловая система всегда работает только с целостным блоком данных. Задача аппаратного контроллёра или программного механизма (в случае программной реализации) скрыть детали манипуляции со страйпом от файловой системы. То есть все низкоуровневые манипуляции со страйпом, его перестроение и вычисление блока контроля чётности остаются на совести контроллёра (аппаратного или программного), но никак не файловой системы, с которой вы сравниваете RAID-4+WAFL.

В обшем, вы сравниваете низкоуровневые операции с высокоуровневой моделью обработки данных WAFL, что несколько странно, так как низкоуровневые манипуляции со страйпом могут быть также хорошо оптимизированы и не вызывать существенных задержек в выполнении в том числе для традиционных файловых систем, которым неизвестна вся подноготная RAID.
> То есть все низкоуровневые манипуляции со страйпом, его перестроение и вычисление блока контроля чётности остаются на совести контроллёра (аппаратного или программного), но никак не файловой системы, с которой вы сравниваете RAID-4+WAFL.

Вы упускаете из виду, что, в случае WAFL, RAID это функция файловой системы.
Все «низкоуровневые манипуляции» в WAFL/NetApp, в том числе страйпрование и вычисление parity, осуществляются OS, для нее диски это просто массивы байт, никакого «аппаратного контроллера» над ними, отделяющего их от OS и файловой системы нет.

То есть WAFL это сам себе RAID-контроллер, примерно также, как RAID-Z в ZFS это просто такая манера писать на диски у ZFS.
Вы полагаете, что в ZFS используется стратегия записи данных, показанная на иллюстрации с примером записи на RAID-5, с четырьмя пунктами операций?
Я ничего не говорю про ZFS хотя бы потому, что в ZFS не используется RAID-5.
В RAID-Z ипользуется схема, аналогичная использованной в WAFL, ZFS вообще ну очень похожа ;) на WAFL, появившуюся лет за 12 до нее, и за эти 12 лет довольно убедительно продемонстрировавшую свои преимущества.
А чем это лучше zfs? :)
Как ни странно, ничем. RAID-Z, RAID-Z2 тоже можно расширять, заменяя в них диски на диски повышенной ёмкости.
откровенно говоря — это не лучший способ. Для домашнего использования.
Вы знаете лучший? Огласите, пожалуйста.
Для домашней файлопомойки?

Обычные рейды требуют одинаковых дисков. Так что ZFS без рейда, чтобы можно было добавлять новые, более емкие диски.

Если же есть возможность купить несколько новых вместительных дисков, то зачем ими заменять старый массив? Это долго и опасно, лучше сразу создать новый массив и на него перелить инфу.
Если денег нет на чтобы «сразу», то можно постепенно заменять устаревающие диски новыми, чтобы в один прекрасный момент, на последнюю зарплату купив последний диск на замену, ощутить радость от увеличения полезного объёма RAID.
объясни, мне дураку, смысл этого подхода. У тебя получается место, которое ты не можешь использовать, лишний старый винт. Деньги потрачены. Никаких плюсов, только потрачены ресурсы. Проще копить деньги. Либо просто подключать новые винты, а потом из них организовать рейд.
Ну как… Один это оригинал, а второй — талантливая копия :)

А если серьезно, то пользуйтесь тем что больше нравится, и что вас больше устраивает с точки зрения надежности и производительности.
А в чём заключается «талантливая копия»? (Что-то я не нахожу сравнения WAFL с ZFS на известной страничке).
zraid ближе к 5-ому райду, zraid2 ближе к 6 райду, не знаю как 4-ый сюда затесался.
zraid паритет обеспечивают на уровне данных, а не устройства, отсюда выгода перед их «железными» братьями ну и плюс исключение «глюков» райдадаптера в случае чего.
Я вот думаю реально как-то устройство отдать как локальное другой системе, чтобы делать распределенный raidz2 по 2-3 системам…
о, реально оказывается. через geom_gate.
так теперь вообще не ясна выгода адаптера…
Правильно ли я понял следующее:
Если у меня был забитый raid-4, я добавил диск. Все новые данные будут писаться на новый диск?
Да, и в этом есть, кстати говоря, одна эксплуатационная сложность. Если есть, например, длинный RAID, например в 20 дисков, и он почти заполнен, и к нему добавили еще пару дисков, то все записи, согласно логике WAFL, которая пишет «на свободное место» пойдут далее преимущественно на эти два добавленных диска, как «самые пустые». Такое поведение может вызвать серьезное ограничение в производительности (так называемая «проблема hot spindles»), поэтому предусмотрена специальная процедура physical realocate, при добавлении дисков в таких случаях, при которой блоки данных внутри FS более равномерно «растасовываются» по дискам, выравнивая их загрузку, а не падают прямиком на эти только что добавленные, и перегруженные этим, диски.
Процедура сильно напоминает ребилд пятого\шестого рейда? По описанию — сильно.

Можно ли поподробнее о RAID-DP? Я так понял там не только добавлен диск с четностью.
В каком-то смысле- да, но без риска потери данных.
Опять же, это опциональная процедура, вот в таких экстремальных вариантах, как описано выше.
Господи, на фото же моя FAS2020 :)
Да, спасибо, я воспользовался любезно предоставленным автором копилефтом :)
Не знаю, распространяется ли он и на палец ;)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий