Перенос Mdadm на другой компьютер

Обновлено: 21.11.2024

Я переместил свои жесткие диски (с работающей стабильной системой Debian) с компьютера, на котором были аппаратные проблемы, на новый, похожий. Я хочу, чтобы старая система работала на новом компьютере, но у меня проблемы с программным рейдом.

Кажется, что GRUB все распознает, но через несколько секунд после звездочки последовательности загрузки у меня возникает следующая ошибка:

mdadm: устройства, перечисленные в файле conf, не найдены

Но если я загружу систему с knoppix live CD, я смогу правильно собрать RAID-массив и получить доступ ко всем файлам на нем.

Какой файл конфигурации неверен? Что я могу сделать, чтобы решить проблему?

Это мой файл /etc/mdadm/mdadm.conf:

CREATE owner=root group=disk mode=0660 auto=yes HOMEHOST MAILADDR root ARRAY /dev/md/0 metadata=1.2 UUID=. имя=вояджер.0

Массив UUID совпадает с UUID, сообщаемым blkid при запуске из системы восстановления debian.

Команда grub-install из системы восстановления завершается без ошибок.

Еще немного информации: проверка оболочки (initramfs) показывает, что /proc/partitions пуст: диски не распознаются. /dev не содержит файлов с именем /dev/sd? ни /dev/md* . Но если я загружаюсь с диска восстановления Debian, массив рейдов автоматически перестраивается и загрузочный раздел (находящийся на другом диске) распознается.

Команда mdadm --examine --scan с Rescue CD дает следующий результат:

МАССИВ /dev/md/0 metadata=1.2 UUID=9cd0e36b:c6cf5152:8806546f:fda3be1d name=voyager:0

Я пытался переустановить GRUB поверх /dev/sda , поверх /dev/sda1 , поверх /dev/sdb и /dev/sdc (последние два диска являются членами массива рейдов, а /dev/sda — загрузочным). диск, который не является членом массива, но безуспешно. После update-grub у меня та же ошибка: mdadm не может видеть массив дисков. Единственное различие, которое я вижу между системой Rescue, которая работает, и моя система, которая не может видеть устройство рейда, является ядром Linux: спасательная версия использует версию 4.9.0-6-amd64, моя система использует 4.9.0-4-686-pae.

Привет! Это не жареные!

Как перенести программный RAID на другую машину?

Итак, у меня два компьютера, старый и новый. У старого есть два диска по 250 ГБ, которые я установил в программный RAID 0, когда много лун назад установил на него Ubuntu. Как я могу настроить их на новой машине, на которой уже установлена ​​Ubuntu, не теряя при этом никаких данных? Затем я хотел бы смонтировать как /storage или что-то в этом роде.

Любитель Ubuntu и любовь к ней

Дата присоединения: февраль 2007 г. Местоположение Cameron Park CA USA Beans 4 571 --> Beans 4 571 Distro Ubuntu Development Release

У меня не было проблем с переносом массивов рейдов mdadm с одной машины на другую. На новой машине просто вставьте диски в слоты SATA, порядок не имеет значения. Затем загрузитесь, установите mdadm, а затем:

И появляется массив. Теперь смонтируйте обычным образом, используя имя /dev/md[n], также в файл fstab.

Сообщите нам, если у вас возникнут проблемы. Ни в коем случае не делайте --build или --create. Тогда наверняка все данные будут потеряны.

С уважением, откровенный, http://yantrayoga.typepad.com/noname/
Самодельный Lian-Li PC-Q33WB, Intel i7-4790K 4,6 ГГц, твердотельные накопители, 32 ГБ ОЗУ | Ноутбук Dell 13,3".
Oracle VBox с WinXP/Win10 с Xara Designer, PaintShopPro и InDesign CS.

Привет! Это не жареные!

Первоначальное сообщение от fjgaude

У меня не было проблем с переносом массивов рейдов mdadm с одной машины на другую. На новой машине просто вставьте диски в слоты SATA, порядок не имеет значения. Затем загрузитесь, установите mdadm, а затем:

И появляется массив. Теперь смонтируйте обычным образом, используя имя /dev/md[n], также в файл fstab.

Сообщите нам, если у вас возникнут проблемы. Ни в коем случае не делайте --build или --create. Тогда наверняка все данные потеряны.

Вау, это НАМНОГО проще, чем я думал. Я попробую завтра и дам вам знать, как все идет.

Первый кубок Ubuntu

5 чашек Ubuntu

Возможно, кто-то в этой теме может мне помочь - я построил массив RAID 5, используя шесть дисков SCSI, отформатировал и смонтировал его - отлично работает, пока я не перезагружусь, а затем четыре диска больше не имеют таблицы разделов и массив не может быть собран - есть идеи?

Похоже, суперблоки RAID в порядке, если я создам новую метку диска и разделю ее ТОЧНО так же, как и раньше, она соберется и будет работать нормально до следующей перезагрузки.

Привет! Это не жареные!

Работал как чемпион! Извините за поздний ответ и спасибо за помощь.

Привет! Это не жареные!

Первоначальное сообщение от Prince_of_hackers

Возможно, кто-то в этой теме может мне помочь - я построил массив RAID 5, используя шесть дисков SCSI, отформатировал и смонтировал его - отлично работает, пока я не перезагружусь, а затем четыре диска больше не имеют таблицы разделов, и массив не может быть собранным - есть идеи?

Похоже, суперблоки RAID в порядке, если я создам новую метку диска и разделю ее ТОЧНО так же, как и раньше, она соберется и будет работать нормально до следующей перезагрузки.

5 чашек Ubuntu

Да, хотя проблема не в обнаружении. Ядро обнаруживает массив из постоянного суперблока на первом жестком диске, но поскольку остальные разделы RAID исчезли, оно не может найти их для сборки массива.

5 чашек Ubuntu

Хорошо, я понял - в отличие от обычной файловой системы ext, программный рейд перезапишет метку диска в начале жестких дисков. Чтобы исправить это, я запустил разделы, используемые в качестве элементов массива рейдов, на первом цилиндре вместо нулевого цилиндра по умолчанию, и теперь все работает отлично.

Первый кубок Ubuntu

Я купил отремонтированный настольный компьютер IBM S50 Small Form factor в качестве нового сервера. В настоящее время я использую Fedora 14 с Amahi в качестве домашнего сервера. У меня установлен Linux на диске Ide 30 Гбит, а все хранилище на 3 дисках SATA по 200 Гбит, программный рейд5.

Я хочу переустановить Fedora с Amahi на новом компьютере и перейти со старого на новый сервер. Есть ли риски? В этом нет никакой срочности, я хочу спланировать это правильно, так как не хочу потерять данные в процессе.

Зарегистрированный пользователь

Ядро должно просто увидеть, что на дисках есть автоопределение разделов рейда Linux, вызвать массив и назначить ему узел устройства, например /dev/md0. Чтобы быть в безопасности, вы можете скопировать файл mdadm.conf из старой системы. Если вы его еще не создали, вы можете создать его, запустив «mdadm --detail --scan >> /etc/mdadm.conf» и просто скопировав его в новое поле. Файл mdadm.conf на самом деле не нужен, но это неплохая идея, на тот случай, если он понадобится вам для повторной сборки массива. Кроме того, вы можете указать свой адрес электронной почты, и он отправит вам электронное письмо, если диск выйдет из строя. Вы также захотите убедиться, что mdadm установлен. Вероятно, он установлен по умолчанию в Fedora, просто проверьте, есть ли он у вас.

Поэтому скопируйте mdadm.conf на новый сервер и убедитесь, что mdadm установлен.

Выключите обе машины.

Перенос дисков на новую машину.

Подключите новую машину и проверьте, обнаружен ли массив.

Смонтируйте его и создайте запись в fstab, чтобы он монтировался при загрузке.

Неплохая идея сделать резервную копию, прежде чем вы начнете манипулировать своими данными, тем более что рейд не защищает от случайного удаления и перезаписи.

Зарегистрированный пользователь

Я планировал настроить массив во время установки, чтобы установка создала mdadm.conf.

Каждый раз, когда я пытался добавить массив вручную и отредактировать файл fstab после установки, он не монтировался при загрузке.

Неплохо создать резервную копию mdadm.conf

Зарегистрированный пользователь

Зарегистрированный пользователь

На всякий случай я бы даже не подключал диски во время установки. Но если вы хотите пойти по этому пути, не пересоздавайте массив. Установщик должен увидеть его, и вам просто нужно установить точку монтирования и убедиться, что во время установки установлено НЕ форматирование. Прошло много времени с тех пор, как я видел установку с уже присутствующим массивом mdadm, который я пытался сохранить, поэтому я не уверен в этом на 100%.

Я только что обновил прошивку, в которой были изменены идентификаторы устройств на моих дисках, поэтому мой файл mdadm.conf больше не был точным. Как только я вынул его из fstab и полностью загрузил систему, mdadm нашел его, и я только что создал новый файл mdadm.conf с обновленными идентификаторами. Это должно вернуть его и снова запустить. Надеюсь.У меня были другие проблемы, для которых я обновляю прошивку и жду завершения fsck. По крайней мере, у меня есть полная резервная копия, но rsync 4 ТБ данных занимает много времени.

Зарегистрированный пользователь

Хорошо, думаю, я сильно облажался. В процессе установки я переместил 3 диска в правые столбцы на странице, где вы выбираете диски, которые будут частью установки. Конечно, я торопился и не обратил внимания, и установщик использовал 3 диска как 3 блока, а не 1 массив. Он скопировал папки на 2 диска. В итоге я потерял все это. У меня были резервные копии самых важных вещей, но в конце концов я потерял все детские фильмы, около 70 +/-. к счастью, меня простили ;о)) Я воссоздал массив, затем, после 16-часовой синхронизации,
смонтировал массив и приступил к перезагрузке. Загрузка не удалась из-за ошибки массива. 1 вышел бы из строя, но я мог бы остановить и собрать массив вручную. один раз загрузился после ребута и закомментировал строку FSTAB про массив. заглянув в дисковую утилиту, я увидел, что ОС "перепуталась" и частично увидела 2 массива. Но ни в fdisk -l, ни в fstab признаков этого массива не было.

Я переустанавливаю (полагаю, привычка пользователя Windows... ;o) ) прямо сейчас, с отключенными дисками, и посмотрю, что произойдет дальше

Пока что мой опыт работы с программным RAID с Linux оказался крайне болезненным, MDADM кажется очень привередливым.

---------- Сообщение добавлено в 12:12 ---------- Предыдущее сообщение было в 11:50 ----------

Хорошо. ОС ссылается на массив /dev/md127, который не удается правильно смонтировать. В mdadm.conf этого нет. Я хотел бы избавиться от этого фальшивого массива, я предполагаю, что он является источником моих проблем, по крайней мере, частично. я пробовал

mdadm --stop /dev/md127

mdadm --remove /dev/md127

последний возвращает ошибку, потому что он не является частью mdadm.conf.

---------- Сообщение добавлено в 12:19 ---------- Предыдущее сообщение было в 12:12 ----------

Я обнулил суперблок на sdb, sdc и sdd. Нет больше ссылки на /dev/md127.

Кажется, я куда-то иду.

Зарегистрированный пользователь

Я видел случаи и сам проходил через это, когда Linux все еще видит там старый массив и файловую систему, когда вы воссоздаете его точно таким, каким он был раньше. Я обошел это, просто записав некоторые данные непосредственно на устройство и перезагрузившись перед воссозданием массива. Это не позволяет ОС найти там что-либо. Я сделал это, запустив «dd if=/dev/zero of=/dev/sdX», где sdX — это каждый член массива. Вам нужно запустить его всего на 10 секунд на каждом устройстве, этого достаточно, чтобы очистить таблицы разделов и файловые системы. На каждое устройство уйдут часы, если вы позволите ему писать в каждый его блок.

Чувак, я только что прошел через огромную боль, пытаясь понять, что происходит, и, в конце концов, мне пришлось стереть и перезагрузить мой массив. Некоторая оперативная память, которую я только что купил, заполнила весь массив. Практически каждая операция с контрольной суммой не выполнялась, даже для yum/rpm. Странно то, что ОЗУ прошло 10 проходов memtest86+ на другом компьютере просто отлично, но поместите его в этот ящик, и контрольные суммы будут ошибочными слева и справа. Это было некрасиво.

Зарегистрированный пользователь

Ну, мне удалось разобраться. после удаления суперблоков и воссоздания массива с нуля, а также после 15 часов синхронизации это вроде как сработало.

После перезагрузки мне не удалось смонтировать массив, произошел сбой 1 диска. Нет загрузки.

Я добавил nodmraid в конфигурацию grub, 1 диск вышел из строя, но загружается.

Поэтому я прокомментировал строку в FSTAB, перезапустил ее и смог смонтировать вручную. Поэтому я добавил эти команды в etc/rc.local:

mdadm --stop dev/md0
mdadm -A /dev/md0
mount /dev/md0 /mnt/raid.

Возможно, это не идеальное решение, но оно работает очень хорошо.

Меня смущает ваш баран.

Зарегистрированный пользователь

Проверьте файл mdadm.conf, чтобы убедиться, что его устройства соответствуют тому, что есть на самом деле. Запустите «mdadm --detail --scan» и сравните UUID с вашим файлом /etc/mdadm.conf. Вы переделали массив, поэтому идентификаторы устройств должны были измениться, и если вы не обновили их в mdadm.conf, он попытается вызвать несуществующий массив в начале загрузки. Я обнаружил, что он, кажется, пытается вызвать что-то в mdadm.conf в начале загрузки, но может успешно автоматически определять устройства md позже при загрузке, по крайней мере, на Centos. Также вы можете опубликовать свой файл fstab и вывод «blkid», если вы все еще не можете его запустить.

Да, это довольно запутанно, что какая-то оперативная память может уничтожить массив, но, проведя с ним все выходные, очевидно, что проблема в нем. Простое вставление этого материала в машину приведет к сбою даже rpm -qa из-за всех неправильных контрольных сумм, которые он вызывает. Как только я вставил его и загрузил, в файловой системе и массиве появились ошибки.Если оставить оперативную память, перестроить массив, отформатировать его и смонтировать один раз, это также мгновенно вызовет ошибки файловой системы. Я, вероятно, мог бы восстановить массив, но я чувствую себя в полной безопасности, восстанавливая его из резервных копий.

Зарегистрированный пользователь

📅 22 декабря 2020 г.
Что? Почему этот диск все еще настаивает на том, что он является частью массива RAID?

Если вы используете mdadm, вы могли столкнуться с ситуацией, когда, даже если вы ввели правильные команды для отказа одного диска и его удаления из массива, другой компьютер или тот же самый компьютер по-прежнему распознает его как часть старого массив.

Это нормально, так как диски mdadm содержат суперблоки, содержащие информацию о RAID. Если компьютер по-прежнему видит удаленный диск как часть массива RAID, обычно это происходит потому, что суперблок не был удален с диска.

Вот как это сделать.

Примечание. Поскольку массивы RAID в первую очередь защищают данные, обязательно создайте резервную копию перед изменением массива RAID. Это включает в себя добавление или удаление дисков. Существует вероятность серьезной ошибки и потери данных. Сначала создайте резервную копию!

Это выглядит знакомо?

Диск-участник был удален из массива RAID с помощью mdadm, но система по-прежнему видит этот диск как часть массива.

Обзор

  • sudo mdadm –detail /dev/md1
  • sudo umount /media/myraid
  • sudo mdadm –stop /dev/md1
  • sudo mdadm –fail /dev/sde –удалить /dev/sde
  • sudo mdadm –zero-superblock /dev/sde
  • sudo mdadm — сборка — сканирование

Шаг 1. Получите сведения о массиве

В этой статье эти команды были протестированы на Linux Mint 20 с RAID-массивом с помощью программного диспетчера RAID mdadm (бесплатно из репозитория).

Предположим, массив RAID называется /dev/md1, а диск, который мы хотим удалить навсегда, называется /dev/sde.

Этот результат показывает подробную информацию о массиве /dev/md1. Проверка массива - хорошая идея. По какой-то причине — неисправный диск, новая конфигурация RAID — мы хотим удалить /dev/sde из существующего массива /dev/md1.

Шаг 2. Размонтируйте RAID-массив

Предположим, что массив RAID смонтирован в /media/myraid. Мы должны остановить массив, чтобы навсегда удалить диск, но перед этим мы должны размонтировать массив, если он смонтирован и используется операционной системой.

Шаг 3. Остановите массив

Теперь мы можем остановить массив.

Шаг 4. Удалите диск с помощью mdadm

Пока не извлекайте диск из компьютера физически (если вы так планируете). Нам нужно указать mdadm «отключить» или «удалить» диск как часть конфигурации RAID /dev/md1.

Нам нужно выйти из строя и удалить диск.

Важное примечание. Извлекайте диск только из массива, который поддерживает удаление без потери данных. В этом примере был дополнительный жесткий диск для резервирования (/dev/sde). Его удаление не убило массив. Однако если вы удалите диск из массива RAID-0, вы потеряете все свои данные. Если вы удалите диск из массива RAID-5, состоящего только из трех дисков, вы потеряете все свои данные, поскольку для работы RAID-5 требуется как минимум три диска. Сначала узнайте свои уровни RAID!

Шаг 4. Обнуление суперблока на удаленном диске-участнике

Хорошо, диск-участник был удален, но он по-прежнему будет настаивать на том, что он является частью массива, поскольку предыдущая конфигурация массива RAID по-прежнему хранится на диске в его суперблоке. Каждый диск-член массива будет иметь свой собственный суперблок для хранения информации RAID. Нам нужно очистить эту информацию.

Это очень важный шаг, который легко упустить из виду. mdadm не очищает автоматически суперблок диска-участника при его удалении из массива. Вы должны сделать это вручную самостоятельно. Если этот рядовой диск установлен на другом компьютере или используется как обычный диск на том же компьютере, если его суперблок не очищен с помощью mdadm (или gparted с полным сбросом раздела), любая существующая установка mdadm попытается автоматически собрать диск к своему предыдущему массиву. Это может вызвать проблемы и головокружение. Очистка суперблока с помощью mdadm — самый безопасный способ удалить информацию RAID с удаленного диска-участника.

Если из массива удаляются несколько дисков, суперблок каждого диска должен быть очищен. Делайте это по очереди.

Шаг 5. (Необязательно) Измените количество устройств для RAID-массива

Теперь, когда один диск-участник удален из массива, мы должны изменить количество дисков, ожидаемых массивом, иначе удаленный диск будет отображаться как отсутствующий диск при каждом перезапуске системы.Если бы у нас было четыре диска, то массив все равно будет ожидать четыре диска.

Предположим, осталось три диска.

Для этого мы используем параметр –grow. Эта часть может быть сложной, поскольку она, как правило, зависит от массива. Обычно наиболее гарантированным вариантом является воссоздание массива с новым количеством устройств, если вы планируете уменьшить количество дисков-участников.

Если вы добавляете дополнительный диск-член в существующий массив, нет необходимости создавать его заново. Сначала добавьте новый диск, а затем используйте параметр –grow.

Примечание. Шаг 5 потенциально опасен. Одна ошибка или опечатка, и вы можете потерять данные на массиве. Убедитесь, что у вас есть резервная копия ваших данных.

Шаг 5 зависит от того, чего вы пытаетесь достичь, поэтому здесь невозможно перечислить все возможные варианты. Это только идеи для иллюстрации процесса. В зависимости от вашей цели, это может быть не пятый шаг.

Также обратите внимание, что если вы хотите изменить уровни RAID с RAID-0 на RAID-5, вам нужно будет остановить, удалить и воссоздать новый массив. Вы не можете переключать уровни RAID с помощью mdadm без потери данных. Сначала создайте резервную копию!

Шаг 6. Перезапустите массив

Вопреки тому, что можно было бы ожидать, для mdadm нет параметра –start. Чтобы запустить массив с помощью mdadm, мы должны использовать параметры --assemble и --scan вместе. Это автоматически сканирует суперблоки и собирает их в соответствующие массивы.

В случае успешного запуска RAID-массива вы должны увидеть примерно такое сообщение:

Количество дисков будет зависеть от массива. В этом примере используется один массив с тремя дисками, но в одной системе может существовать несколько массивов RAID. mdadm использует суперблоки, чтобы определить, какой диск принадлежит какому массиву, поэтому нам нужно очистить его, чтобы окончательно удалить диск из массива.

Заключение

На этом этапе вам решать, что делать с диском, удаленным из массива. Если это неисправный диск, то лучше физически удалить его из системы. Если жесткий диск исправен, вы можете перенести его на другую систему… или использовать как обычный диск… или добавить в качестве запасного во второй массив RAID в той же системе. Выбор за вами.

Читайте также: