FS#33851 - [lvm2][device-mapper] upgrade renders system unbootable
Attached to Project:
Arch Linux
Opened by Xyne (Xyne) - Thursday, 14 February 2013, 02:14 GMT
Last edited by Allan McRae (Allan) - Thursday, 02 January 2014, 05:09 GMT
Opened by Xyne (Xyne) - Thursday, 14 February 2013, 02:14 GMT
Last edited by Allan McRae (Allan) - Thursday, 02 January 2014, 05:09 GMT
|
Details
There is a forum thread about this:
https://bbs.archlinux.org/viewtopic.php?id=158019
Upgrading while following all of the points in the news item and then regenerating the ramdisk (mkinitcpio -p linux) leads to the next boot failing with "end_request I/O error dev fd0 sector 0". The system can be mounted via chroot from a recovery system without issue. No disk errors are reported by fsck. This occurs for various kernel line parameter combinations as shown in the forum thread. Downgrading the packages via the recovers system or from within the chroot makes the system bootable again. Let me know what other information you need or what I should test. |
This task depends upon
Closed by Allan McRae (Allan)
Thursday, 02 January 2014, 05:09 GMT
Reason for closing: Fixed
Additional comments about closing: Reported fixed by user
Thursday, 02 January 2014, 05:09 GMT
Reason for closing: Fixed
Additional comments about closing: Reported fixed by user
HOOKS="base udev autodetect block lvm2 filesystems keymap keyboard fsck shutdown"
MODULES=""
Also, partition setup is
sda1: primary, boot
sda2: primary, LVM
root, var and home on LVM, unencrypted
device-mapper: table: 253:0: linear: dm-linear: device lookup failed
Then it drops me to a recovery shell. My root fs (/dev/mapper/lvmopraid-root) has no device entry. When I type
lvm lvchange -a e lvmopraid # lvmopraid being my volume group
the device entries appear, and I can press ctrl-d to logout, and the system boots.
My setup is:
/dev/sda2 and /dev/sdb2 contain an MD (/dev/md1), which contains the VG lvmopraid. That VG has three LV's, root, home and swap.
LVM: core/lvm2 2.02.98-3
Uname -a: Linux melk 3.7.7-1-ARCH #1 SMP PREEMPT Mon Feb 11 20:20:58 EET 2013 x86_64 GNU/Linux
mkinitcpio.conf:
MODULES=""
BINARIES=""
FILES=""
HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"
lvm.conf was updated automatically by pacman after update (use_lvmetad = 1).
After booting from rescuecd and downgrading the following packages, machine booted again:
lvm2 (2.02.98-3 -> 2.02.98-1)
device-mapper (2.02.98-3 -> 2.02.98-1)
mkinitcpio (0.13.0-1 -> 0.12.0-3)
At first update I did "mkinitcpio -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img" instead of "mkinitcpio -p linux" after seeing that /sbin/dmsetup is missing, but I doubt it has something to do with it because linux.preset has the same options. Perhaps I missed something else, sorry.
I didn't have to edit my /etc/lvm/lvm.conf, since I hadn't modified it. I verified it according to the news article. I resolved the missing /sbin/dmsetup.
when I boot, during the mdadm hook, I get a lot of errors:
device-mapper: table: 253:4: linear: dm-linear: Device lookup failed
if I run lvm vgchange -ay , it will activate the groups, and the system continues to boot.
global_filter = [ "r|^/dev/fd[0-9]$|", "r|^/dev/sr[0-9]$|" ]
Setting that in /etc/lvm/lvm.conf and everything works smoothly again. I don't see the "device-mapper: table: 253:4: linear: dm-linear: Device lookup failed" error messages any longer either.
This is on a box that has a mdadm raid10, and two VGs and like 70something logical volumes.
With the global filter, it returns very, very fast.
Then, at some point, it broke again. I had to run 'mdadm --assemble --scan; exit' in a recovery prompt all the time. This went unfixed, until I found out that I had to replace the hook mdadm with mdadm_udev in mkinitcpio.conf.
So, my system works now, but there should be been better detection/warning on the upgrades to notify the user.