RAID‑1 на Raspberry Pi: зеркалирование /home на двух USB SSD
Введение
Raspberry Pi обычно хранит систему на SD‑карте или на одном USB‑накопителе. SD‑карты имеют ограниченное число циклов записи, что снижает их долговечность для постоянной работы. SSD и классические HDD надёжнее: SSD используют алгоритмы выравнивания износа (wear leveling), а HDD лучше переносят большие объёмы записи, но всё равно хранение данных на одном диске остаётся риском.
Идея этой статьи — создать RAID‑1 (зеркалирование) на двух USB‑SSD, перенести в него каталог /home и подключить как /home. Поскольку пользовательские данные обычно находятся в /home, зеркало позволит быстро восстановить данные и перестроить массив при выходе из строя одного диска. Операционная система при этом остаётся на SD‑карте или на отдельном SSD; в случае выхода из строя диска системы данные пользователей останутся доступны на RAID‑массиве.
В примерах используется Ubuntu MATE 22.04, но описанный процесс применим и к другим версиям ОС для Raspberry Pi (Raspberry Pi OS, Ubuntu Server, Raspberry Pi Debian‑based images) при условии наличия пакетов mdadm и Webmin.
Важно: RAID не заменяет полноценную резервную копию. RAID защищает от отказа одного накопителя, но не от случайного удаления, повреждения файловой системы или ошибок пользователя. Для резервной копии используйте отдельный носитель или облачное хранилище.
Что вы получите из этой инструкции
- Проверенная последовательность действий для создания RAID‑1 на Raspberry Pi.
- Пошаговый SOP для админа и чек‑лист для домашнего пользователя.
- Альтернативы RAID‑1 и случаи, когда RAID не решает проблему.
- План восстановления и примеры команд для экстренной ситуации.
Выбор аппаратуры и требования по питанию
Для RAID‑1 требуется минимум два диска — SSD или HDD. На практике для Raspberry Pi удобнее использовать 2.5” SSD в док‑станции с внешним питанием.
Типичный пик потребления:
- SSD 2.5” — примерно 5 Вт при пике активности.
- Raspberry Pi 4 (стандартная частота) — примерно 6 Вт в обычной нагрузке; до 8 Вт при высокой нагрузке или оверклоке.
- Официальный адаптер питания Raspberry Pi 4 — 5.1 В × 3.0 А = 15.3 Вт.
Пример расчёта (оценочный):
- 2 × SSD ≈ 10 Вт
- Pi под нагрузкой ≈ 8 Вт
- Итого ≈ 18 Вт > 15.3 Вт — значит штатного адаптера может не хватить.
Вывод: ставьте SSD в док‑станцию с собственным адаптером питания (Dual HDD Dock) или используйте активный USB‑хаб с внешним питанием. Это предотвратит нестабильность и перезагрузки из‑за нехватки тока.
Советы по выбору дисков:
- Выбирайте SSD с разной спецификацией TBW (Total Bytes Written). Не идентичные модели с разными TBW распределят риск, позволяя один диск выйти из строя раньше, не совпадая по времени с отказом второго.
- По возможности используйте диски известных производителей и проверяйте SMART‑статус регулярно.
Изображение: 
ALT: Raspberry Pi 4 с двухдисковым док‑боксом и двумя SSD, подключёнными по USB
Краткие определения
- RAID‑1: зеркалирование данных между двумя (или более) дисками. При записи данные копируются на все члены массива; при чтении система использует более быстрый диск.
- mdadm: утилита в Linux для создания и управления ПО RAID (software RAID).
- Webmin: веб‑интерфейс для управления сервером, включая работу с mdadm, пользователями и конфигурацией.
- rsync: инструмент для копирования и синхронизации файлов и директорий.
Подготовка ОС и установка инструментов
Перед началом убедитесь, что у вас есть:
- Два SSD в док‑станции, подключённые и с питанием.
- Доступ к терминалу (или SSH).
- root‑доступ или sudo‑привилегии.
Команды для установки Webmin, mdadm и утилит дисков (сохраните кодовые блоки — они рабочие):
Откройте /etc/apt/sources.list:
sudo nano /etc/apt/sources.listДобавьте репозиторий Webmin (вставка в nano: Ctrl+Shift+Insert):
deb http://download.webmin.com/download/repository sarge contribСохраните Ctrl+O, Enter, выйдите Ctrl+X.
Загрузите ключ репозитория и установите:
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add -
sudo apt update
sudo apt install webmin -y
sudo apt install mdadm -y
sudo apt install gnome-disk-utility -yУстановите пароль root для входа в Webmin:
sudo su
passwdОбновите систему и перезагрузите:
sudo apt update && sudo apt upgrade -y && sudo rebootИзображение: 
ALT: Окно редактора nano с открытым файлом /etc/apt/sources.list и добавляемой строкой репозитория Webmin
Важно: на некоторых дистрибутивах apt-key считается устаревшим. Если ваш дистрибутив предупреждает, используйте рекомендуемый метод добавления ключа в /etc/apt/trusted.gpg.d.
Создание RAID‑1 через Webmin — пошагово
- Подключите и включите док‑станцию с SSD. Запустите утилиту «Disks» (Gnome Disks) или командой:
gnome-disks- Отформатируйте оба диска (можно сделать будет также после создания массива).
Изображение: 
ALT: Утилита Gnome Disks с выделенным устройством для форматирования
- В браузере откройте https://localhost:10000 — Webmin работает на порту 10000. Браузер покажет предупреждение о сертификате — добавьте исключение (Accept the risk and continue).
Изображение: 
ALT: Окно Firefox с предупреждением о небезопасном соединении и кнопкой добавления исключения
Войдите как root и обновите модули Webmin (Refresh Modules). Далее: Hardware > Linux RAID.
Выберите RAID1 (Mirrored) в выпадающем списке и нажмите Create RAID device of level.
Изображение: 
ALT: Webmin — выбор уровня RAID (RAID1) в интерфейсе создания массива
- Выделите оба диска (удерживая Ctrl), поставьте галочку Skip initialization of devices (инициализация не обязательна — она медленная и стирает диск полностью) и нажмите Create.
Изображение: 
ALT: Webmin — окно выбора разделов для включения в RAID‑массив
- Через несколько минут массив появится как /dev/md0. Проверьте статус через Webmin и через команду:
cat /proc/mdstat
sudo mdadm --detail /dev/md0Изображение: 
ALT: Webmin — список дисков и состояние RAID‑массива (/dev/md0)
- Отформатируйте массив в Ext4 и задайте метку (например Data) в Gnome Disks.
Изображение: 
ALT: Gnome Disks — форматирование RAID‑раздела
- Установите автоподключение (Edit Mount Options) и включите User Session Defaults. Это добавит запись в /etc/fstab.
Изображение: 
ALT: Окно Gnome Disks для редактирования параметров монтирования RAID‑раздела
- Перезагрузите и убедитесь, что массив смонтирован как «Data» в файловом менеджере.
Перенос /home на RAID‑1
Мы рекомендуем не просто переместить, а сначала скопировать /home — это даёт запасной вариант на случай, если при настройке что‑то пойдёт не так или если массив не будет монтироваться.
- Узнайте точку монтирования RAID (пример — /mnt/6256d81c‑c23c‑42c4‑aea3‑d194466c6c33). Посмотреть содержимое /mnt:
ls /mnt- Скопируйте /home через rsync, сохраняя права и символьные ссылки:
sudo rsync -av /home/ /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/Важно: завершающий слэш на /home/ означает «содержимое каталога». Убедитесь, что вы скопировали все файлы и каталоги, включая скрытые.
- Отредактируйте /etc/fstab и замените точку монтирования для UUID RAID‑тома на /home. Откройте файл:
sudo nano /etc/fstabНайдите строку с UUID вашего RAID‑тома и установите точку монтирования /home. Сохраните и перезагрузите.
Изображение: 
ALT: Редактирование /etc/fstab в текстовом редакторе для изменения точки монтирования на /home
- После перезагрузки проверьте:
mount | grep /home
ls /homeЕсли /home смонтирован на RAID, всё готово — отныне пользовательские данные будут зеркалироваться.
Варианты восстановления при отказе диска
Сценарии и опции поведения при деградации массива следует выбрать заранее.
Вариант 1: монтировать деградированный массив и продолжать работу
Создайте файл конфигурации для initramfs, чтобы система позволяла загрузку, даже если массив деградирован:
sudo nano /etc/initramfs-tools/conf.d/mdadmДобавьте строку:
BOOT_DEGRADED=trueСохраните и выполните:
sudo update-initramfs -uЭто позволит системе монтировать /home с одним оставшимся диском и продолжать работу.
Вариант 2: не монтировать деградированный массив — использовать локальную копию /home
Если вы предпочитаете не рисковать и хотите восстановить RAID по‑штучно, не включайте BOOT_DEGRADED. В этом случае при загрузке будет использоваться старая локальная копия /home (если она осталась на SD). Вы сможете вручную подключить и перестроить массив позже, не рискуя неполной файловой системой.
Если Webmin пишет “mdadm: Cannot get array info for /dev/md0”, попробуйте вручную запустить массив:
sudo mdadm --run /dev/md0Изображение: 
ALT: Терминал с ошибкой mdadm, не получающей информацию о RAID‑массиве
Пошаговый пример восстановления и перестроения массива
Симуляция отказа и восстановление — полезная учёба перед эксплуатацией в продакшене.
- Выключите Pi и физически извлеките один диск из док‑станции.
- Включите Pi. В Webmin в разделе Linux RAID массив покажет статус Degraded/Inactive, а /proc/mdstat — один участвующий диск.
Изображение: 
ALT: Webmin — интерфейс показывает один оставшийся диск в массиве RAID после удаления участника
- Выключите Pi, вставьте новый чистый диск и включите Pi.
- В Webmin выберите /dev/md0 и опцию Add Partition, выберите новый диск и нажмите Add. Перестроение начнётся автоматически.
Изображение: 
ALT: Webmin — окно добавления раздела на новый диск для перестроения RAID
- Можно наблюдать прогресс в Webmin или через терминал:
watch cat /proc/mdstat
sudo mdadm --detail /dev/md0Процесс перестроения зависит от объёма данных и скорости дисков; ориентировочно — до часа на каждые 100 ГБ данных.
Изображение: 
ALT: Webmin — индикатор прогресса при перестроении RAID‑массива
Когда RAID‑1 не решает проблему или неуместен
- Случайное удаление файлов: RAID не защищает от ошибок пользователя. Для этого нужны резервные копии или системы версионирования (например, хранение копий в облаке, btrfs с снимками, git для конфигураций).
- Параллельный отказ контроллера или док‑станции: если источник питания дока или интерфейс выходит из строя, оба диска могут оказаться недоступны одновременно.
- Коррупция данных на уровне файловой системы: RAID копирует бит‑уровень; повреждённые данные будут дублироваться.
Альтернативы:
- LVM с зеркалированием: альтернатива для гибкого управления томами, но требует дополнительной настройки и может быть сложнее.
- Репликация на другой Pi или NAS: лучшая защита, если сделать регулярные бэкапы на удалённый узел.
- Использовать облачные сервисы или rsync/rsnapshot для архивации важной информации.
Руководство администратора и чек‑листы
Чек‑лист перед запуском (администратор):
- Проверить питание док‑станции и Pi (внешний адаптер для дока).
- Подключить оба SSD и убедиться, что они видны в lsblk.
- Обновить систему и установить mdadm, webmin, gnome‑disk‑utility.
- Создать root‑пароль и проверить доступ в Webmin.
- Сделать резервную копию /home на внешний носитель.
Чек‑лист для домашнего пользователя:
- Использовать док с внешним питанием.
- Не форматировать SD, пока не убедились, что /home работает на RAID.
- Копировать, а не перемещать /home на первом этапе.
- Протестировать процедуру восстановления на ненастоящих данных.
Роли и ответственность:
- Владелец/пользователь: регулярно контролировать состояние SMART и актуальность бэкапов.
- Системный администратор: мониторинг RAID и своевременная замена деградировавших дисков.
- Оператор: поддержка питания и физический доступ к док‑станции для замены дисков.
Мини‑методология введения RAID в эксплуатацию
- Проектирование: оцените требования по хранению, энергопотреблению и отказоустойчивости.
- Подготовка: приобретите док‑станцию с питанием, два диска разной TBW и кабели.
- Тестирование: настройте массив в тестовой среде, потренируйтесь восстанавливать.
- Ввод в эксплуатацию: перенесите /home и наблюдайте за поведением в течение недели.
- Поддержка: настройте мониторинг SMART и периодически тестируйте процедуру восстановления.
Критерии приёмки
- После перезагрузки /home корректно смонтирован с RAID и содержит все пользовательские данные.
- mdadm показывает состояние массива «clean» или «active» без ошибок.
- При удалении одного диска система сохраняет доступ к /home (если включён BOOT_DEGRADED). В противном случае существует актуальная резервная копия /home на другом устройстве.
- Перестроение массива успешно завершается после замены диска и возвращает статус «clean».
Безопасность и конфиденциальность
- Доступ к Webmin должен быть ограничен: слушать только localhost или защищать соединение VPN/SSH‑туннелем, установить надёжный пароль root.
- Храните копии конфигураций и ключей в защищённом месте.
- Если /home содержит персональные данные пользователей из ЕС, применяйте общие принципы GDPR: минимизация данных, шифрование при хранении/резервном копировании при необходимости.
Техника мониторинга и профилактики
- Периодически проверяйте SMART:
sudo apt install smartmontools -y
sudo smartctl -a /dev/sda
sudo smartctl -a /dev/sdb- Настройте плановую проверку mdadm и уведомления по почте (Webmin умеет отправлять тревоги).
- Плановое тестирование: имитируйте отказ одного диска в тестовом окне и отработайте восстановление.
Снижение риска и лучшие практики
- Комбинируйте RAID с регулярными резервными копиями на удалённый носитель.
- Не используйте RAID‑1 как единственную стратегию защиты данных.
- Ведите журнал замен дисков и даты сборки массива для отслеживания TBW и гарантий.
Mental models и эвристики
- Правило двух узлов: RAID‑1 даёт защиту при одиночном отказе диска, но вторичный отказ до завершения перестроения приведёт к потере зеркала. Планируйте замену как можно быстрее.
- Правило питания: не допускайте питания обоих дисков через Pi — используйте внешнее питание дока.
- Правило копии: перед изменениями всегда делайте резервную копию критичных директорий.
Decision flowchart
flowchart TD
A[Начало: есть два SSD и Pi] --> B{Доступно внешнее питание для дока?}
B -- Да --> C[Установить SSD в док и подключить к Pi]
B -- Нет --> D[Приобрести док с внешним питанием]
C --> E[Установить mdadm и Webmin]
E --> F[Создать RAID-1 '/dev/md0']
F --> G[Отформатировать Ext4 и смонтировать]
G --> H[Скопировать /home через rsync]
H --> I[Изменить /etc/fstab и перезагрузить]
I --> J{/home смонтирован?}
J -- Да --> K[Готово: мониторинг и бэкапы]
J -- Нет --> L[Откат: вернуть старую /home и устранить ошибку]Тесты и критерии приёмки
- Проверка целостности файлов после rsync (случайный выбор файлов и сравнение хешей).
- Тест отказа: извлечь один диск и подтвердить, что данные доступны (если BOOT_DEGRADED настроен) или что локальная копия активна.
- Тест восстановления: вставить новый диск и убедиться, что перестроение завершается и mdadm показывает clean.
Таблица совместимости и заметки по миграции
- Raspberry Pi OS / Ubuntu MATE 22.04 / Ubuntu Server: поддерживают mdadm и Webmin.
- Старые версии Raspbian могут требовать ручной установки зависимостей или альтернативных репозиториев Webmin.
- На ARM‑системах убедитесь, что пакеты собраны для armhf/arm64 соответствующей архитектуры.
Заключение
Развёртывание RAID‑1 на Raspberry Pi для зеркалирования /home — практичный способ повысить устойчивость к потере носителя. Это не заменяет резервное копирование, но даёт существенное улучшение доступности данных и упрощает восстановление после одиночного отказа диска. Ключевые компоненты: корректный выбор питания и док‑станции, тестирование восстановлений, настройка мониторинга и регулярные бэкапы.
Важно: перед внедрением в критически важной среде выполните тестирование и отработайте процедуру восстановления.
Изображение: 
ALT: Два SSD, подключённые к Raspberry Pi 4 через USB‑to‑SATA адаптеры
Изображение: 
ALT: Спецификация мощности официального адаптера питания для Raspberry Pi 4 (5.1V, 3.0A)
Изображение: 
ALT: Raspberry Pi 4, подключённый через USB 3.0 к двухдисковому доку для HDD/SSD
Изображение: 
ALT: Терминал Linux при создании пароля для суперпользователя root
Изображение:
ALT: Процесс форматирования RAID‑раздела в Gnome Disks
Изображение: 
ALT: Выбор файловой системы Ext4 для RAID‑тома в Gnome Disks
Изображение: 
ALT: Окно с опцией User Session Defaults при настройке автомонтирования тома
Изображение:
ALT: Список дисков и разделов, включённых в RAID, в Webmin
Изображение:
ALT: Ошибка mdadm — утилита не может получить информацию о массиве /dev/md0
Изображение:
ALT: Веб‑интерфейс Webmin — добавление нового раздела для перестроения RAID
Конечное резюме
RAID‑1 на Raspberry Pi — практичный баланс между доступностью и затратами. Он особенно полезен для домашних серверов, медиа‑центров и небольших промышленных задач, где важна устойчивость к отказам отдельных накопителей и быстрая восстановимость.
Похожие материалы
Как заглушать рекламу в Spotify
Спуфинг: виды атак и защита
Перемещение папок пользователей в Windows 10
Таймер приложений на Android — ограничьте экранное время
Apple Card: высокодоходный безкомиссионный счёт