Как переместить программный RAID-массив Linux на новый компьютер?

20

У меня есть недавно собранный компьютер с новой установкой Gentoo Linux и программным массивом RAID 5 с другого компьютера (4 диска IDE, подключенные к встроенным контроллерам PCI). Я успешно переместил контроллеры на новую машину; диски определяются ядром; и я использовал mdadm --examine и проверил, что единственный раздел RAID обнаружен, очищен и даже в «правильном» порядке (hde1 == диск 0, hdg1 == диск 1 и т. д.).

У меня нет доступа к исходным файлам конфигурации со старой машины. Как мне продолжить активацию этого массива без потери данных?

romandas
источник

Ответы:

20

Вам действительно нужен оригинальный файл mdadm.conf. Но, поскольку у вас его нет, вам придется его воссоздать. Во-первых, прежде чем что-то делать, прочтите mdadm через его страницу руководства . Почему шанс потерять ваши данные в ситуации или команде, которые вы не понимали?

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

Вы можете попробовать это:

mdadm --assemble --scan --verbose /dev/md{number} /dev/{disk1} /dev/{disk2} /dev/{disk3} /dev/{disk4}

Это должно дать вам некоторую информацию для начала работы, а также идентификатор. Он также создаст новый массив устройств / dev / md {number}, оттуда вы сможете найти любые монтирования. Не используйте эту --autoопцию, словесность справочной страницы подразумевает, что при определенных обстоятельствах это может привести к перезаписи настроек массива на дисках. Вероятно, это не тот случай, и страница, вероятно, должна быть переписана для ясности, но почему это случайно?

Если массив собирается правильно и все «нормально», обязательно запишите и сохраните свой mdadm.conf /etc, чтобы он был во время загрузки. Включите новый идентификатор из массива в файл, чтобы помочь ему в этом.

Эйвери Пэйн
источник
+1 - Отлично! Я переместил несколько наборов RAID-1 и RAID-5 между компьютерами Linux. Одна вещь, в которой я не уверен, это то, где вы видите информацию о «--auto». На странице руководства на компьютере с CentOS 5.1 я вижу только то, что «--auto» создает запись / dev / mdX (или записи) для массива. Я не вижу ничего, что могло бы указывать, что оно будет записывать на диски. (На самом деле, «--auto = yes» является значением по умолчанию в mdadm на CentoS 5.1, если «--auto» не указано.) «--Update» может быть вашим другом, если вам нужно переместить массив в другой номер mdX из оригинала, указанного в суперблоке.
Эван Андерсон
Отлично, я могу успешно смонтировать массив. Единственная проблема - это то, что RAID не запускается после перезагрузки; Я должен перезапустить mdadm -Av / dev / md0. Есть идеи почему?
romandas
Вы воссоздали файл /etc/mdadm.conf? Система будет искать этот файл во время загрузки, чтобы найти массивы.
Эйвери Пейн
Я сделал. Разница была в том, что я перекомпилировал ядро ​​с CONFIG_MD_AUTO. Сначала я этого не делал, потому что думал, что вместо этого mdadm сделает это. Я где-то читал, что код ядра не так надежен, как использование mdadm для автоматического монтирования, но я больше не могу найти ничего, что могло бы это подтвердить.
Романдас
2

Просто хотел добавить мой полный ответ по крайней мере для Debian.

  • Установите менеджер рейда через -> sudo apt-get install mdadm
  • Сканирование старых дисков рейда через -> sudo mdadm --assemble --scan

  • На этом этапе мне нравится проверять BLKIDи монтировать рейд вручную для подтверждения.

    blkid mount /dev/md0 /mnt

  • Добавить информацию в mdadm.conf через -> mdadm --detail --scan >> /etc/mdadm/mdadm.conf
  • Обновите initramfs через -> update-initramfs -u

  • Поиск проблемы:

Убедитесь, что результат mdadm --detail --scanсоответствует вашему/etc/mdadm/mdadm.conf

    nano /etc/mdadm/mdadm.conf

    ARRAY /dev/md/0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
  • Пример FSTAB

    /dev/md0    /mnt/mdadm   ext4    defaults,nobootwait,nofail     0    2
    

/unix/23879/using-mdadm-examine-to-write-mdadm-conf/52935#52935

/ubuntu/729370/can-i-transfer-my-mdadm-software-raid-to-a-new-system-in-case-of-hardware-failur

Как переместить программный RAID-массив Linux на новый компьютер?

FreeSoftwareServers
источник
1
mdadm -Ac partitions -m 0 /dev/md0

Сканирование всех разделов и устройств, перечисленных в / proc / partitions, и сборка / dev / md0 из всех таких устройств с использованием суперблока RAID с меньшим числом 0.

если conf был успешным, вы можете добавить --detail --scan >> /etc/mdadm/mdadm.conf, чтобы он перехватывал его при загрузке

elprup
источник