Операционная система Raspberry Pi устанавливается либо на SD-карту, либо на USB-диск. Из-за ограниченного количества циклов записи флэш-ячеек на SD-карты их надежность не гарантируется. Жесткие диски и твердотельные накопители более надежны; последний использует алгоритмы уровня износа для продления срока службы устройства. Но все же хранить данные только на одном диске всегда рискованно.
Идея зеркалирования данных с использованием RAID-1
Чтобы избежать потери данных в случае сбоя диска, Зеркалирование данных RAID-1 должны быть реализованы. Проблема в том, что настройка RAID невозможна на этапе установки операционной системы на Raspberry Pi.
Эта идея заключается в настройке зеркалирования RAID-1 на двух USB-накопителях, затем копировании домашнего каталога в раздел RAID и настройке для использования его как /home. Поскольку пользовательские данные находятся в домашнем каталоге, данные могут быть полностью восстановлены, а RAID может быть перестроен заново в случае отказа одного диска.
ОС по-прежнему останется на SD-карте (или другом SSD). Если диск ОС выходит из строя, важные данные по-прежнему доступны на массиве RAID-1. Кроме того, диск ОС прослужит дольше, так как давление на диск меньше. Это связано с тем, что большая часть операций с диском происходит в каталоге /home (например, непрерывное чтение/запись в «Файлы профиля Firefox»).
Этот процесс использует веб-интерфейс для упрощения сложного процесса настройки RAID. Настройка показана здесь использует Ubuntu MATE 22.04 и тот же процесс можно применить к любой другой ОС Pi.
Выберите правильное оборудование с учетом доступной мощности
Для RAID-1 требуется как минимум два диска. Эти диски могут быть как жесткими дисками, так и твердотельными накопителями. После настройки RAID-1 данные зеркалируются (клонируются) по всему массиву. Это означает, что данные записываются на оба диска и считываются с самого быстрого члена RAID.
Адаптеры USB-SATA используются для подключения твердотельных накопителей к Pi. Твердотельный накопитель потребляет около 5 Вт энергии при пиковой нагрузке. Поскольку для RAID-1 необходимы два из них, необходимо учитывать доступность питания.
2 (SSD) x 5 (Вт) = 10 Вт
Pi 4, работающий на стандартных тактовых частотах, потребляет около 6 Вт и разогнанный Pi 4 при полной нагрузке потребляет около 8 Вт.
Официальный источник питания Raspberry Pi 4 — 5,1 В, 3,0 А.
5,1 (Вольт) x 3 (Ампер) = 15,3 Вт
Подводя итог, можно сказать, что потребляемая мощность превышает максимальную мощность адаптера.
10 Вт + 8 Вт > 15,3 Вт
Pi также потребуется питание системы охлаждения. Таким образом, твердотельные накопители должны получать внешнее питание, чтобы иметь запас для стабильной работы.
А Двойная док-станция USB HDD/SSD идеально подходит для этой цели, он может вмещать как 2,5-дюймовые, так и 3,5-дюймовые диски. Он имеет собственный адаптер питания и не будет получать питание от Pi.
SD для RAID, выбирайте модели с неидентичными TBW, чтобы оба диска имели точки отказа с разными интервалами. Это дает достаточно времени для восстановления RAID-массива и позволит сохранить ваши данные в неизменном виде. На Pi 4 есть два порта USB 3.0. Поскольку док-станция использует только один из них, остается запасной порт для подключения другого быстрого устройства.
Подключите диски к док-станции и включите Pi. Настройка RAID проста с помощью инструмента под названием «Webmin», доступ к его интерфейсу можно получить через браузер. Откройте терминал (ярлык: Ctrl+Alt+T) и используйте эти команды для установки Webmin:
Отредактируйте файл sources.list:
судо нано /etc/apt/sources.список
Добавьте эту строку (ярлык: Ctrl+Shift+Insert):
деб http://download.webmin.com/download/repository sarge contrib
Сохранить файл с помощью Ctrl+О, нажмите «Enter» и выйдите, используя Ctrl+Х.
Скачать ключ, чтобы доверять источнику:
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-ключ добавить
Обновите новые репозитории:
Судо подходит Обновить
Установите Вебмин:
Судо подходит установить вебмин -у
Установите утилиту mdadm Software RAID:
Судо подходит установить мдадм -у
Установите инструмент управления дисками:
Судо подходит установить гном-диск-утилита -y
Установите пароль для пользователя root (для управления Webmin):
судо су
пароль
Обновление, обновление и перезагрузка:
судо подходящее обновление && sudo подходящее обновление -y && судо перезагрузка
Процесс создания массива RAID-1
Открытым Диски инструмент из Меню > Настройки. Вы также можете использовать команду:
гном-диски
Показывал бы новые диски, форматировал бы оба.
Откройте веб-браузер и введите этот URL:
https://локальный хост: 10000
Webmin работает на локальном хосте с портом 10000. Поскольку используется https, а SSL-сертификат не установлен, браузер покажет предупреждение. Безопасно нажимать Передовой а потом Примите риск и продолжайте.
Войдите в систему с пользователем «root» и паролем, который вы установили для root ранее. Прежде всего, Обновить модули. После этого разверните Аппаратное обеспечение и выберите Linux RAID. В раскрывающемся списке выберите RAID1 (зеркальный) и нажмите кнопку Создать RAID-устройство уровня.
Выберите два диска, удерживая Ctrl ключ. Переключать Пропустить инициализацию устройств. Это связано с тем, что инициализация занимает много времени, более часа на каждые 100 ГБ, и нет необходимости реплицировать пустые диски.
Нажмите Создавать. Webmin должен ответить через три минуты вновь созданным массивом. Затем вы можете проверить более подробную информацию через /dev/md0. Два диска показаны как Разделы в RAID и Состояние файловой системы является Активен, но не установлен.
Перед монтированием новый массив RAID необходимо отформатировать. Это можно сделать с помощью Дисков слева. Выберите Массив RAID-1 а также Формат раздела.
Дайте имя, например Данные. Выберите переключатель Внутренний диск для использования только с системами Linux (Ext4) и переходите к его форматированию.
Этот массив необходимо автоматически монтировать при каждой загрузке. Выбирать Изменить параметры монтирования.
Переключать Настройки сеанса пользователя по умолчанию и нажмите ХОРОШО. После аутентификации этот процесс изменяет файл «/etc/fstab».
Перезагрузитесь, смонтированный массив RAID-1 отображается как папка «Данные» в проводнике.
Переместите домашний каталог в массив RAID-1
Для зеркалирования важных данных домашний каталог должен находиться на массиве RAID-1. Рекомендуется сделать копию, а не перемещать ее, по той причине, что это поможет «перестроить RAID» в будущем.
В терминале:
дир / мин
Скопируйте имя монтирования RAID, оно выглядит как «6256d81c-c23c-42c4-aea3-d194466c6c33», и оно у вас другое. Замените имя каталога и используйте эту команду для клонирования домашнего каталога:
sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/
Сделайте этот новый каталог монтированным как /home вместо старого:
судо нано /etc/fstab
Найдите строку /dev/disk... (обычно это последняя строка, так как вы ее только что смонтировали) и измените точку монтирования на «/home», как показано на скриншоте ниже.
Перезагрузитесь, домашний каталог Pi теперь находится на RAID-1, а данные зеркально отражены.
Варианты восстановления после сбоя Raspberry Pi RAID
В случае сбоя RAID есть два доступных варианта восстановления, которые необходимо установить сейчас.
1) Смонтируйте поврежденный массив и перестройте
Создайте новый файл:
судо нано /etc/initramfs-tools/conf.d/mdadm
Включить этот контент:
BOOT_DEGRADED=истинный
Это смонтирует массив RAID, даже если диск выйдет из строя. Будет использоваться домашний каталог поврежденного массива.
2) Не монтировать деградированный массив, а пересобрать
Ничего не делайте, поврежденный массив не будет монтироваться при загрузке. Вместо этого будет использоваться старый домашний каталог; ранее вы скопировали домашний каталог вместо того, чтобы перемещать его по этой причине. Теперь это поможет восстановить массив RAID. Не паникуйте, увидев недостающие данные в этом режиме, помните, что это не ваш настоящий домашний каталог. Ваши данные в безопасности на другом диске и ждут восстановления.
В случае, если Webmin показывает сообщение об ошибке «mdadm: невозможно получить информацию о массиве для /dev/md0».
Используйте эту команду для запуска массива:
судо мдадм --run /dev/md0
Восстановление массива в случае сбоя
Хотя нет необходимости повторять этот шаг, полезно знать, что данные можно восстановить в случае сбоя диска.
Процесс моделирования
Pi выключен, и один диск удален. Затем Pi включается и осуществляется доступ к Webmin. В Linux RAID, Статус теперь отображается как Неактивный. При дальнейшем осмотре, проверке /dev/md0 показывает поврежденный массив только с одним диском в RAID.
Данные целы, но теперь они только на одном диске. Массив RAID необходимо перестроить, чтобы сохранить данные.
Pi выключается, вместо старого вставляется новый чистый HDD/SSD диск, и Pi включается. Webmin доступен, проверка /dev/md0 показывает варианты добавления нового диска в массив RAID. Выберите новый диск из раскрывающегося списка и нажмите Добавить раздел.
Восстановление начнется немедленно, продолжительность зависит от размера дисков. Обычно на каждые 100 ГБ (для твердотельных накопителей) уходит час.
Защита данных вашего Pi имеет важное значение
С этой реализацией данные безопаснее, и Pi можно использовать в качестве ежедневного водителя. В последнее время Raspberry Pi широко используются в промышленных приложениях, и время простоя может быть сведено к минимуму.
Вы можете сделать разумный выбор при выборе твердотельных накопителей. У производителей есть твердотельные накопители одинаковой емкости по разным ценам, разница составляет TBW (общее количество записанных байтов); лучшая модель обычно имеет на 50% больше TBW. При использовании SSD для RAID выбирайте модели с неидентичными TBW, чтобы оба диска имели точки отказа через разные промежутки времени. Это дает достаточно времени для восстановления RAID-массива и позволит сохранить ваши данные в неизменном виде.