RAID: зеркало, пятёрка или десятка - что выбрать
Аппаратные RAID-контроллеры стали доступны малому бизнесу. Разбираем RAID 1, 5 и 10 на реальных кейсах: скорость, стоимость, время перестроения - и снова почему RAID не заменяет бэкап.
аппаратные RAID-контроллеры становятся доступными для малого бизнеса
Год назад аппаратный RAID-контроллер был чем-то из мира серьёзных машинных залов. Сейчас карточки от Adaptec и Promise лежат на полках магазинов, и клиенты начинают приходить с вопросом не "нужен ли нам RAID", а "какой RAID нам нужен". Это, с одной стороны, прогресс. С другой - повод разобрать тему аккуратно, потому что выбор уровня влияет на живучесть, скорость и стоимость решения весьма по-разному.
Мы уже говорили про деградировавший массив и горячую замену, и чуть раньше про то, почему RAID не бэкап. Сегодня именно про уровни - с практической стороны, без академической таблицы.
RAID 1 - зеркало
Два диска, одни и те же данные на каждом. Один умер - второй продолжает работать, сервер не падает. Восстановление - вставляй новый диск и жди перестроения.
Достоинства очевидны. Простота до прозрачности: контроллеру не нужно ничего вычислять, просто дублируй каждую запись. Читать можно с обоих дисков одновременно - чтение быстрее. Если один диск умирает посреди рабочего дня, пользователи этого не замечают.
Плата за это - половина ёмкости уходит на дублирование. Два диска по 80 гигабайт дают вам 80 гигабайт полезного места, и никаких переговоров. Для файлового сервера небольшой конторы это нормально. Для чего-то, где важен объём, - расточительно.
Когда мы ставим зеркало: небольшой файловый сервер, сервер с почтой, машина с базой данных на 10-15 пользователей. Цена входа минимальная, надёжность выше любых аргументов против.
RAID 5 - распределённая чётность
Три диска и больше, данные и контрольные суммы (чётность) разбросаны по всем дискам. Один диск умирает - массив продолжает работать, данные восстанавливаются из чётности. Ёмкость теряется только на один диск: три диска по 80 гигабайт дают 160 гигабайт полезного пространства.
Это то, что клиенты любят на бумаге. Одна потеря вместо половины ёмкости, допустимый отказ одного диска - звучит как идеал.
Но есть ньюанс, который важно понимать заранее. Запись в RAID 5 требует от контроллера читать старые данные, вычислять новую чётность и только потом писать. Это дороже, чем просто дублировать запись. На бюджетных контроллерах запись ощутимо медленнее зеркала. На нормальном аппаратном контроллере с кешем и батарейкой - разница сглаживается, но никуда не девается полностью.
Второй момент - время перестроения. При отказе диска контроллер восстанавливает данные из чётности: читает все оставшиеся диски, вычисляет потерянное, пишет на новый. Чем больше объём - тем дольше. На массиве из нескольких больших дисков перестроение может растянуться на много часов, и всё это время массив работает без страховки. Мы к этому уже обращались: именно в этот промежуток бэкап важен как никогда.
Когда мы ставим RAID 5: когда объём важен и бюджет на диски ограничен, нагрузка на запись умеренная, контроллер нормальный аппаратный - не программный и не псевдоаппаратный. С программным RAID 5 на слабой машине вы получите процессорную нагрузку от вычисления чётности в подарок к остальным проблемам.
RAID 10 - зеркало поверх чередования
Четыре диска минимум. Сначала данные полосами чередуются между парами дисков (как RAID 0 - быстро), потом каждая пара зеркалируется (как RAID 1 - надёжно). Отсюда и название: 1+0.
Скорость - лучшая из трёх вариантов, особенно на запись. Никакого вычисления чётности, чистое зеркальное дублирование плюс чередование.
Отказоустойчивость - в каждой зеркальной паре может умереть один диск, и массив продолжит работать. При неудачном раскладе можно потерять два диска одновременно, если они из разных пар. При удачном раскладе - только один.
Перестроение - быстрее, чем у RAID 5, потому что данные копируются напрямую с зеркального диска, без вычисления чётности по всему массиву.
Плата - половина ёмкости под зеркалирование, то же что RAID 1. Четыре диска по 80 гигабайт дают 160 гигабайт. Дорого.
Когда мы ставим RAID 10: база данных с интенсивной записью, почтовый сервер на большую компанию, где простой стоит денег, и бюджет позволяет не экономить на дисках.
Что мы объясняем клиентам перед выбором
Три вопроса, которые реально определяют решение.
Первое - что важнее, объём или скорость записи. Объём тянет в RAID 5, скорость - в зеркало или десятку.
Второе - какой контроллер. Программный RAID на слабой машине - не тот случай, где RAID 5 уместен. Аппаратный контроллер с батарейным кешем меняет расклад.
Третье - есть ли бэкап. Этот вопрос не про уровень RAID. Он про то, что ни один уровень не спасёт от удалённого файла, вируса или программной ошибки, которая покорёжила базу. Мы об этом писали и повторяем при каждом удобном случае: RAID держит доступность при отказе диска. Бэкап защищает данные от всего остального. Это разные инструменты, и второй не вытекает из первого.
Клиент, который пришёл с вопросом "какой RAID", обычно уходит с ответом на вопрос "какой RAID плюс как делать копии". Это не продажа лишнего. Это попытка, чтобы через полгода не приезжать с мрачным лицом разбирать, почему зеркало не помогло.
- Горячая замена диска: сервер живёт, массив нервничает · 28 марта 2002
- Резервные копии и миф о RAID · 8 ноября 2001