Зачем нужен RAID

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

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

Жёсткие диски разных форм-факторов
Источник: Wikimedia Commons — Marus, public domain, https://commons.wikimedia.org/wiki/File:Hard_disk_drive_system.jpg

RAID 0: скорость без защиты

Данные разбиваются на блоки и пишутся одновременно на два и более дисков. Скорость чтения и записи растёт почти пропорционально количеству дисков. Но если выйдет из строя хоть один диск — массив разрушается, и данные пропадают.

Где использовать: временные файлы, кэш, тестовые стенды, видеомонтаж. Не использовать для важных данных. Даже на скоростном SSD-кэше RAID 0 оправдан только если данные легко восстановить.

RAID 1: зеркало

Данные одновременно пишутся на два диска. Если один выйдет из строя, второй продолжает работать. Полезный объём равен объёму одного диска.

Плюсы: простота, высокая отказоустойчивость, хорошая скорость чтения. Минусы: 50% потеря объёма.

Где использовать: системный диск сервера, небольшие файловые хранилища, критичные данные небольшого объёма.

RAID 5: баланс объёма и защиты

Минимум три диска. Данные распределяются по дискам, плюс хранится информация о чётности. При выходе одного диска массив продолжает работать, но на пониженной скорости.

Плюсы: экономия дисков — полезный объём N-1. Минусы: нагрузка на процессор/контроллер при записи, долгое восстановление после сбоя, риск потери второго диска во время rebuild.

Где использовать: файловые хранилища, архивы, не очень нагруженные базы. Для SSD RAID 5 более приемлем, чем для HDD, из-за быстрого rebuild.

RAID 6: защита от двух отказов

Похож на RAID 5, но хранится две контрольных суммы. Минимум четыре диска. Выдерживает отказ сразу двух дисков.

Плюсы: высокая надёжность. Минусы: ещё больше нагрузки на запись, полезный объём N-2.

Где использовать: большие хранилища, массивы из медленных больших дисков, где rebuild занимает много времени. RAID 6 снижает риск потери данных при длительном восстановлении.

RAID 10: зеркала в страйп

Гибрид: пары дисков объединяются в RAID 1, а затем пары объединяются в RAID 0. Минимум четыре диска. Выдерживает отказ одного диска в каждой паре.

Плюсы: высокая скорость чтения и записи, быстрое восстановление. Минусы: полезный объём 50%.

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

Как настраивать

Современные серверы обычно предлагают три пути:

  • Аппаратный RAID-контроллер. Самый производительный вариант, но требует совместимой карты и батареи/кэша. Подходит для серьёзных нагруженных систем.
  • Intel VMD / chipset RAID. Достаточно для простых задач, но функциональность ограничена. Часто встречается в бюджетных серверах.
  • Software RAID. mdadm в Linux или Storage Spaces в Windows. Гибко, бесплатно, но нагружает CPU. Хорош для NAS и простых серверов.

Выбор RAID под задачи

  • Системный диск сервера — RAID 1 на SSD.
  • База данных — RAID 10 на NVMe или SAS SSD.
  • Файловое хранилище — RAID 6 для HDD, RAID 5/6 для SSD.
  • Кэш и временные данные — RAID 0 или без RAID.
  • Бэкапы — RAID 6 или холодное хранилище без RAID, но с несколькими копиями.

Частые ошибки

  • Использование RAID 0 для важных данных.
  • Использование RAID 5 с большими HDD — rebuild может занять дни.
  • Отсутствие бэкапов из-за уверенности в RAID.
  • Неправильный выбор контроллера или программного RAID.

Вывод

Для системного диска берите RAID 1. Для баз данных и виртуализации — RAID 10. Для больших архивов и файловых хранилищ — RAID 6. RAID 5 — компромиссный вариант, RAID 0 — только для временных данных. И помните: RAID защищает диски, но не заменяет резервное копирование.

Тонкости rebuild

Когда диск выходит из строя, RAID начинает rebuild — восстановление массива. На HDD большого объёма это может занять сутки и больше. Во время rebuild нагрузка на оставшиеся диски возрастает, и риск выхода второго диска тоже растёт. Поэтому для больших HDD-массивов предпочтительнее RAID 6, а для SSD — RAID 5 или 10.

Всегда имейте горячий запасной диск (hot spare), если критичность данных высока. Это позволит начать rebuild автоматически, без участия администратора.

Бэкапы всё равно нужны

RAID не защищает от ransomware, человеческих ошибок, пожара, кражи и сбоев ПО. Регулярные бэкапы на отдельное устройство или в облако — обязательны. Идеальная схема: 3-2-1 — три копии, на двух разных носителях, одна вне офиса.

Итоговый чек-лист

  • Определили, что важнее: скорость, надёжность или объём.
  • Выбрали уровень RAID под задачу.
  • Выбрали тип реализации: аппаратный, чипсетный или программный.
  • Запланировали hot spare для критичных массивов.
  • Настроили бэкапы независимо от RAID.

При планировании RAID учитывайте размер дисков. Чем больше объём одного диска, тем дольше идёт rebuild. Для HDD объёмом 16–20 ТБ восстановление RAID 5 может занять несколько суток. За это время риск выхода второго диска серьёзно возрастает. Именно поэтому для больших дисков рекомендуется RAID 6 или RAID 10.

Если вы используете SSD, rebuild идёт намного быстрее, и RAID 5 становится более приемлемым. Но всё равно не забывайте про бэкапы. SSD тоже выходят из строя, иногда массово.

Для критичных систем настраивайте оповещения о сбоях дисков. Многие RAID-контроллеры и программные RAID умеют отправлять письма или SNMP-трапы. Реагировать на замену диска нужно как можно быстрее.

При выборе аппаратного RAID-контроллера обратите внимание на объём кэша и наличие батареи/суперконденсатора. Кэш ускоряет запись, а батарея защищает данные в кэше при отключении питания. Без батареи при сбое питания можно потерять данные, которые ещё не записались на диски.

Для SSD часто используют RAID-контроллеры с поддержкой TRIM и режима pass-through. Устаревшие контроллеры могут не эффективно работать с современными SSD, снижая их производительность.

Если вы выбираете программный RAID, учитывайте нагрузку на CPU. mdadm в Linux достаточно эффективен, но при RAID 6 на медленных CPU rebuild может занять много времени.

Планируйте замену дисков заранее. Держите хотя бы один запасной диск на полке. В критичных системах — hot spare. Время восстановления напрямую влияет на вероятность потери данных.

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

Для SSD-массивов обратите внимание на wear leveling и запас свободного пространства. Не заполняйте RAID из SSD под завязку. Оставляйте 10–20% свободного места для работы алгоритмов выравнивания износа.

Если вы используете программный RAID, настройте регулярную проверку целостности. Например, mdadm поддерживает check и repair, которые помогают находить проблемы до того, как они приведут к потере данных.

Пример выбора: у вас есть четыре диска по 4 ТБ. RAID 10 даст 8 ТБ полезного объёма и высокую скорость. RAID 6 даст 8 ТБ и защиту от двух отказов, но меньшую скорость записи. RAID 5 даст 12 ТБ, но более уязвим. Выбор зависит от приоритетов.

Для SSD-массива из четырёх дисков RAID 10 часто оптимален: быстрое восстановление, высокая производительность, приемлемый объём. Для HDD того же объёма RAID 6 безопаснее из-за длительного rebuild.

Также помните, что RAID-массивы можно комбинировать. Например, системный диск на RAID 1, база данных на RAID 10, архивы на RAID 6. Так каждый уровень работает там, где он наиболее эффективен.

И наконец, документируйте конфигурацию RAID. В экстренной ситуации чёткая документация спасёт часы и нервы.

Если вы используете RAID в виртуальной среде, учитывайте особенности гипервизора. Например, VMware рекомендует использовать RAID-контроллеры из HCL, а Hyper-V хорошо работает с программными RAID. Проверяйте совместимость перед внедрением.

Для баз данных важен размер страйпа. Мелкий страйп лучше для случайного доступа, крупный — для последовательного. Оптимальный размер зависит от профиля нагрузки и обычно подбирается экспериментально.

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

При планировании ёмкости RAID учитывайте, что реальный объём диска меньше заявленного. Например, диск на 4 ТБ даёт около 3,6 ТБ полезного пространства. После создания RAID 10 из четырёх таких дисков получится около 7,2 ТБ.

Также стоит учитывать файловую систему. ZFS, ext4, XFS, NTFS — у каждой свои особенности. Для больших массивов данных часто выбирают XFS или ZFS из-за масштабируемости и надёжности.

И последнее: тестируйте восстановление RAID до того, как он понадобится в боевой ситуации. Замените диск, понаблюдайте за rebuild, убедитесь, что процедура понятна.

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

Рассмотрим пример для базы данных. У вас есть четыре NVMe SSD по 1 ТБ. RAID 10 даст 2 ТБ полезного объёма и отличную производительность. RAID 6 даст 2 ТБ и защиту от двух отказов, но меньшую скорость записи. RAID 5 даст 3 ТБ, но более рискован. Для production базы данных лучше RAID 10.

Для файлового хранилища из шести HDD по 8 ТБ RAID 6 даст 32 ТБ и защиту от двух отказов. Это хороший выбор для архивов, где важен объём и надёжность.

Для системного диска достаточно двух SSD в RAID 1. Это просто, надёжно и недорого. Если один диск откажет, сервер продолжит работу.

И помните про мониторинг. Настройте оповещения о деградации массива, ошибках SMART и температуре дисков. Чем раньше вы узнаете о проблеме, тем меньше риск потери данных.

Ещё один важный момент — совместимость RAID-контроллера с дисками. Некоторые контроллеры плохо работают с SSD или большими HDD. Перед покупкой проверьте HCL — список совместимого оборудования. Это сэкономит много времени и нервов.

Для программного RAID в Linux обратите внимание на btrfs и ZFS. Они предлагают продвинутые возможности вроде снапшотов, проверки целостности и сжатия. Но требуют больше RAM и понимания принципов работы.

И не забывайте про регулярное тестирование процедур восстановления. Теоретически вы знаете, как заменить диск. На практике лучше один раз сделать это в спокойной обстановке.