Как RAID защищает данные, даже когда диск ломается
Диски выходят из строя — это не «если», а «когда». RAID объединяет несколько дисков так, что отказ одного из них не стоит вам ни единого файла. Разбираемся, как зеркала и хитрая чётность переживают поломку железа.
Жёсткий диск не вечен — вопрос лишь в том, потеряете ли вы вместе с ним свои данные, и RAID отвечает: не обязательно.
RAID превращает несколько ненадёжных дисков в одно надёжное хранилище. Идея в избыточности: данные записаны так, что отказ одного диска переживается без потерь.
Любой накопитель однажды откажет. Поэтому серверы и хранилища редко полагаются на один диск. Вместо этого несколько дисков объединяют в массив RAID (избыточный массив независимых дисков). Снаружи он выглядит как один большой диск, а внутри устроен так, чтобы пережить поломку. Способов несколько — их называют уровнями.
RAID 1: зеркало
Самый понятный уровень — зеркалирование. Берут два диска и пишут на оба одно и то же, синхронно. Каждый файл существует в двух копиях. Сломался один диск — второй продолжает работать как ни в чём не бывало, вы даже не заметите. Меняете сломанный, система переписывает на него содержимое уцелевшего — и защита восстановлена.
Плата очевидна: из двух дисков полезного места — только один. Половина ёмкости уходит на страховку. Просто, надёжно, но дорого по объёму.
RAID 5: магия чётности
Хочется защиты без потери половины места — и тут начинается красивая математика. RAID 5 берёт минимум три диска. Данные он раскидывает по всем дискам кусками, а вдобавок хранит чётность — особую контрольную информацию, вычисленную из этих кусков.
Принцип проще, чем кажется. Представьте, что на трёх дисках лежат числа, а на четвёртом — их сумма. Если любой один диск пропадёт, его значение легко вычислить: вычесть из суммы остальные. Реальный RAID использует не сложение, а похожую обратимую операцию над битами, но суть та же: по уцелевшим данным и чётности недостающий кусок восстанавливается однозначно.
| Уровень | Переживает отказ | Теряется на защиту |
| RAID 1 (зеркало) | 1 диска | половина ёмкости |
| RAID 5 (чётность) | 1 диска | один диск из массива |
| RAID 6 (двойная чётность) | 2 дисков сразу | два диска из массива |
Из, скажем, четырёх дисков под данные идут три, под чётность — один. Накладные расходы куда скромнее, чем у зеркала, а отказ любого одного диска по-прежнему не страшен.
RAID 6: запас прочности
У RAID 5 есть тонкое место. После отказа одного диска массив работает «на честном слове»: пока вы меняете диск и идёт восстановление (а на больших дисках это часы), второй отказ означает потерю всего. RAID 6 хранит чётность дважды, по разным формулам, и спокойно переживает отказ двух дисков. На больших массивах это уже не роскошь, а необходимость.
Важное предупреждение: RAID — это не бэкап
Здесь кроется опасное заблуждение. RAID защищает от отказа железа — и только. Он бессилен против всего остального: вы случайно удалили папку — она мгновенно «удалится» со всех дисков массива; вирус-шифровальщик зашифрует данные сразу везде; пожар или кража заберут весь корпус целиком. Зеркало честно отзеркалит и вашу ошибку, и работу вируса.
Поэтому грамотная защита данных — это два разных рубежа. RAID обеспечивает бесперебойность: сервер не падает из-за сдохшего диска. А резервные копии обеспечивают восстановление: вернуть данные после удаления, шифровальщика или катастрофы. Одно не заменяет другое.
RAID — изящная инженерия: щепотка избыточности превращает горстку обречённых дисков в хранилище, которое не боится поломки. Но даже самый надёжный массив остаётся в одной коробке — а значит, и одной катастрофы от потери всего. И о том, как не остаться у разбитого корыта, стоит подумать отдельно.