Настройка RAID и мониторинг здоровья дисков: руководство по smartctl
Обзор уровней RAID (0/1/5/10), программный RAID с mdadm, проверка здоровья дисков с smartctl, мониторинг с smartd и интерпретация данных SMART.
Содержание
Настройка RAID и мониторинг здоровья дисков: руководство по smartctl
Отказы дисков неизбежны в серверных средах. Технология RAID (Redundant Array of Independent Disks) объединяет несколько дисков для повышения безопасности данных и/или производительности. В этом руководстве рассматриваются уровни RAID, настройка программного RAID в Linux и мониторинг здоровья дисков с помощью smartctl.
Уровни RAID
RAID 0 — Чередование (Striping)
Данные равномерно распределяются по дискам.
- Минимум дисков: 2
- Ёмкость: Сумма всех дисков
- Производительность: Высокая скорость чтения/записи
- Надёжность: Нулевая — при отказе одного диска все данные теряются
- Применение: Временные данные, высокопроизводительные приложения
RAID 1 — Зеркалирование (Mirroring)
Данные записываются на все диски одновременно.
- Минимум дисков: 2
- Ёмкость: Ёмкость наименьшего диска
- Производительность: Скорость чтения растёт, скорость записи не изменяется
- Надёжность: Высокая — при отказе одного диска другой продолжает работу
- Применение: Диски ОС, критические данные
RAID 5 — Распределённый паритет
Данные и информация о чётности распределяются по всем дискам.
- Минимум дисков: 3
- Ёмкость: (N-1) × ёмкость диска
- Производительность: Хорошее чтение, умеренная запись
- Надёжность: Выдерживает отказ 1 диска
- Применение: Файловые серверы, хранилища общего назначения
RAID 10 — Зеркалирование + Чередование
Комбинация RAID 1 и RAID 0.
- Минимум дисков: 4
- Ёмкость: Половина общей ёмкости
- Производительность: Очень высокая
- Надёжность: Выдерживает отказ 1 диска в каждой паре
- Применение: Базы данных, высокая производительность + надёжность
Таблица сравнения RAID
| Характеристика | RAID 0 | RAID 1 | RAID 5 | RAID 10 |
|---|---|---|---|---|
| Мин. дисков | 2 | 2 | 3 | 4 |
| Ёмкость | 100% | 50% | (N-1)/N% | 50% |
| Скорость чтения | Очень высокая | Высокая | Высокая | Очень высокая |
| Скорость записи | Очень высокая | Нормальная | Умеренная | Высокая |
| Отказоустойчивость | 0 дисков | 1 диск | 1 диск | 1/пара |
| Безопасность данных | Нет | Высокая | Высокая | Очень высокая |
Физические серверы REXE могут иметь аппаратный RAID-контроллер. Программный RAID управляется ядром Linux как альтернатива аппаратному RAID.
Настройка программного RAID с mdadm
Установка mdadm
# Ubuntu/Debian
sudo apt update
sudo apt install mdadm -y
# CentOS/AlmaLinux
sudo dnf install mdadm -y
Подготовка дисков
# Список существующих дисков
lsblk
fdisk -l
# Просмотр информации о диске
sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sdc
# Очистить существующие RAID-сигнатуры
sudo mdadm --zero-superblock /dev/sdb
sudo mdadm --zero-superblock /dev/sdc
Создание RAID 1
# Создать массив RAID 1
sudo mdadm --create /dev/md0 \
--level=1 \
--raid-devices=2 \
/dev/sdb /dev/sdc
# Подтвердить создание (введите yes)
# Мониторинг статуса RAID
watch cat /proc/mdstat
# Проверить статус завершения
cat /proc/mdstat
Создание RAID 5
# Создать массив RAID 5 (3 диска)
sudo mdadm --create /dev/md0 \
--level=5 \
--raid-devices=3 \
/dev/sdb /dev/sdc /dev/sdd
# Добавить горячий резервный диск
sudo mdadm --create /dev/md0 \
--level=5 \
--raid-devices=3 \
--spare-devices=1 \
/dev/sdb /dev/sdc /dev/sdd /dev/sde
Сохранение конфигурации RAID
# Обновить mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
# Обновить initramfs
sudo update-initramfs -u
# Просмотр статуса RAID
sudo mdadm --detail /dev/md0
Создание файловой системы на RAID
# Создать файловую систему ext4
sudo mkfs.ext4 /dev/md0
# Создать точку монтирования
sudo mkdir /mnt/raid
# Смонтировать
sudo mount /dev/md0 /mnt/raid
# Добавить в /etc/fstab для постоянного монтирования
echo '/dev/md0 /mnt/raid ext4 defaults 0 0' | sudo tee -a /etc/fstab
Управление RAID
# Просмотр статуса RAID
sudo mdadm --detail /dev/md0
# Список всех массивов RAID
cat /proc/mdstat
# Пометить диск как неисправный
sudo mdadm /dev/md0 --fail /dev/sdb
# Удалить неисправный диск
sudo mdadm /dev/md0 --remove /dev/sdb
# Добавить новый диск
sudo mdadm /dev/md0 --add /dev/sdb
Проверка здоровья дисков с smartctl
smartctl считывает данные S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) с дисков.
Установка smartmontools
# Ubuntu/Debian
sudo apt install smartmontools -y
# CentOS/AlmaLinux
sudo dnf install smartmontools -y
Основные команды smartctl
# Просмотр информации о диске
sudo smartctl -i /dev/sda
# Проверка статуса SMART
sudo smartctl -H /dev/sda
# Вывод: SMART overall-health self-assessment test result: PASSED
# Просмотр всех данных SMART
sudo smartctl -a /dev/sda
Запуск тестов SMART
# Короткий тест (1-2 минуты)
sudo smartctl -t short /dev/sda
# Длинный тест (несколько часов)
sudo smartctl -t long /dev/sda
# Просмотр результатов теста
sudo smartctl -l selftest /dev/sda
Интерпретация данных SMART
Важные атрибуты SMART:
| ID | Атрибут | Описание | Критическое значение |
|---|---|---|---|
| 1 | Raw_Read_Error_Rate | Частота ошибок чтения | Должно быть 0 |
| 5 | Reallocated_Sector_Ct | Количество переназначенных секторов | Должно быть 0 |
| 9 | Power_On_Hours | Общее время работы | Информационный |
| 187 | Reported_Uncorrect | Неисправимые ошибки | Должно быть 0 |
| 197 | Current_Pending_Sector | Ожидающие секторы | Должно быть 0 |
| 198 | Offline_Uncorrectable | Офлайн неисправимые | Должно быть 0 |
Если значения ID 5 (Reallocated_Sector_Ct), 197 (Current_Pending_Sector) или 198 (Offline_Uncorrectable) больше 0, диск может быть близок к отказу. Немедленно создайте резервную копию данных!
Проверка NVMe-дисков
# Информация о NVMe-диске
sudo smartctl -i /dev/nvme0
# Данные SMART для NVMe
sudo smartctl -a /dev/nvme0
# Статус здоровья NVMe
sudo smartctl -H /dev/nvme0
Автоматический мониторинг с smartd
smartd работает в фоне, непрерывно отслеживая здоровье дисков и отправляя уведомления при обнаружении проблем.
Настройка smartd
# Редактировать файл конфигурации
sudo nano /etc/smartd.conf
# Мониторинг всех дисков, отправка email при проблемах
DEFAULTS -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -m admin@rexe.tr
# Мониторинг конкретных дисков
/dev/sda -a -o on -S on -m admin@rexe.tr
/dev/sdb -a -o on -S on -m admin@rexe.tr
# Автоматическое обнаружение всех дисков
DEVICESCAN -a -o on -S on -m admin@rexe.tr
# Включить службу smartd
sudo systemctl enable --now smartd
# Проверить статус
sudo systemctl status smartd
Команды мониторинга здоровья дисков
# Быстрая проверка здоровья всех дисков
for disk in /dev/sd[a-z]; do
echo "=== $disk ==="
sudo smartctl -H $disk 2>/dev/null | grep -E "PASSED|FAILED|result"
done
# Проверить температуру диска
sudo smartctl -A /dev/sda | grep -i temperature
# Проверить время работы диска
sudo smartctl -A /dev/sda | grep Power_On_Hours
# Просмотр журналов ошибок
sudo smartctl -l error /dev/sda
Интеграция RAID + SMART
# Проверить статус SMART дисков в массиве RAID
sudo mdadm --detail /dev/md0 | grep -E "State|Active|Failed"
# Проверить здоровье каждого диска в RAID
for disk in /dev/sdb /dev/sdc /dev/sdd; do
echo "=== $disk ==="
sudo smartctl -H $disk
done
# Настроить email-уведомления RAID
sudo nano /etc/mdadm/mdadm.conf
# Добавить строку: MAILADDR admin@rexe.tr
Используйте RAID и мониторинг SMART вместе. SMART заблаговременно предсказывает отказ диска, а RAID предотвращает потерю данных при отказе. Вместе они образуют комплексную стратегию безопасности дисков.
Заключение
RAID и мониторинг здоровья дисков — фундаментальные компоненты безопасности данных на серверах REXE. RAID 1 или RAID 10 обеспечивает высокую надёжность для критических данных, а smartctl и smartd позволяют обнаруживать отказы дисков до их возникновения. Регулярные тесты SMART и проверки статуса RAID — наиболее эффективный способ предотвратить неожиданную потерю данных.
Связанные статьи
Подключение к VDS по SSH: PuTTY, терминал и SSH-ключи
Пошаговое руководство по SSH-подключению к Linux VDS: PuTTY, терминал, аутентификация по ключу, правило фильтрации Path Panel и советы по безопасности.
Подключение к Windows VDS по RDP: полное руководство
Пошаговое руководство по RDP-подключению к Windows Server VDS: настройка, безопасность NLA, правило фильтрации Path Panel и устранение неполадок.
Смена ОС VDS-сервера: пошаговое руководство (Reinstall)
Смена операционной системы VDS через панель REXE: советы по резервному копированию, поддерживаемые дистрибутивы Linux и версии Windows Server.