From: "Васюк Максим" <vasukma@yandex.ru> To: sysadmins@lists.altlinux.org Subject: Re: [Sysadmins] e2fsck не может провести проверка при загрузке корневой ФС на LVM RAID1 Date: Fri, 7 Dec 2018 18:34:08 +0700 Message-ID: <2f2a9cdd-e533-c232-c453-3333228187da@yandex.ru> (raw) In-Reply-To: <201812051142.29375.a_s_y@sama.ru> Привет, Всем! Новые вводные. 05.12.2018 14:42, Sergey пишет: > On Wednesday 05 December 2018, Васюк Максим wrote: > >> Возможно из-за того, что e2fsck видит на LVM зеркалах систему, > > e2fsck ничего не видит. Он просто чекает то, что ему кто-то говорит > чекать. Вот почему ему скармливают /dev/mapper/vg00-root_sys_rimage_0, > это не знаю. > >> И нет бы сказал, что-то типа того: "Не могу работать, устройство >> занято!" и пошел дальше грузиться, но останавливает загрузку. Под пристальным внимаем обнаружилось, следующее: GRUB загрузил initrd, процессы запускаются и доходит дело до следующего момента: Starting system-udevd service: DONE Populating /dev: DONE Activaiting swap partition: DONE Setting hostname: DONE Checking root filesystem: DONE /dev/mapper/vg00-root_sys_rimage_0 in in use. e2sfck: Cannont continue, aborting. FAILED Жму Ctrl-D, идёт перезагрузка и может остановится или с такой же строчкой, или немного с другой: /dev/mapper/vg00-root_sys_rimage_0 in in use. Опять жму Ctrl-D, перезагрузка и так несколько раз, пока не попадёт на: /dev/mapper/vg00-root_sys и тогда загрузка проходит нормально: Remounting root filesystem in read/write mode: DONE и дальше по списку. Получается, при неудачных загрузках, initrd перед монтированием выбирает не LVM раздел собранный из разделов LVM зеркал, а как раз одно из LVM зеркал, т.к. эти устройства уже используются, e2fsck не может примонтировать файловую систему для проверки, а т.к. думает, что там корень, останавливает загрузку. Полез в fstab: # cat /etc/fstab UUID=57dc8810-3432-4477-b4ee-294642884ec7 / ext4 relatime 1 1 Глянул на UUID разделов и оказалось, что они у всех трёх разделов одинаковые: # blkid /dev/mapper/vg00-root_sys_rimage_0: UUID="57dc8810-3432-4477-b4ee-294642884ec7" TYPE="ext4" /dev/mapper/vg00-root_sys_rimage_1: UUID="57dc8810-3432-4477-b4ee-294642884ec7" TYPE="ext4" /dev/mapper/vg00-root_sys: UUID="57dc8810-3432-4477-b4ee-294642884ec7" TYPE="ext4" Получается GRUB или initrd тупо подхватывают первое под руку попавшееся устройство с указанными uuid, и начинает с ним пытаться работать, а результат зависит от того, какое таки устройство он подхватил. Кусок из grub.cfg: ... menuentry 'ALT starter kit' --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-simple-57dc8810-3432-4477-b4ee-294642884ec7' { ... search --no-floppy --fs-uuid --set=root 57dc8810-3432-4477-b4ee-294642884ec7 ... linux<->/boot/vmlinuz root=/dev/mapper/vg00-root_sys ro panic=30 splash echo 'Loading initial ramdisk ...' initrd /initrd.img ... Посмотрел на другой машине, там где организован MD RAID1. Оказалось, что у зеркал одинаковые uuid, а вот у собранного раздела из этих зеркал другой: # df ... /dev/md1 28G 2,7G 24G 11% / ... # cat /proc/mdstat ... md1 : active raid1 sda3[0] sdb3[1] ... # blkid ... /dev/sda3: UUID="c2029de0-13c6-1261-5cc0-45fc1eca55fc" TYPE="linux_raid_member" ... /dev/sdb3: UUID="c2029de0-13c6-1261-5cc0-45fc1eca55fc" TYPE="linux_raid_member" ... /dev/md1: UUID="a210197a-0b6f-4626-8d72-a2cfd5f73d38" TYPE="ext4" ... # cat /etc/fstab ... UUID=a210197a-0b6f-4626-8d72-a2cfd5f73d38 / ext4 relatime 1 1 ... Кусок из grub.cfg: menuentry 'ALT Linux starter kit' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a210197a-0b6f-4626-8d72-a2cfd5f73d38' { ... set root='mduuid/a427249a0b7032ac5cc045fc1eca55fc' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='mduuid/a427249a0b7032ac5cc045fc1eca55fc' 7d127096-dbff-4453-b8fc-70a350ee6afe ... linux /vmlinuz root=UUID=a210197a-0b6f-4626-8d72-a2cfd5f73d38 ro panic=30 splash echo 'Loading initial ramdisk ...' initrd /initrd.img ... Получается что md с этой проблемой знаком, а lvm нет. На проблемной машине делаю: #UUID=57dc8810-3432-4477-b4ee-294642884ec7 / ext4 relatime 1 1 /dev/mapper/vg00-root_sys / ext4 relatime 1 1 И всё начинает загружаться как надо. Grub грузит initrd с одного из зеркал, а корень монтирует initrd глядя, в свою очередь, уже в /etc/fstab. Т.к. в такой конфигурации имя устройства, на котором лежит корень, не меняется при замене, добавлении и пр. жестких дисков, в теории можно оставить так. >>>> Один вариант вижу, не использовать ext4. Смотрел в сторону btrfs >>> >>> Насколько понимаю, если данные не нужны, вполне себе вариант... > >> С данными всё в порядке, > > Михаил, как мне показалось, имеет ввиду предполагаемую недостаточную > обкатку btrfs и вероятные будущие проблемы. Но, вроде как, в SuSe > используют и планов по отказу не озвучивали. Я сначала тоже так решил, но потом подумал, что он же серьёзный человек, и не будет приколяться над страждущими ;) -- Васюк Максим
next prev parent reply other threads:[~2018-12-07 11:34 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-12-04 7:38 Васюк Максим 2018-12-04 10:38 ` Sergey 2018-12-05 6:16 ` Васюк Максим 2018-12-05 7:42 ` Sergey 2018-12-07 11:34 ` Васюк Максим [this message] 2018-12-07 18:42 ` Michael Shigorin 2018-12-08 9:01 ` Anton Gorlov 2018-12-07 18:36 ` Michael Shigorin 2018-12-07 18:35 ` Michael Shigorin 2018-12-04 10:58 ` Michael Shigorin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=2f2a9cdd-e533-c232-c453-3333228187da@yandex.ru \ --to=vasukma@yandex.ru \ --cc=sysadmins@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux sysadmins discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \ sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com public-inbox-index sysadmins Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sysadmins AGPL code for this site: git clone https://public-inbox.org/public-inbox.git