RAID

К словарю | К разделу Fundamentals

RAID (Redundant Array of Independent Disks) — технология объединения
нескольких физических HDD или SSD в логический массив. В зависимости от уровня
RAID массив позволяет повысить производительность, отказоустойчивость или
доступный объём хранилища.

Операционная система обычно работает с массивом как с одним логическим
устройством, а распределением данных между физическими дисками управляет
RAID-контроллер или программный слой операционной системы.

Основные уровни RAID

Уровень RAID определяет, как данные и избыточная информация распределяются
между дисками.

Уровень Принцип Минимум дисков Преимущества Ограничения Типичное применение
RAID 0 Striping 2 Высокая скорость и использование всей ёмкости Нет отказоустойчивости: отказ одного диска разрушает массив Временные данные и задачи, где важна скорость, а потеря допустима
RAID 1 Mirroring 2 Простота и сохранение данных при отказе одного диска Для хранения доступна половина суммарной ёмкости ОС, небольшие серверы и важные данные
RAID 5 Striping с распределённой чётностью 3 Баланс ёмкости, скорости чтения и защиты от отказа одного диска Запись и восстановление массива создают дополнительную нагрузку NAS и файловые серверы
RAID 6 Striping с двойной распределённой чётностью 4 Допускает отказ любых двух дисков Более дорогая запись и меньшая полезная ёмкость Массивы с большим числом дисков и повышенными требованиями к доступности
RAID 10 Stripe поверх зеркальных пар 4 Высокая скорость, быстрое восстановление и отказоустойчивость Для хранения доступна половина суммарной ёмкости Нагруженные серверы и базы данных

RAID 10 может пережить отказ нескольких дисков, если они находятся в разных
зеркальных парах. Одновременный отказ обоих дисков одной пары приведёт к потере
массива.

Зачем нужен RAID

RAID применяют для решения трёх основных задач:

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

RAID 0 даёт производительность и объединение ёмкости, но не обеспечивает
отказоустойчивость.

Аппаратный и программный RAID

Аппаратный RAID управляется отдельным контроллером с собственным процессором,
памятью и иногда защищённым кешем записи. Он разгружает основной CPU, но создаёт
зависимость от контроллера и может усложнить восстановление при его отказе.

Программный RAID реализуется операционной системой, например Linux mdadm
или Windows Storage Spaces. Он использует ресурсы основной системы, но не
требует специализированного контроллера и часто проще переносится между
совместимыми машинами.

Существуют также firmware- и host-based-решения, которые используют возможности
материнской платы, но часть работы выполняют драйвером на основном CPU.

Что происходит при отказе

После отказа диска отказоустойчивый массив переходит в degraded-состояние и
продолжает работать с меньшим запасом надёжности. После замены накопителя
начинается rebuild — восстановление данных или чётности на новом диске.

Во время rebuild:

  • растёт нагрузка на оставшиеся диски;
  • может снижаться производительность;
  • повышается риск потери массива при следующем отказе;
  • большие массивы могут восстанавливаться продолжительное время.

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

RAID не заменяет резервное копирование

RAID защищает прежде всего от отказа отдельных дисков. Он не защищает от:

  • случайного удаления или перезаписи данных;
  • логического повреждения файловой системы;
  • вируса-шифровальщика;
  • ошибок приложения или администратора;
  • кражи или уничтожения сервера;
  • отказа RAID-контроллера, питания или всего дата-центра.

Изменение или удаление данных обычно сразу отражается на всём массиве. Поэтому
RAID должен дополняться независимыми резервными копиями и проверкой их
восстановления.

Ответ на собеседовании

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

Источники

Прокрутить вверх