LINUX.ORG.RU

error: disk mduuid not found

 , , , ,


0

1

Здравствуйте.

Столкнулся со следующей проблемой.

Имеет 2 массива RAID5 на mdadm c 3-мя накопителями. в первом расположен «/grub» во втором LVM с «/» и файлом подкачки.

Так же присутствует еще один диск для бэкапов вне массива.

После уменьшения раздела с «/» и уменьшения раздела LVM - система перестала грузится. Хотя по прежнему прекрасно монтируется.

При попытке загрузки системы выдается следующая ошибка:

error: disk 'mduuid/91be795a100a9b871dc3f6b967438e8b' not found.
Entering rescue mode...
grub rescue>

Я так полагаю, изменилось имя у массива, по этом груб не может его собрать.

Выхлоп на ls

grub rescue>ls
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1) (hd2) (hd2,msdos2) (hd2,msdos1) (hd3) (hd0,msdos1) (md/1) (md/0)

Причем могу просмотреть содержимое, когда он не ругается на файловую систему лишь на (hd0,msdos1) (hd2,msdos1) и (hd3,msdos1). Но показывает как пустой раздел.

Можно как нибудь решить данную проблему? Есть предположение, что нужно переписать содержимое grub.cfg с новым наименованием массива, но верно ли оно? И как его можно зафиксировать с livecd на дисках?

Спасибо.



Последнее исправление: Krishnoved (всего исправлений: 4)

т.е. ядро и конфиг груба лежат на софтовом рейде? WTF? биос уже научился в линуксовый софт-рейд?

anonymous
()
Ответ на: комментарий от anonymous

Добро пожаловать в GRUB2.

биос уже научился в линуксовый софт-рейд?

Ему не нужно ничего этого уметь.

anonymous
()

Загрузить машину с livecd/liveusb с поддержкой lvm и raid, посмотреть uuid и partuuid и поправить конфиг.

Radjah ★★★★★
()
Ответ на: комментарий от anonymous

GRUB2 умеет любой софтрейд, в т.ч. страйп. Драйвер для RAID запихивается в какой-то stage (не в самый первый), туда же данные для сборки массива. Аналогично работает с LVM и dm-crypt.

anonymous
()
Ответ на: комментарий от Krishnoved

Параметр чего? Команды? Да, нужно указать, на какой диск ставить (т.е. поочерёдно на все диски, нужные для загрузки). Проще всего через dpkg-reconfigure grub-pc (если у тебя Debian и не-EFI).

anonymous
()
Ответ на: комментарий от anonymous

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

Krishnoved
() автор топика
Ответ на: комментарий от Krishnoved

да, anonymous (20.02.2017 13:29:09), спасибо

Grub грузится с MBR сектора диска.

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

но теперь под файловой системой лежит еще один слой — soft-raid/LVM, и код с их поддержкой нужно разместить рядом с кодом, отвечающим за fs; неужели умудрились все это запихнуть в один MBR-сектор?

anonymous
()
Ответ на: комментарий от anonymous

В GRUB2 данная функция реализована. Но положа руку на сердце, мне не удалось корректно ее реализовать. При вынимании 2-х из 3-х дисков RAID5 рушился.

Что бы исключить данную возможность я boot вывел за LVM раздел отдельным массивом.

Krishnoved
() автор топика
Ответ на: комментарий от anonymous

Нет. На дисках с DOS-разметкой давно действует стандарт на отступ в 2048 секторов до первого раздела. Туда и ставится следующий стейдж загрузчика. На GPT такие хаки не приняты, там создаётся раздел с типом ef02 (обычно 2 Мб), куда и помещается жирная часть GRUB. Ну а на GPT с загрузкой через EFI таких проблем и вовсе нет, потому что загрузчик всегда является EFI-приложением, лежащим в ESP.

anonymous
()
Ответ на: комментарий от anonymous

На дисках с DOS-разметкой давно действует стандарт на отступ в 2048 секторов до первого раздела. Туда и ставится следующий стейдж загрузчика.

т.е. в MBR-секторе лежит код, который читает вот эти 2048 секторов (а это 2048*512=1M достаточно много для кучи разного кода)? наверно это как раз и называется 1.5 stage?

На GPT такие хаки не приняты, там создаётся раздел с типом ef02 (обычно 2 Мб), куда и помещается жирная часть GRUB.

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

Ну а на GPT с загрузкой через EFI таких проблем и вовсе нет, потому что загрузчик всегда является EFI-приложением, лежащим в ESP.

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

ну, вроде, пазл сложился в общих чертах, спасибо, народ!

anonymous
()
Ответ на: комментарий от anonymous

наверно это как раз и называется 1.5 stage?

Да.

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

Да.

а при инсталляции груба нужно явно указать раздел для этой жирной части?

Вроде нет, но точно уже не помню.

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

Именно.

anonymous
()
Ответ на: комментарий от anonymous

да, еще раз спасибо, было полезно

anonymous
()
Ответ на: комментарий от Radjah

Разобраться бы в конфиге. Что есть что.

Может кто помочь разобраться в синтаксисе?

set root='lvmid/iV21Vu-2yQg-ReoA-tLc2-ThSu-lNnG-M6L986/ZQ0suR-7X45-odLF-2AAB-zAlg-dcZR-b1Mp6I'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvmid/iV21Vu-2yQg-ReoA-tLc2-ThSu-lNnG-M6L986/ZQ0suR-7X45-odLF-2AAB-zAlg-dcZR-b1Mp6I'  28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e
else
  search --no-floppy --fs-uuid --set=root 28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e

menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod part_msdos
	insmod part_msdos
	insmod diskfilter
	insmod mdraid1x
	insmod raid5rec
	insmod ext2
	set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
	else
	  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
	fi
	echo	'Загружается Linux 4.9.0-1-amd64 …'
	linux	/vmlinuz-4.9.0-1-amd64 root=/dev/mapper/raid_md1-root_dir ro  quiet
	echo	'Загружается начальный виртуальный диск …'
	initrd	/initrd.img-4.9.0-1-amd64
}
submenu 'Дополнительные параметры для Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
	menuentry 'Debian GNU/Linux, с Linux 4.9.0-1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-1-amd64-advanced-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 4.9.0-1-amd64 …'
		linux	/vmlinuz-4.9.0-1-amd64 root=/dev/mapper/raid_md1-root_dir ro  quiet
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-4.9.0-1-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 4.9.0-1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-1-amd64-recovery-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 4.9.0-1-amd64 …'
		linux	/vmlinuz-4.9.0-1-amd64 root=/dev/mapper/raid_md1-root_dir ro single 
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-4.9.0-1-amd64
	}
	menuentry 'Debian GNU/Linux, с Linux 3.16.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-advanced-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 3.16.0-4-amd64 …'
		linux	/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/raid_md1-root_dir ro  quiet
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-3.16.0-4-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.16.0-4-amd64-recovery-28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_msdos
		insmod part_msdos
		insmod part_msdos
		insmod diskfilter
		insmod mdraid1x
		insmod raid5rec
		insmod ext2
		set root='mduuid/91be795a100a9b871dc3f6b967438e8b'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint='mduuid/91be795a100a9b871dc3f6b967438e8b'  a399b505-ab26-4a6b-863c-ca2032007be3
		else
		  search --no-floppy --fs-uuid --set=root a399b505-ab26-4a6b-863c-ca2032007be3
		fi
		echo	'Загружается Linux 3.16.0-4-amd64 …'
		linux	/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/raid_md1-root_dir ro single 
		echo	'Загружается начальный виртуальный диск …'
		initrd	/initrd.img-3.16.0-4-amd64
	}
}
Krishnoved
() автор топика
Ответ на: комментарий от Krishnoved
$ sudo blkid -c /dev/null
/dev/loop0: TYPE="squashfs"
/dev/sda1: UUID="533cb00f-0cb5-df9f-2749-05c77cd0a35e" UUID_SUB="f7cc0ad6-690b-0251-f0a5-48102fea1e57" LABEL="ubuntu:0" TYPE="linux_raid_member" PARTUUID="bce4fe2f-01"
/dev/sda2: UUID="d3b9491e-7e4e-ae5c-4ebd-56b82effdd71" UUID_SUB="96dc681f-d813-6937-0392-8a125bbc9510" LABEL="ubuntu:1" TYPE="linux_raid_member" PARTUUID="bce4fe2f-02"
/dev/sdb1: UUID="533cb00f-0cb5-df9f-2749-05c77cd0a35e" UUID_SUB="b0627983-9b0f-5a71-f0ce-eb8d7b730a90" LABEL="ubuntu:0" TYPE="linux_raid_member" PARTUUID="66598e88-01"
/dev/sdb2: UUID="d3b9491e-7e4e-ae5c-4ebd-56b82effdd71" UUID_SUB="237de0e8-f3bb-c046-e7c1-e839ee9696f6" LABEL="ubuntu:1" TYPE="linux_raid_member" PARTUUID="66598e88-02"
/dev/sdc1: UUID="533cb00f-0cb5-df9f-2749-05c77cd0a35e" UUID_SUB="f8ecbd3e-6b71-fc74-c8b0-75a9c7c8cb9c" LABEL="ubuntu:0" TYPE="linux_raid_member" PARTUUID="f1ffa696-01"
/dev/sdc2: UUID="d3b9491e-7e4e-ae5c-4ebd-56b82effdd71" UUID_SUB="08e3eb7e-95f1-7639-5247-51471bc42496" LABEL="ubuntu:1" TYPE="linux_raid_member" PARTUUID="f1ffa696-02"
/dev/sdd1: UUID="Gy0g76-3thD-nymq-igwK-xVTo-kxIV-4VK0X8" TYPE="LVM2_member" PARTUUID="23113063-01"
/dev/sde1: LABEL="UBUNTU 16_0" UUID="7266-DE18" TYPE="vfat" PARTUUID="001d9b55-01"
/dev/mapper/mountdisk-mountdisk: UUID="697681f7-f6eb-4c63-b27e-28da3eb99263" TYPE="ext4"
/dev/md0: UUID="a399b505-ab26-4a6b-863c-ca2032007be3" TYPE="ext4"
/dev/md1: UUID="ZjdOxq-teEM-znyG-lhb9-8CrO-oFDA-5UqgCM" TYPE="LVM2_member"
/dev/mapper/raid_md1-swap: UUID="9b554ec5-7c8d-4816-8a71-b57b37ddf735" TYPE="swap"
/dev/mapper/raid_md1-tmp: UUID="5e9a583f-e224-4e67-b4f2-8da947d0ec73" TYPE="ext4"
/dev/mapper/raid_md1-var: UUID="122fd4ef-5392-487f-9b7f-d33d41566f13" TYPE="ext4"
/dev/mapper/raid_md1-archive: UUID="a4442e7f-59c4-4cd2-8d87-e14b3fe2d760" TYPE="ext4"
/dev/mapper/raid_md1-log: UUID="4c12bd86-c684-4571-9c43-8cd297b8814e" TYPE="ext4"
/dev/mapper/raid_md1-root_dir: UUID="28fe76e1-dc3b-4236-9c7b-d30ed8cbd33e" TYPE="ext4"
Krishnoved
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.