Операционная система Raspberry Pi устанавливается либо на SD-карту, либо на USB-диск. Из-за ограниченного количества циклов записи флэш-ячеек на SD-карты их надежность не гарантируется. Жесткие диски и твердотельные накопители более надежны; последний использует алгоритмы уровня износа для продления срока службы устройства. Но все же хранить данные только на одном диске всегда рискованно.

Идея зеркалирования данных с использованием RAID-1

Чтобы избежать потери данных в случае сбоя диска, Зеркалирование данных RAID-1 должны быть реализованы. Проблема в том, что настройка RAID невозможна на этапе установки операционной системы на Raspberry Pi.

Эта идея заключается в настройке зеркалирования RAID-1 на двух USB-накопителях, затем копировании домашнего каталога в раздел RAID и настройке для использования его как /home. Поскольку пользовательские данные находятся в домашнем каталоге, данные могут быть полностью восстановлены, а RAID может быть перестроен заново в случае отказа одного диска.

ОС по-прежнему останется на SD-карте (или другом SSD). Если диск ОС выходит из строя, важные данные по-прежнему доступны на массиве RAID-1. Кроме того, диск ОС прослужит дольше, так как давление на диск меньше. Это связано с тем, что большая часть операций с диском происходит в каталоге /home (например, непрерывное чтение/запись в «Файлы профиля Firefox»).

instagram viewer

Этот процесс использует веб-интерфейс для упрощения сложного процесса настройки 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-массива и позволит сохранить ваши данные в неизменном виде.