1. Для чего нужен RAID-массив?
RAID (Redundant Array of Independent Disks) — это технология объединения нескольких физических накопителей в единый логический элемент с целью обеспечения отказоустойчивости и/или повышения производительности дисковой подсистемы.
В серверной инфраструктуре RAID решает две ключевые задачи:
- Отказоустойчивость и непрерывность работы: При выходе из строя одного (или нескольких) физических накопителей сервер продолжает функционировать без остановки операционной системы и потери данных.
- Повышение скорости: Запись и чтение данных происходят параллельно на несколько дисков, увеличивая пропускную способность I/O.
RAID — это НЕ бэкап. RAID защищает исключительно от физической поломки железа. Если файл удален командой rm -rf, повреждена файловая система или данные зашифрованы вирусом-вымогателем, изменения моментально синхронизируются по всем дискам массива. Резервные копии всегда хранятся на изолированных серверах.
2. Сравнение основных уровней RAID
Выбор уровня RAID зависит от требований сервиса к скорости, доступному объему и уровню надежности:
| Уровень | Мин. дисков | Полезный объем | Допустимый сбой | Назначение |
|---|---|---|---|---|
| RAID 0 (Striping) | 2 | N × Size | 0 дисков | Максимальная скорость. Чередование блоков. Отказоустойчивость отсутствует. |
| RAID 1 (Mirroring) | 2 | 1 × Size | 1 диск | Полное зеркалирование. Высокая надежность при потере 50% объема. |
| RAID 5 (Parity) | 3 | (N - 1) × Size | 1 диск | Баланс объёма и защиты. Распределение контрольных сумм по всем дискам. |
| RAID 10 (1+0) | 4 | (N / 2) × Size | До 1 диска в паре | Скорость + Надежность. Золотой стандарт для нагруженных БД (PostgreSQL, MySQL). |
3. Аппаратный vs Программный RAID (mdadm)
Существует два принципиально разных подхода к реализации массивов:
- Аппаратный (Hardware RAID): Вычисления выполняются отдельной платой-контроллером (например, LSI или PERC) с собственной кэш-памятью и энергонезависимой батареей (BBU). Основной минус — аппаратурная зависимость: при сгорании контроллера требуется аналогичная модель для сбора массива.
- Программный (Software RAID): Реализуется средствами ядра Linux с помощью утилиты
mdadm. Он абсолютно бесплатен, отчуждаем и легко переносится на любой другой Linux-сервер.
Практическая сборка RAID 1 в Linux через mdadm
Предположим, к серверу подключены два новых диска /dev/sdb и /dev/sdc:
# 1. Установка утилиты mdadm
sudo apt update && sudo apt install mdadm -y
# 2. Создание массива RAID 1 с именем /dev/md0
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
# 3. Проверка статуса синхронизации массива
cat /proc/mdstat
sudo mdadm --detail /dev/md0
# 4. Создание файловой системы и монтирование
sudo mkfs.ext4 /dev/md0
sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1
# 5. Сохранение конфигурации для автомонтирования при перезагрузке
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
Имитация аварии и замена накопителя
# Имитируем сбой диска /dev/sdc и извлекаем его
sudo mdadm /dev/md0 --fail /dev/sdc
sudo mdadm /dev/md0 --remove /dev/sdc
# Подключаем новый диск /dev/sdd и запускаем автоматический Rebuild
sudo mdadm /dev/md0 --add /dev/sdd
cat /proc/mdstat
4. Out-of-Band Management (IPMI, iDRAC, iLO)
Out-of-Band (OOB) — это аппаратный интерфейс удаленного управления сервером, работающий через независимый микроконтроллер (BMC) и отдельный Ethernet-порт.
Главная особенность OOB — доступность 24/7 при наличии питания, даже если сам сервер выключен, повис на этапе BIOS или упал с Kernel Panic.
Основные возможности:
- Virtual KVM: Полный доступ к консоли сервера, BIOS/UEFI и процессу загрузки OS.
- Virtual Media: Удаленное монтирование ISO-образов для установки ОС по сети.
- Power Management: Включение, выключение и жесткая перезагрузка (Power Cycle).
- Hardware Health: Мониторинг температур, планок RAM, БП и системных логов SEL (System Event Log).
Вендорные реализации стандартизированы: IPMI (открытый стандарт), iDRAC (Dell), iLO (HPE).
# Пример удаленного управления питанием сервера через ipmitool
ipmitool -I lanplus -H 192.0.2.10 -U admin -P secret power status
ipmitool -I lanplus -H 192.0.2.10 -U admin -P secret power reset