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

SMB IT Journal

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

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

Переосмысление RAID

Когда я был начинающим сервисным техником и почти ничего не знал о системном администрировании, одной из немногих тем, которые от нас всегда требовали знать назубок, был RAID — Redundant Array of Inexpensive Disks (избыточный массив недорогих дисков). Это было решение всех наших проблем с хранением данных. С RAID мы могли масштабировать файловые системы до большего объёма, добиваться более высокой пропускной способности и даже добавлять избыточность, позволявшую пережить потерю диска — что в те времена случалось весьма регулярно. С распространением NAS- и SAN-накопителей навыки работы на уровне физического хранилища и его тонкой настройки под нужды конкретной системы стремительно исчезают. А зря. То, что мы отдаём хранение данных на откуп внешним устройствам, не отменяет необходимости фундаментального понимания своего хранилища и его настройки под конкретные нужды систем.

За последние пять-десять лет в отрасли укоренилось заблуждение: многие считают RAID своего рода резервным копированием системы. Это не так. RAID — форма отказоустойчивости. Резервное копирование и отказоустойчивость — принципиально разные концепции. Резервное копирование предназначено для восстановления после наступившей катастрофы. Отказоустойчивость — для снижения вероятности самой катастрофы. Представьте отказоустойчивость как забор на краю обрыва, а резервное копирование — как больницу у его подножия. Лучше не оказываться в ситуации, где нет ни забора, ни больницы, — но это совершенно разные вещи.

Внедрив RAID для своих дисков — будь то локально подключённые или на удалённом устройстве типа SAN, — мы сегодня имеем четыре ключевых решения RAID для бизнеса на выбор: RAID 1 (зеркалирование), RAID 5 (чередование с контролем чётности), RAID 6 (чередование с двойным контролем чётности) и RAID 10 (зеркалирование с чередованием). Существуют и другие уровни, например RAID 0, которые следует применять лишь в редких случаях, когда вы в полной мере понимаете потребности своей дисковой подсистемы. RAID 50 и RAID 51 также используются, но значительно реже и не столь эффективны. Десять лет назад были распространены RAID 1 и RAID 5, но сегодня у нас больше возможностей.

Рассмотрим варианты и обсудим базовые числа. В примерах мы будем использовать n для обозначения количества дисков в массиве и s для обозначения ёмкости отдельного диска. На их основе можно выразить полезный объём хранилища массива, что упрощает сравнение по ёмкости.

RAID 1: В этом типе RAID диски зеркалируются. Два диска выполняют все операции одновременно — отсюда и название «зеркалирование». Зеркалирование исключительно стабильно, поскольку процесс очень прост, однако требует вдвое больше дисков, чем при работе без RAID: второй диск целиком отведён под избыточность. Преимущество в том, что каждый бит, записываемый на диск, записывается дважды. Полезная ёмкость при RAID 1 рассчитывается как (n*s/2). RAID 1 обеспечивает минимальный прирост производительности по сравнению с одиночными дисками без RAID. Скорость записи эквивалентна системе без RAID, тогда как скорость чтения почти вдвое выше в большинстве ситуаций, поскольку при операциях чтения диски могут обращаться параллельно, увеличивая пропускную способность. RAID 1 ограничен набором из двух дисков.

RAID 5: Чередование с одиночным контролем чётности. В этом типе RAID данные записываются в виде сложной чередующейся полосы по всем дискам массива с распределённым блоком чётности, существующим на всех дисках. Благодаря этому RAID 5 способен использовать массив произвольного размера из трёх и более дисков, теряя ёмкость, эквивалентную лишь одному диску, хотя чётность распределена и не хранится исключительно на каком-либо одном физическом диске. RAID 5 популярен благодаря своей экономичности: потери ёмкости минимальны, особенно в больших массивах. В отличие от зеркалирования, чередование с контролем чётности требует вычисления для каждой полосы записи, что создаёт определённые накладные расходы. Пропускная способность не всегда является очевидной величиной и в значительной мере зависит от вычислительной мощности системы, выполняющей расчёт чётности. Ёмкость RAID 5 рассчитывается просто: ((n-1)*s). Массив RAID 5 выдерживает потерю любого одного диска.

RAID 6: Чередование с двойным контролем чётности. RAID 6 практически идентичен RAID 5, но использует два блока чётности на полосу вместо одного, обеспечивая дополнительную защиту от сбоев дисков. RAID 6 — более новый уровень семейства RAID, добавленный через несколько лет после стандартизации остальных уровней. Его особенность — способность пережить отказ любых двух дисков в массиве без потери данных. Однако за дополнительную избыточность придётся заплатить потерей ёмкости, эквивалентной двум дискам, и необходимостью не менее четырёх дисков. Ёмкость массива RAID 6 рассчитывается как ((n-2)*s).

RAID 10: Зеркалирование плюс чередование. Технически RAID 10 — гибридный тип RAID, представляющий собой набор зеркал RAID 1, существующих в полосе без контроля чётности (RAID 0). Многие поставщики используют термин RAID 10 (или RAID 1+0), говоря о массиве лишь из двух дисков, но технически это RAID 1, поскольку чередование возможно лишь при наличии минимум четырёх дисков. В RAID 10 диски добавляются парами, поэтому в массиве может быть только чётное число дисков. RAID 10 выдерживает потерю до половины от общего числа дисков, но не более одного из каждой пары. RAID 10 не требует расчёта чётности, что даёт ему преимущество в производительности перед RAID 5 и RAID 6 и меньшую нагрузку на процессор. RAID 10 обеспечивает наибольшую скорость чтения среди распространённых типов RAID, поскольку при операциях чтения все диски могут использоваться одновременно, хотя скорость записи заметно ниже. Расчёт ёмкости RAID 10 аналогичен RAID 1: (n*s/2).

В современных корпоративных IT-системах редко возникает реальная необходимость рассматривать конфигурации дисков за пределами этих четырёх вариантов — независимо от того, используется программный или аппаратный RAID. Традиционно главным критерием при выборе типа RAID была полезная ёмкость: диски стоили дорого и были невелики. Сегодня диски настолько велики, что ёмкость хранилища редко является острой проблемой — по крайней мере, не такой, как ещё несколько лет назад, — а цены снизились настолько, что приобретение дополнительных дисков для повышения избыточности, как правило, не представляет существенной проблемы. Когда ёмкость в дефиците, RAID 5 является популярным выбором, поскольку теряет наименьший объём хранилища по сравнению с другими типами массивов, а в больших массивах потери ёмкости минимальны.

Сегодня нас, как правило, беспокоит другое — прежде всего безопасность данных и производительность. Потратить немного больше ради защиты данных — очевидный выбор. RAID 5 проигрывает в том, что может выдержать потерю лишь одного диска. В массиве из трёх дисков это лишь немного опаснее, чем защита RAID 1: можно пережить потерю любого одного из трёх. Не так страшно по сравнению с потерей любого из двух. Но что если массив большой — скажем, шестнадцать дисков? Возможность безопасно потерять лишь один из шестнадцати дисков должна заставить нас куда более тщательно задуматься о надёжности.

Именно здесь RAID 6 заполняет этот пробел. RAID 6 в большом массиве вносит очень небольшие потери ёмкости и производительности, обеспечивая при этом возможность потери любых двух дисков. Сторонники чередования с контролем чётности нередко апеллируют к этим цифрам, убеждая руководство, что RAID 5/6 обеспечивает достаточное «соотношение цены и качества» в подсистемах хранения, — но в игру вступают и другие факторы.

Почти полностью упускается из виду в дискуссиях о надёжности RAID — и без того редко обсуждаемой теме — вопрос надёжности расчёта чётности. При RAID 1 или RAID 10 никакого «вычисления» для создания полосы с чётностью не производится. Данные просто записываются надёжным образом. При отказе диска его партнёр принимает нагрузку, производительность слегка снижается до замены диска. Никакого процесса перестройки, влияющего на остальные диски, не существует. С паритетными массивами дело обстоит иначе.

Массивы RAID с чётностью выполняют операции, включающие вычисление того, что есть и что должно быть на дисках. Хотя это вычисление весьма простое, оно создаёт почву для ошибок. Отказ контроллера массива при RAID 1 или RAID 10 теоретически мог бы привести к записи плохих данных поверх содержимого дисков, но поскольку никакого самостоятельного изменения дисков контроллером не предусмотрено, это крайне маловероятно: процесс «перестройки» существует только при создании зеркала.

Когда массивы с чётностью выполняют операцию перестройки, они проходят через весь массив и записывают недостающие данные на замененный диск. Сам по себе этот процесс относительно прост и не должен вызывать беспокойства. Однако я и другие специалисты лично наблюдали несколько иной сценарий, связанный с дисками, потерявшими связь из-за ослабших разъёмов. Диски нередко «расшатываются» со временем по мере работы в сервере, особенно после нескольких лет непрерывной эксплуатации.

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

Теоретически такая ситуация не должна возникать, и существуют защитные механизмы против неё, однако определение низкоуровневым контроллером диска текущего и предыдущего состояния диска, а также качества хранящихся на нём данных — не столь простая задача, как может показаться, и ошибки возможны. Хотя подобная ситуация маловероятна, она случается и добавляет практически невычислимый риск к системам RAID 5 и RAID 6. Помимо традиционного риска, рассчитываемого исходя из числа отказов дисков, которые способен пережить массив, необходимо учитывать и риск сбоя чётности. По мере того как диски становятся всё надёжнее, значимость события сбоя чётности относительно возрастает.

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

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

Хотя все современные уровни RAID имеют свою область применения, крайне важно рассматривать их в контексте и с пониманием всей совокупности рисков. Нам следует активно менять отраслевой стандарт: вместо умолчания в пользу RAID 5 переходить к умолчанию в пользу RAID 10. Диски дёшевы, а потеря данных обходится дорого.

[Примечание редакции: В годы, прошедшие с момента первоначального написания статьи, рост рисков, связанных с URE (Unrecoverable Read Errors — невосстановимыми ошибками чтения) в ходе операции перестройки, сместил основные риски с описанных выше в сторону рисков, связанных с URE, для паритетных массивов.]

Меткиraid storage

Реклама

SMB IT Journal — the IT resource for small business