Главная Storages, Новое RAID-6: что это, и зачем нужно?
  • RAID-6: что это, и зачем нужно?

    raiddp_thumb9 Десять лет жили себе, не тужили без него, и вот на тебе, счастье на нашу голову. Зачем нам этот RAID новый, или старых не хватает? Получается, что не хватает, и давайте смотреть чего именно.

    Во-первых, почему о RAID-6, или “RAID c двойной четностью” заговорили именно сейчас?
    Причина — в резком, и продолжающемся росте емкости единичного жесткого диска.
    Количество байт на устройство становится все больше, а вероятность сбоя чтения, исчисляемая в случаях на количество прочитанных-записанных байт, остается практически неизменной. Я сейчас говорю не столько о надежности самого диска вида “сломался”, сколько о надежности математики чтения с поверхности дисков.

    Допустим, что мы предполагаем (условно) вероятность сбоя чтения одного бита из ста миллиардов. Но это только кажущаяся большая цифра и низкая вероятность, так как она означает, что мы будем получать ошибку чтения примерно каждые 12 с половиной гигабайт прочитанной информации. Конечно, реальная вероятность сбоя значительно, на много порядков ниже, но она, тем не менее, не нулевая. Официальную величину можно найти в данных на тот или иной тип дисков у производителя.

    То есть если раньше один случай вероятного сбоя вида “неверно прочлось и не исправилось математикой контроллера, oops…” был распределен на объем прочитанных байт, расположенных, например, на десятке дисков, то теперь, когда емкость одного диска увеличилась, количество дисков, несущих этот же объем байт, резко сократилось. И теперь вероятность сбоя дисковой группы резко выросла. Ведь теперь сбой возможен на гораздо меньшем количестве дисков. Допустим, раньше у нас был массив в 4TB из 30 дисков 144GB. Создав на нем 6 групп RAID-5 4+1 мы получаем, что мы готовы перенести, без потери данных, до 6 сбоев диска, по одному в каждой RAID-группе.
    Но времена меняются, и теперь 4TB это всего 5 дисков вида RAID-5 4+1. А вероятность в, условно допустим, 6 сбоев на такой объем осталась прежней.

    Это значит, что на больших массивах, RAID-5, защищающий от единичного сбоя, больше не защищает ни от чего.
    Это значит, что в случае дискового сбоя, на время ребилда RAID, а это время на дисках 146GB под нагрузкой занимает до суток, а на дисках большего размера, соответственно, больше, сообщают о величинах до 80-100 часов.
    Готовы ли вы примерно на четверо суток оказаться без RAID для ваших данных вообще?
    “Без RAID” (RAID-0, другими словами) потому что на время ребилда любой сбой чтения-записи, на любом диске, приведет к потере данных теперь уже гарантировано.

    Конечно картинку я рисую несколько утрированно апокалипсическую, но тенденция именно такова, и игнорировать ее уже нельзя.

    Показательная иллюстрация была найдена в документации NetApp.

    netapp_Raid-dp_vs_Raid_5_data_loss

    А это — данные HDS (чтобы вы не думали, что это все пропаганда в пользу одного вендора).

    hds_raid_5_and_raid_6_risk_of_data_loss_probability

    Отчасти задача, казалось бы, решается с помощью RAID-10 (RAID 0+1). При благоприятном стечении обстоятельств мы можем пережить отказ в половине дисков, однако, если эти диски из разных “половин” зеркала. Однако, как заметил еще Мерфи, обстоятельства склонны случаться в наихудшем из возможных вариантов.

    Именно рост объемов на один диск, и, как следствие, повышающаяся вероятность сбоя “на шпиндель хранения”, вызвало тот факт, что сегодня практически все вендоры предложили в своих системах хранения реализации “RAID с двойной четностью”.

    Ну хорошо, скажете вы. Отчего мы тогда все не применяем RAID-6 повсеместно?

    Увы, один, но значительный минус присутствует. Будучи сравнимой в показателях производительности при Random Read, Sequential Read и Sequential Write, RAID-группа с типом 6 как правило сильно проигрывает (практически на треть!) на Random Write, что практически лишает RAID-6 шансов на использование в задачах, критичных к быстродействию по тому параметру, например OLTP-базы данных, и подобных им. Более того, практически, применения RAID-6 в его классическом виде, возможно только на весьма ограниченном пространстве задач, таких, как, например бэкапы, или DSS-базы, то есть задачи без Random Write. По крайней мере Best Practices вендоров тут единодушны.

    На фоне этих невеселых сведений особняком стоит реализация “RAID с двойной четностью” от NetApp — RAID-DP.
    Будучи собственной, независимой реализацией RAID-6, полностью соответствующей определению RAID-6, данном SNIA, она принципиально отличается от собственно RAID-6 тем, что показатели на Random Write на такой дисковой группе не ухудшаются, как это характерно для “классического” RAID-6.
    Если совсем буквоедствовать, то ухудшение присутствует, но в пределах нескольких процентов, против примерно 20-33% у “классического RAID-6″.
    Это единственная такая реализация RAID-6 из существующих на рынке.

    Это позволило рекомендовать NetApp использовать RAID-DP как тип “по умолчанию” для всех своих систем хранения.
    Больший же расход дисков на “погонный usable гигабайт” компенсируется тем, что в случае использования RAID-DP мы можем использовать более длинные RAID-группы, без опаски за надежность хранимых данных. Так, например, если ранее, с RAID-4 NetApp рекомендовал использовать группы по 7+1 дисков, то в случае RAID-DP рекомендации говорят о 14+2-дисковых группах (а максимально возможно 28!), как можно видеть, количество дисков, которые мы отдаем за обеспечение отказоустойчивости не увеличивается, а надежность растет, как мы показали ранее.

    Dave Hitz:
    http://blogs.netapp.com/dave/2006/05/why_double_prot.html
    С обычным RAID, мы рекомендуем пользователям создавать массивы RAID из 7 дисков плюс 1 parity disk. При использовании RAID-DP, мы рекомендуем создавать массив из 14 дисков, плюс 2 parity disks. Таким образом, это 2 parity disks на каждую полку с 14 дисками. При этом математика говорит, что RAID-DP на 14 дисках много, много безопаснее, чем обычный RAID на 7 дисках.

    Romx

    http://blog.aboutnetapp.ru/

    • Рубрика: Storages,Новое
    • Автор: Romx
    • Дата: Понедельник 04 Май 2009

Комментарии

  1. еще есть своя реализация RAID 6 у соляриса — они говорят вообще не проигрывает 🙂 только процессор кушает

  2. Это вы про RAID-Z2? Ну не то чтобы вообше. Но да, многие идеи из WAFL перенесены в ZFS, поэтому многие связанные с ним положительные результаты — тоже.

    Хотя в ZFS и свои заморочки есть.

  3. Странная статья. Процедура ребилд инициируется, в случае отказа (а не сбоя), например, одного физического диска в RAID-5.

    В статье неплохо было бы процитировать на оригинальном языке SNIA, что такое истинный RAID-6, а не маркетинговое заявление по поводу независимой реализацией RAID-6 от NetApp (следовательно отступающей от принятой SNIA) с подтверждением результатов «чудесной» работы из независимых от компании NetApp источников.

  4. > В статье неплохо было бы процитировать на оригинальном языке SNIA, что такое истинный RAID-6

    Неплохо. Процитируйте 🙂

    > (следовательно отступающей от принятой SNIA)

    Нет, она полностью соответствует текущему описанию SNIA для RAID-6

    Вы, конечно, имеете полное право этому факту не верить 🙂

    > с подтверждением результатов «чудесной» работы из независимых от компании NetApp источников.

    Что для вас «независимый» источник? 😉

  5. Хорошая дискуссия намечается, по принципу «сам — такой».

    Вы во всю ссылаетесь на авторитетную структуру SNIA, заявляете, что реализация независимая (следовательно не классическая, но полностью соответствующая) и предлагаете мне самому искать этому подтверждение или на слово этому поверить.

    Независимые — это те, которые не финансировались компанией NetApp для проведения тестирования.

    Прочитав статью, я так и не понял, что собой представляет термин «сбой» в этой статье, в чём преимущества защиты от него созданием RAID? Возможно в системах хранения NetApp при возникновении сбоя при чтении с диска запускается процедура ребилд при нестандартном построении RAID-6?

  6. > Хорошая дискуссия намечается, по принципу «сам — такой».

    Ну а какого вы ожидали уровня? Вы его сами предложили.

    > Вы во всю ссылаетесь на авторитетную структуру SNIA

    Я? Ссылаюсь? Вы меня с кем-то путаете. Я только упомянул, в одной строчке, что существует спецификация RAID-6, от SNIA, и RAID-DP, несмотря на внутреннюю принципиальную разницу устройства, ее формальному определению соответствует, а значит корректно его рассматривать как версию этого RAID-6. Все.

    Если что-то крякает как утка, выглядит как утка, и плавает как утка, то это утка (RAID-6), не так ли? 😉

    > Независимые — это те, которые не финансировались компанией NetApp для проведения тестирования

    Я — не финансировался компанией NetApp. Я — независим, и я это утверждаю. Хотите даже счас создам страничку или две на каком-нибудь хостинге, и сошлюсь сам на себя, в подтверждение своей же правоты? 😉

    Не очень понимаю этой тяги к «пруфлинкам» в интернете. Все равно вы поверите только самому себе, не так ли? 😉

    > Прочитав статью, я так и не понял, что собой представляет термин «сбой» в этой статье, в чём преимущества защиты от него созданием RAID?

    Правда что, давайте перейдем к вопросам по существу.

    Сбои бывают разные. Бывает просто выход из строя диска, тогда из RAID-массива сразу выпадает целый кусок raw data, и тогда единственный выход — восстанавливать данные за счет избыточности, а бывает просто сбой чтения на в целом исправном диске.

    Когда должно было прочесться A, а прочлось B. Такое бывает, не часто, но бывает. Вероятность такого события невелика, но она не нулевая. Беда в том, что если уж эта ошибка выскочила из диска, то средствами контроллера диска ее уже не отловить, и даже не определить что она произошла.

    (К слову, у NetApp и EMC, специально для защиты от такой беды для каждого сектора диска хранится служебная контрольная сумма. По ней нельзя восстановить сбойные данные, зато можно установить факт сбоя по несовпадению контрольной суммы)

    И вероятность такой ошибки растет с ростом емкостей дисков, и объемов чтения-записи с них.

    Особенно она велика при использовании дисков SATA. Почему это так — тут уж надо у их разработчиков узнавать.

    В случае выхода из строя одного диска в RAID-5, массив становится полностью не защищен против такого (впрочем, любой причины) сбоя. А время ребилда в результате выхода из строя диска на современных массивах достаточно велико, чтобы не игнорировать такой риск.

    Вот поэтому нужен RAID-6.

  7. Зашёл на сайт SNIA по вашей рекомендации. Нашёл определение RAID 6 www.snia.org/education/dictionary/r/

    RAID Level 6

    [Storage System] Any form of RAID that can continue to execute read and write requests to all of a RAID array's virtual disks in the presence of any two concurrent disk failures.

    Several methods, including dual check data computations (parity and Reed Solomon), orthogonal dual parity check data and diagonal parity have been used to implement RAID Level 6.

    Если цель статьи — рассказать о RAID-6, то почему рассматривается только один вендор NetApp с неподтверждённым утверждением, что его реализация лучше работает, чем классическая (в ответе промелькнуло упоминание EMC, уже хорошо)?

    И странно всё воспринимать на свой счёт по поводу независимости. Вас попросили привести ссылки, если они у Вас есть. Из дискусии, я понял, что их нет.

    По поводу защиты данных: помимо RAID групп, существует и понятие резервного (spare) диска (локального или глобального). Так что ваше утверждение: «В случае выхода из строя одного диска в RAID-5, массив становится полностью не защищен против такого (впрочем, любой причины) сбоя.», не совсем корректно.

    По поводу «пруфлинкам», я понимаю так, что советуете пользоваться маркетинговыми материалами (судя по приведённым данным от NetApp), которые более достоверны, но у каждого вендора свои с упором на некие особенности без раскрытия технических деталей.

  8. > Если цель статьи — рассказать о RAID-6, то почему рассматривается только один вендор NetApp

    Валерий, налицо недопонимание. Этот текст я публикую на своем собственном блоге, который целиком посвящен технологиям и системам хранения NetApp (ссылка в репосте должна быть), а тут он просто репостится по просьбе и желанию хозяина itband.ru

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

    Но она действительно лучше работает, как бы это не оскорбляло вас в ваших лучших чувствах. Что я могу с этим поделать. 😉 Правду не спрячешь 😉

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

    Нет, оно полностью корректно. Я написал выше (и не раз) про время ребилда. Это ребилд на spare, на что же еще. И он на самом деле может занимать до полутора-двух (а иногда и трех-пяти!) суток, это вполне наблюдаемый факт, опять же, нравится вам это или нет. И на время ребилда RAID-5 (всегда) и RAID-10 (при определенных условиях) превращаются в массив без защиты данных.

    Об этом факте не так много людей задумываются, просто потому, что эта проблема стала реальной в крайние годы, по причине резкого роста объемов дисков.

    По поводу «независимых источников», раз уж вы их так принципиально хотите — их есть у меня:

    www.storagenerve.com/2009... -hds-raid-6.html

    www.storagenerve.com/2009...nced-raid-6.html

    www.storagenerve.com/2009...lementation.html

    www.storagenerve.com/2009...lementation.html

    Не то чтобы они были более научными, чем написанное мной, но автор — не я 😉 Возможно ему удастся убедить вас в том, что я не фантазирую на деньги маркетингового бюджета вендора.

    Можете к нему также пристать с просьбами «показать сиське документы» ;-D

    > но у каждого вендора свои с упором на некие особенности без раскрытия технических деталей.

    Технические данные как раз не особо-то скрываются. Принципиальная возможность писать на RAID с чередованием (5,6) без потери производительности возможна в случае применяемого NetApp-ом режима записи «полным последовательным страйпом». Но, к сожалению, реализовать этот режим в «классических» системах по ряду причин невозможно.

    Подробнее за деталями могу только позвать в свой блог, и почитать там два недавних поста про устройство применяемой в системах хранения NetApp файловой системы WAFL.

  9. Все-таки немного непонятно. При «сбое чтения», когда вместо А прочиталось В, raid 6 (или raid dp) позволяет обнаружить\предотвратить эту ситуацию?

  10. А я вообще, когда вижу формулу Sn = (n-1)*S1 для рэйд 5 или Sn = (n-2)*S1 для рэйд 6, чувствую, что меня дурят 🙂

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

Опубликовать

Я не робот.