Модуль 1: Core Linux & Server Administration

Серверное железо, RAID-массивы и Remote Management (IPMI/iDRAC/iLO)

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
SOC / Security Note: Интерфейсы IPMI/iDRAC/iLO содержат критический вектор атак. Их категорически запрещено публиковать прямо в интернет. Доступ должен быть строго ограничен отдельным изолированным Management VLAN и авторизацией через корпоративный VPN или Bastion-хост.