Как собрать определенный массив RAID без использования /etc/mdadm.conf

9

Можно ли собрать конкретный RAID-массив, используя mdadm и его функции сканирования, но без необходимости в файле конфигурации?

Предыстория:
я использую пользовательские initramfs для настройки моей системы (dm-crypt и другие). Все сделано и настроено в скрипте инициализации, и я бы хотел сохранить его, то есть без каких-либо дополнительных файлов конфигурации.

Моя цель:
в скрипте init я хотел бы собрать один конкретный RAID-массив, используя только командную строку. Массив идентифицируется через его UUID, дается имя устройства md, и необходимо проверять элементы массива (так как, например, подключенный USB-накопитель или неисправное устройство могут испортить имена / dev / sdX). Все остальные устройства и потенциальные RAID-массивы следует игнорировать, поскольку во время загрузки интерес представляет только один массив (содержит корневую файловую систему).


Тщательно прочитав справочную страницу mdadm и выполнив несколько тестов, я придумал следующее:

mdadm --assemble --uuid <uuid> /dev/md0


Кажется, это работает, но это правильный способ сделать это?


Со страницы руководства:
Если в списке указано только одно устройство, но --scan не задано, то mdadm действует так, как если бы был задан параметр --scan, а идентификационная информация извлекается из файла конфигурации.

Maxxim
источник

Ответы:

15

Если вы знаете массив UUID, то mdadm --assemble /dev/md0 --uuid <uuid>(обратите внимание на небольшую разницу в порядке параметров) будет делать то, что вы хотите: сканировать все неиспользуемые тома на предмет тех, у которых есть mdметаданные для данного UUID. Другие варианты:

  • mdadm --assemble /dev/md0 --name <name>(делает то же самое --uuid, но с именем массива вместо UUID.)
  • mdadm --assemble /dev/md0 --super-minor <minor id #>(делает то же самое, что --uuidи с младшими номерами устройств в метаданных. Рекомендуется только для метаданных версии 0.90.)
  • mdadm --assemble /dev/md0 /dev/disk/by-id/<disk>...(если udevустановлены /dev/disk/by-idпсевдонимы, которые должны быть статическими при аппаратных изменениях.)
  • mdadm --assemble --scanбез массивов, перечисленных в файле конфигурации (просканируйте все неиспользуемые тома на наличие mdметаданных и соберите RAID-массивы на основе найденных. Обратите внимание, что если у вас есть несколько массивов и вы хотите настроить только один из них, или если ваш массив получен разделить, это не будет делать то, что вы хотите.)
отметка
источник