Издаётся с 2008 года · Цифровое издание · 19 Июнь 2026

SMB IT Journal

Информационно-технологический ресурс для малого бизнеса

Русский
Системы хранения

Сравнение RAID 10 и RAID 01

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

Прежде всего следует отметить, что каждый из них может записываться со знаком плюс или без него: RAID 10 — это RAID 1+0, а RAID 01 — это RAID 0+1. Как ни странно, RAID 10 почти никогда не пишут со знаком плюс, а RAID 01 — почти всегда без него. Специалисты по хранению данных в целом согласны с тем, что знак плюс излишен и не используется.

Оба этих уровня RAID являются «составными» — они образованы из двух разных простых типов RAID. Оба основаны на зеркалировании и не используют контроль чётности — это составные или вложенные уровни RAID. Оба имеют практически идентичные характеристики производительности: минимальные накладные расходы и задержку, скорость чтения NX и скорость записи (NX)/2, где N — количество дисков в массиве, а X — производительность одного диска.

Принципиальное различие между двумя уровнями RAID заключается в том, как они обрабатывают отказ диска. Если говорить кратко, RAID 10 исключительно надёжен практически во всех разумных сценариях. RAID 01, однако, становится значительно более рискованным по мере увеличения размера массива.

В RAID 10 потеря любого одного диска приводит к деградации единственного набора RAID 1 внутри страйпа RAID 0. Уровень страйпа не деградирует — только это одно зеркало RAID 1. Все остальные зеркала не затрагиваются. Это означает, что единственный возросший риск — один диск теперь работает без резервирования и не защищён. Все остальные зеркалированные наборы по-прежнему полностью защищены. Таким образом, наша незащищённость — это один одиночный диск, примерно как можно ожидать в настольном компьютере.

Восстановление массива в деградированном RAID 10 — максимально быстрый из возможных сценариев. После замены отказавшего диска происходит лишь пересборка одного зеркала — простая операция копирования на уровне RAID 1, ниже страйпа RAID 0. Это означает, что если общий массив простаивает, процесс зеркалирования может идти на полной скорости, а весь массив не замечает этого. Зеркалирование диска на диск чрезвычайно быстро, эффективно и надёжно. Это идеальный сценарий восстановления. Даже если несколько зеркал одновременно деградировали и одновременно восстанавливаются, дополнительного влияния нет, поскольку пересборка одного не затрагивает другие. Масштабируемость RAID 10 по риску и по влиянию восстановления отлична.

RAID 01, напротив, при потере одного диска немедленно теряет целый страйп RAID 0. В типичном зеркале RAID 01 есть два страйпа RAID 0. Это значит, что половина всего массива вышла из строя. Если речь идёт о восьмидисковом массиве RAID 01, отказ одного диска мгновенно выводит из строя четыре диска (оборудование не нужно заменять, однако данные на этих дисках устарели и для дальнейшего использования должны быть пересобраны). С точки зрения риска это можно расценивать как отказ всего страйпа.

После отказа одного диска остаётся лишь один незащищённый страйп RAID 0. Это гораздо опаснее, чем аналогичный отказ RAID 10, потому что вместо одного изолированного жёсткого диска под угрозой оказываются минимум два диска, а возможно и значительно больше, и каждый из них существенно увеличивает общий риск.

Для примера: в минимально возможном массиве RAID 10 или RAID 01 из четырёх дисков при отказе одного диска в RAID 10 риск заключается в том, что его парный диск тоже выйдет из строя до завершения пересборки. Опасаться нужно только за этот один диск; все остальные диски в наборе RAID 10 по-прежнему защищены. Только этот один вызывает беспокойство. В RAID 01 при отказе первого диска его партнёр по страйпу RAID 0 мгновенно становится бесполезным и фактически выходит из строя, так как более не может работать в массиве. В результате остаются два диска без какой-либо защиты, работающие только в режиме RAID 0, и мы имеем тот же риск, что и в RAID 10, но уже дважды. Это делает наш риск в лучшем случае значительно выше.

Для более наглядного примера рассмотрим большой двадцатичетырёхдисковый массив RAID 10 и RAID 01. Снова с RAID 10: при отказе одного диска все остальные, кроме его единственного партнёра, по-прежнему защищены. Увеличение размера массива почти не добавляет риска. Мы по-прежнему опасаемся только за один одиночный диск. Сравните это с RAID 01, у которого при отказе одного диска сразу выйдет из строя один из его массивов RAID 0, утянув за собой двенадцать дисков, а оставшиеся двенадцать дисков будут работать в режиме RAID 0 без какой-либо защиты. Вероятность отказа одного из двенадцати дисков очевидно значительно выше, чем вероятность отказа одного-единственного диска.

Это ещё не полная картина. Восстановление одного диска RAID 10 выполняется быстро — это прямая операция копирования с одного диска на другой. Она требует минимум ресурсов и занимает ровно столько времени, сколько нужно одному диску для полного чтения и записи. RAID 01 в этом отношении менее удачен. В отличие от RAID 10, который пересобирает только небольшое подмножество всего массива, причём подмножество, которое не растёт вместе с массивом (время восстановления четырёхдискового и сорокадискового RAID 10 после отказа одинаково), RAID 01 должен пересобрать целую половину родительского массива. В случае четырёхдискового массива это вдвое больше работы по пересборке по сравнению с RAID 10, а в случае двадцатичетырёхдискового — в двенадцать раз больше. Таким образом, пересборка RAID 01 занимает больше времени и при этом происходит в условиях значительно более высокого риска.

Существует довольно устойчивый миф о том, что RAID 01 и RAID 10 имеют разные характеристики производительности, однако это не так. Оба используют обычный страйпинг и зеркалирование — операции с практически нулевыми накладными расходами, требующие минимальной вычислительной мощности. Оба обеспечивают полную скорость чтения со всех подключённых дисковых устройств и оба теряют половину скорости записи на операции зеркалирования (при условии двустороннего зеркалирования, которое является единственным распространённым вариантом использования обоих типов массивов). Попросту нет ничего, что делало бы RAID 01 или RAID 10 быстрее или медленнее другого. Оба исключительно быстры.

Исходя из характеристик двух типов массивов, очевидно, что RAID 10 — единственный из двух, который следует использовать в рамках одного контроллера массива. RAID 01 излишне опасен и не имеет никаких преимуществ. Они используют одинаковые ёмкостные накладные расходы, имеют одинаковую производительность, стоят одинаково в реализации, однако RAID 10 значительно надёжнее.

Так зачем вообще существует RAID 01? Частично — из-за незнания или путаницы. Многие люди, создающие собственные составные RAID-массивы, выбирают RAID 01, потому что слышали миф о его большей скорости и, как это обычно бывает с RAID, не углубляются в причины и забывают изучить вопросы надёжности и другие факторы. RAID 01 в реальности реализуется на локальных массивах только по ошибке.

Однако, когда мы переносим RAID на сетевой уровень, появляются новые факторы, и RAID 01 может приобрести значение, как и его редкий «кузен» RAID 61. Мы обозначаем с помощью нотации Network RAID, где находятся локальный и сетевой уровни RAID. В данном случае мы имеем в виду RAID 0(1) ИЛИ RAID 6(1). Скобки обозначают, что зеркало RAID 1 — «верхняя» часть стека RAID — реализовано через сетевое соединение, а не на локальном RAID-контроллере.

Как это выглядит в RAID 0(1)? Если у вас есть два сервера, каждый со стандартным массивом RAID 0, и вы хотите синхронизировать их вместе для работы в качестве единого надёжного массива, вы можете использовать такую технологию, как DRBD (в Linux) или HAST (во FreeBSD), для создания сетевого массива RAID 1 из локального хранилища на каждом сервере. Очевидно, это сопряжено с большими накладными расходами на производительность, поскольку массив RAID 1 должен поддерживаться в синхронизированном состоянии через соединение LAN с высокой задержкой и низкой пропускной способностью. RAID 0(1) — это нотация для данной схемы. Если каждый локальный массив RAID 0 заменить более надёжным RAID 6, вся схема записывается как RAID 6(1).

Почему мы принимаем риск RAID 01, когда он реализован по сети, но не принимаем его при локальной реализации? Это связано с природой сетевого соединения. В случае RAID 10 мы полагаемся на нижний уровень RAID 1 стека RAID для защиты, а RAID 0 располагается сверху. Если мы воспроизведём это на сетевом уровне как RAID 1(0), то каждый хост будет иметь одно зеркало, представляющее лишь часть данных массива. Если что-либо случится с любым узлом массива или если сетевое соединение прервётся, массив мгновенно разрушится, и каждый узел останется с бесполезными, неполными данными. Именно высокий риск отказа узлов и риск на уровне сетевого соединения делает принятие решений о RAID в сетевой среде принципиально иным. Это само по себе становится сложной темой.

Достаточно сказать: при работе с обычными RAID-контроллерами или с локальным хранилищем и программным RAID используйте исключительно RAID 10 и никогда — RAID 01.

Меткиraid raid 01 raid 10

Реклама

SMB IT Journal — the IT resource for small business