Главная
» LINUX
»
Как настроить массив RAID 1 в Debian 12 из командной строки
Как настроить массив RAID 1 в Debian 12 из командной строки
Эта процедура создает программный RAID 1 массив данных на Debian 12 (Bookworm) mdadm, форматирует собранное устройство в ext4 и монтирует его с постоянным доступом. Предполагается, что Debian уже установлен на отдельном системном диске и что два RAID-диска не используются. Приведенные ниже команды являются примерами; имена и размеры устройств необходимо проверить на сервере, который вы настраиваете.
Предупреждение о потере данных: разбиение на разделы и форматирование могут привести к уничтожению данных. Не выполняйте эти команды на диске, содержащем необходимые вам файлы. RAID 1 зеркалирует запись; он не заменяет независимую резервную копию и не может защитить от удаления, повреждения файловой системы, кражи или вредоносных программ, изменяющих обе копии.
Перед началом работы: подтвердите целевые диски.
sudoПеред выполнением каждой административной команды необходимо иметь права root или использовать соответствующее программное обеспечение .
Используйте два отдельных диска, в идеале с одинаковой или почти одинаковой емкостью. Полезная емкость массива ограничена меньшим по размеру диском.
Операционная система, загрузчик и системный раздел EFI должны находиться вне зоны действия данной процедуры обработки данных.
Создайте резервную копию важных данных и убедитесь, что ни один из целевых дисков не смонтирован и не используется.
Инструменты, используемые здесь, предоставляются Debian 12 Bookworm. Поведение команд mdadm, sgdisk, и update-initramfsописано в руководствах Debian Bookworm по mdadm , sgdisk и update-initramfs . Если ваши установленные пакеты отличаются, проверьте эти ссылки на версии.
Как настроить RAID 1 в Debian 12
1. Определите диски и убедитесь, что они не используются.
Начните с инвентаризации, доступной только для чтения:
В приведенном ниже примере — /dev/sdaэто системный диск Debian, а /dev/sdbи /dev/sdc— пустые диски данных объемом 2 ТБ. Ваши имена, вероятно, будут отличаться. Сопоставьте размер, модель, серийный номер, файловую систему и точки монтирования; не идентифицируйте диск /dev/sdXтолько по его имени. Для получения постоянного идентификатора проверьте ls -l /dev/disk/by-id/и сопоставьте каждую ссылку с серийным номером, выведенным программой lsblk.
На иллюстрации вывод команды lsblk в терминале показано, что системный диск смонтирован, а два отдельных диска с данными отображаются без файловых систем или точек монтирования. Перед продолжением подтвердите эти данные на своем сервере.
2. Создайте раздел Linux RAID на каждом пустом диске.
Для дисков, которые подтверждены как пустые, создайте один раздел GPT на доступном пространстве и пометьте его как Linux RAID. Вот fd00краткий код типа sgdisk для Linux RAID:
Замените оба примера имен дисков на два проверенных целевых диска. --new=1:0:0Это запрашивает у sgdisk выделение раздела 1 из доступного пространства. Изменения в таблице разделов будут необратимыми, если вы выберете диски с уже существующими данными. Если sgdisk сообщает о существующей разметке, неожиданных разделах или неясных ошибках, остановитесь и проведите расследование, а не принудительно вносите изменения. Убедитесь, что новые разделы (обычно /dev/sdb1и /dev/sdc1) присутствуют и имеют приблизительно одинаковый размер.
Иллюстративный вид терминала, демонстрирующий запись раздела Linux RAID на каждый из двух выбранных дисков данных с помощью команды sgdisk. Разметка разделов изменяет метаданные диска и должна быть направлена только на проверенные, пустые диски.
3. Установите mdadm и утилиты для работы с разделами GPT.
Обновите индекс пакетов и установите необходимые команды:
apt update
apt install mdadm gdisk
Пакет gdiskсодержит sgdisk... Перед принятием изменений ознакомьтесь с предложенными менеджером пакетов изменениями, особенно на рабочем сервере.
Иллюстративный вид терминала при установке mdadm и gdisk из репозиториев Debian Bookworm с помощью команды apt.
4. Создайте массив RAID 1 из двух дисков.
В качестве элементов массива используйте разделы, а не сами диски. /dev/disk/by-id/…-part1При наличии замените их проверенными стабильными путями; приведенные ниже короткие имена помогут сохранить читаемость примера:
--level=1Выбирается зеркалирование, --raid-devices=2задаются два участника, и явно указывается версия метаданных 1.2. Создание массива записывает метаданные RAID и запускает синхронизацию. Не продолжайте, если mdadm предупреждает, что участник содержит существующие метаданные RAID или данные, которые вы не можете учесть. Не отвечайте в --forceкачестве сокращения.
Иллюстративный вид терминала команды mdadm --create для массива RAID 1 из двух элементов. Приведенные имена устройств являются примерами, а не проверенными дисками.
5. Контролируйте синхронизацию и проверяйте оба участника.
Проверьте ход выполнения и текущее состояние массива:
cat /proc/mdstat
mdadm --detail /dev/md0
В процессе первоначальной синхронизации /proc/mdstatможет отображаться процент повторной синхронизации и расчетное время; дождитесь завершения процесса, прежде чем считать зеркальную синхронизацию полностью завершенной. Типичный завершенный массив из двух элементов показывает [2/2] [UU], что означает наличие обоих ожидаемых слотов, в то время как mdadm --detailдолжен отображать два активных устройства и сообщать о чистом состоянии. Эти индикаторы описывают состояние массива в данный момент; они не являются проверкой резервного копирования или гарантией того, что какой-либо из физических дисков останется работоспособным.
Иллюстративный вид терминала /proc/mdstat и mdadm --detail. В исправном массиве из двух элементов обычно отображаются оба элемента как активные и [2/2] [UU]; проверьте вывод в реальном времени на хосте.
6. Сохраните определение массива для сборки при загрузке.
Запросите у mdadm определение массива:
mdadm --detail --scan /dev/md0
Просмотрите полученную ARRAYстроку и добавьте именно эту строку в файл mdadm.conf /etc/mdadm/mdadm.conf, используя редактор и сохраняя все существующие записи массива. Избегайте слепого добавления повторяющихся копий. В руководстве Debian по файлу mdadm.conf описано, как этот файл и как определения массивов поддерживают сборку. В стандартной установке Debian с использованием initramfs-tools пересоберите initramfs после изменения конфигурации:
update-initramfs -u
Эта операция обновляет существующий образ initramfs; она не создает резервную копию вашего массива. Если в этой системе используется другая платформа initramfs или нестандартная настройка загрузки, следуйте описанной в документации этой платформы процедуре обновления.
Иллюстративный вид терминала записи массива, обнаруженной с помощью команды mdadm --detail --scan и команды обновления initramfs.
7. Создайте файловую систему и смонтируйте собранный массив.
Только после подтверждения того, что /dev/md0это действительно новый массив, создайте на этом устройстве файловую систему ext4:
mkfs.ext4 /dev/md0
mkdir -p /srv/raid1
mount /dev/md0 /srv/raid1
blkid /dev/md0
mkfs.ext4Удаляет данные файловой системы на целевом устройстве. Запустите его на собранном массиве устройств, а не на /dev/sdb1или /dev/sdc1; форматирование элемента напрямую обойдёт зеркалирование. Скопируйте UUID файловой системы, выведенный blkid, затем добавьте строку следующего вида в /etc/fstab, заменив заполнитель на этот реальный UUID:
Использование UUID файловой системы позволяет избежать зависимости от порядка обнаружения дисков Linux. В последнем случае 2включается обычный порядок проверки вторичной файловой системы для файловых систем ext. Если вы выберете nofailпараметр монтирования, позволяющий продолжить загрузку при недоступности хранилища, убедитесь, что службы не записывают данные в пустой каталог точки монтирования, пока массив отсутствует.
Иллюстративный пример создания файловой системы ext4 на собранном массиве и её монтирования в /srv/raid1. Форматирование удаляет существующие данные файловой системы.
8. Проверьте конфигурацию монтирования и спланируйте контролируемую перезагрузку.
Проверьте запись в файле fstab без перезагрузки, затем убедитесь в корректности состояния монтирования и RAID-массива:
mount -a
findmnt /srv/raid1
df -hT /srv/raid1
cat /proc/mdstat
mdadm --detail /dev/md0
findmntДолжно отображаться /dev/md0монтирование /srv/raid1с ожидаемой файловой системой. Если это не так, исправьте ошибку /etc/fstabперед перезапуском; опечатка может прервать загрузку или привести к отсутствию точки монтирования. После успешного прохождения проверок запланируйте контролируемую перезагрузку и повторите проверку монтирования и RAID-массива. Данная статья не утверждает, что конкретный сервер был протестирован на перезагрузку.
Иллюстративный вид записи UUID файловой системы в файлах fstab и findmnt, показывающий, что /dev/md0 смонтирован в /srv/raid1.
Краткий контрольный список для проверки
Правильная цель: проверка серийного номера/модели и монтирования подтвердила, что выбранные диски данных являются целевыми неиспользуемыми накопителями.
Разделение на разделы: оба раздела, состоящие из отдельных элементов, существуют и имеют схожий размер.
Состояние массива:/proc/mdstat показывает, что оба участника присутствуют [UU]после синхронизации, и mdadm --detailсообщает о двух активных устройствах.
Файловая система и монтирование:findmnt /srv/raid1 отображает устройство, использующее массив, и ожидаемую файловую систему по указанному пути.
Сохранение данных: определение массива сохранено в /etc/mdadm/mdadm.conf, UUID файловой системы находится в /etc/fstab, а запланированный перезапуск подтверждает, что оба элемента собраны и смонтированы.
Ограничения и вопросы восстановления
RAID 1 хранит копию записанных блоков на каждом участнике, поэтому отказ одного участника может привести к снижению производительности массива. Это не означает, что каждое приложение будет работать нормально или каждый сбой можно обработать без простоя. Необходимо отслеживать состояние системы и оперативно реагировать на оповещения о состоянии диска или массива. Перед заменой вышедшего из строя диска используйте mdadm --detail /dev/md0стабильные идентификаторы устройств, чтобы определить, какой участник затронут. Заменяемый диск обычно должен быть как минимум такого же размера, как и существующий, и разбит на разделы, соответствующие массиву; добавление правильно идентифицированного заменяемого раздела mdadm --add /dev/md0 /dev/REPLACEMENT_PARTITIONзапускает процесс восстановления. Тщательно проверяйте идентификацию устройства перед выполнением любой команды восстановления и отслеживайте процесс восстановления до тех пор, пока оба участника не вернутся в работоспособное состояние.
Не используйте это руководство по настройке тома данных для зеркалирования корневой файловой системы Debian. Создание загрузочного корневого RAID-массива предъявляет дополнительные требования к разделу EFI System Partition, установке загрузчика, содержимому initramfs и тестированию восстановления. Аналогично, не рассматривайте работоспособный зеркальный массив как независимую копию: поддерживайте отдельную, версионированную резервную копию и тестируйте восстановление файлов из неё. Для общего администрирования программного RAID в Debian обратитесь к документации Debian SoftwareRAID , а также к версионированным руководствам Bookworm, ссылки на которые приведены выше.