Здесь — по каким записям mdadm собирает массивы и зачем массив записывают в /etc/mdadm/mdadm.conf.
В начале каждого диска массива лежит суперблок md — служебная запись с UUID массива, его именем и номером диска. super 1.2 в /proc/mdstat — формат этой записи, а печатает её sudo mdadm --examine /dev/loop0. По суперблокам mdadm находит диски одного массива и собирает их снова: на сервере — при загрузке, когда диски появляются, или по команде sudo mdadm --assemble --scan.
Файл /etc/mdadm/mdadm.conf — список массивов машины (в Вики): строка ARRAY с именем устройства и UUID массива. Пока строк нет, mdadm --assemble --scan собирает все массивы, какие нашёл: массив этой машины — по имени из суперблока (ubuntu:0 → /dev/md0), массив с чужим именем хоста, например с дисков другого сервера, — как /dev/md127. Когда строки есть, собираются только записанные массивы и под записанными именами.
Строку печатает сам mdadm, а в файл её дописывают через sudo tee -a:
На массив — одна строка: с двумя строками одного массива mdadm --assemble --scan отвечает Duplicate MD device names in conf file were found. Массивы, нужные для загрузки, сервер собирает ещё в initramfs по его копии файла, поэтому после правки mdadm.conf копию обновляют: sudo update-initramfs -u.
В mdadm.conf сервера записан только массив md0. К серверу подключили два диска с зеркалом со старого сервера. Что сделает sudo mdadm --assemble --scan?
-
Номера по порядку mdadm не раздаёт: имя он берёт из строки ARRAY или из суперблока. Перенесённого массива в файле нет, и собирать его mdadm не станет.
-
Работающий массив
--assemble --scanне трогает: md0 так и останется в/proc/mdstat. А перенесённого массива в файле нет. -
Так было бы, если бы в файле не было ни одной строки ARRAY. Строка md0 есть, и mdadm собирает только записанные массивы.
Когда в mdadm.conf есть строки ARRAY, --assemble --scan собирает только записанные массивы. Перенесённый массив соберётся, когда в файл допишут его строку с UUID из sudo mdadm --examine любого его диска.
Главное в шаге
- Суперблок на каждом диске хранит UUID массива: по нему mdadm находит диски одного массива.
-
Строка
ARRAYв mdadm.conf закрепляет за массивом имя; когда строки есть, mdadm собирает только записанные массивы. - На массив — одна строка, а после правки файла на сервере обновляют initramfs.