Недавно я установил новую машину Debian 9 («растяжка»).
Сначала у него было 2 диска. Я настроил их как RAID1 с помощью установщика Debian, и он дал мне /dev/md0
с
/etc/mdadm/mdadm.conf:
содержащий
# definitions of existing MD arrays ARRAY /dev/md/0 metadata=1.2 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 name=MYHOSTNAME:0
и /proc/mdstat
:
md0 : active raid1 sda1[0] sdb1[1] 488253440 blocks super 1.2 [2/2] [UU] bitmap: 0/4 pages [0KB], 65536KB chunk
Это устройство, отформатированное как ext4
и смонтированное UUID как «/» в /etc/fstab
). Все работает нормально, как и ожидалось.
Позже я добавил еще несколько более крупных дисков. Разделили их (с небольшим разворотом по каждому из них) и настроили их с помощью mdadm -C -n 2 -l raid1 /dev/md1 /dev/sdc2 /dev/sdd2
(это определенно то, что я сделал, потому что он все еще находится в оболочке моего корня историю, а также пару последующих mdadm --examine /dev/md1
и mdadm --detail --verbose /dev/md1
).
Я также добавил строку в /etc/mdadm/mdadm.conf
(только после шаблона для исходного устройства):
ARRAY /dev/md/1 metadata=1.2 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f name=MYHOSTNAME:1
И, конечно же, я ext4
отформатировал устройство и добавил запись UUID в /etc/fstab
чтобы смонтировать ее в моей выбранной точке подключения /data
.
Кажется, что все работает нормально, и после нескольких перезагрузок машины тоже, и я с радостью делаю огромные rsyncs для новых дисков.
Однако сегодня мне приходилось заглядывать в etc / mtab и / proc / mdstat, и я заметил, что мой / dev / md1, кажется, исчез и превратился в / dev / md127 (в / proc / mdstat) и / или / dev / md127p1 в / etc / mtab:
/proc/mdstat:
показывает:
md127 : active raid1 sdc2[0] sdd2[1] 3904788480 blocks super 1.2 [2/2] [UU] bitmap: 2/30 pages [8KB], 65536KB chunk md0 : active raid1 sda1[0] sdb1[1] 488253440 blocks super 1.2 [2/2] [UU] bitmap: 0/4 pages [0KB], 65536KB chunk
а также
/etc/mtab:
показывает:
/dev/md0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0 /dev/md127p1 /data ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
Кажется, все работает нормально, но что там случилось? Я сконфигурировал RAID1 почти так же на нескольких других машинах раньше (правда, много лет назад), и там RAID-массивы только что /dev/md1
название /dev/md0
и /dev/md1
. Откуда /dev/md127
это 127
и какая разница между /dev/md127
и /dev/md127p1
? Есть ли способ переименовать их в /dev/md1
, или это то, что я застрял?
Используйте следующую команду, чтобы убедиться, что вы имеете дело с правильными UUID:
mdadm --detail /dev/md* | grep -e /dev/md -e UUID
Измените список массивов, вы можете использовать nano, если не уверены:
nano /etc/mdadm/mdadm.conf
чтобы он содержал UUID массивов, которые вы хотите; или дважды проверьте его:
ARRAY /dev/md/0 metadata=1.2 name=MYHOSTNAME:0 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 ARRAY /dev/md/1 metadata=1.2 name=MYHOSTNAME:1 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f
Назовите свои массивы по своему вкусу.
Используйте следующую команду, чтобы убедиться, что вы устанавливаете правильные файловые системы:
blkid /dev/md*
для того, чтобы /etc/fstab
содержал их таким образом:
UUID=...
Я подозреваю, что самый важный шаг, который вы, возможно, пропустили, обновляет ваши initramfs
:
update-initramfs -u
Это должно быть так. У меня сам был точный вопрос в той же системе. Если я пропустил шаг или что-то забыл, прошу оставить комментарий, и я отредактирую этот ответ завтра утром.
Вопрос & Как:
Откуда это произошло?
Когда вы забыли обновить свои initramfs
, во время загрузки система не знает о вашем новом массиве и по умолчанию начинает называть его с конца (127).
В чем разница между
/dev/md127
и/dev/md127p1
?
/dev/md127
– это имя массива
/dev/md127p1
– это имя раздела на массиве
Справочная информация:
Как описано выше, update-initramfs -u
действительно выглядело очень важным! Тем не менее, оказалось немного больше настроек, которые я буду редактировать здесь, а не в другом ответе или комментарии:
После описанных выше шагов у меня был /dev/md0
и /dev/md1p1
. Любопытно, глядя на / proc / partitions, я мог видеть как /dev/md1
и a /dev/md1p1
. Немного искатель Google заставил меня подозревать, что это связано с поведением по умолчанию, описанным в /proc/mdstat.conf:
# by default (built-in), scan all partitions (/proc/partitions) and all # containers for MD superblocks. alternatively, specify devices to scan, using # wildcards if desired. #DEVICE partitions containers
и, действительно, добавление строки без комментирования
DEVICE partitions
означало, что у меня были только /dev/md0
и /dev/md1
после следующей перезагрузки.
(Рассматривая некоторые старые машины Debian с рейдом mdadm, я вижу, что у всех у них также была явная строка DEVICE partitions
, и я никогда не сознательно использовал или хотел использовать понятие mdadm о «контейнерах»)