[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Unable to boot jessie after December 2015 kernel update with /usr on LVM raid1 array



I have been running Debian Jessie on my laptop for more than a year. The laptop has a regular HDD as /dev/sda and a 32G SSD drive as /dev/sdb. /dev/sda11 is LUKS1-encrypted as /dev/mapper/sda11-crypt. There are two LVM VGs:

$ pvs
  PV                      VG        Fmt  Attr PSize  PFree
  /dev/mapper/sda11_crypt encrypted lvm2 a--  17.05g    0 
  /dev/sda8               plaintext lvm2 a--  31.27g 1.45g
  /dev/sdb1               plaintext lvm2 a--  29.81g    0 

I have four LVs in these two VGs like so:

$ lvs
  LV   VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root encrypted -wi-ao----  7.74g                                                    
  swap encrypted -wi-ao----  9.31g                                                    
  opt  plaintext rwi-aor--- 11.27g                                    100.00          
  usr  plaintext rwi-aor--- 18.54g                                    100.00   

As you might expect, / is mounted on /dev/mapper/root and /usr is mounted on /dev/mapper/usr.

Until December 17 (according to /var/log/apt/history.log.1.gz), this setup worked just fine. (The laptop often doesn't come back from hibernation, but I've never been able to get Linux to hibernate reliably.)

Then on Dec. 17, I updated (aptitude -u, U, g, g) and got a new kernel (apt history says linux-image-3.16.0-4-amd64:amd64 (3.16.7-ckt11-1+deb8u6, 3.16.7-ckt20-1+deb8u1)), rebooted, and now my machine doesn't boot. (The packages that were upgraded include: linux-doc-3.16, linux-image-3.16.0-4-amd64, libgdk-pixbuf2.0-common, gir1.2-gdkpixbuf-2.0, linux-headers-3.16.0-4-amd64, linux-compiler-gcc-4.8-x86, libgdk-pixbuf2.0-0, linux-libc-dev, linux-headers-3.16.0-4-common.)

Here is the output at boot (transcribed from a photo):

... regular output discovering LVM volumes and asking for my LUKS password; / is mounted successfully ...
Unable to find LVM volume plaintext/usr
[   24.859513] mdX: failed to create bitmap (-22)
[   24.859655] device-mapper: table: 253:11: raid: Fail to run raid array
  device-mapper: reload ioctl on  failed: Invalid argument
... same message (modulo timestamps) every second for 20-30 seconds ...
Unable to find LVM volume plaintext/usr
Gave up waiting for /usr device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/mapper/plaintext-usr does not exist.  Dropping to a shell!
modprobe: module ehci-orion not found in modules.dep


... BusyBox shell ...

Indeed, at this point, ls -l /dev/mapper contains plaintext-usr_rimage_0, plaintext-usr_rimage_1, plaintext-usr_rmeta_0, and plaintext-usr_rmeta_1, but not plaintext-usr. Root seems to be mounted. lvdisplay says "NOT available." I tried:

lvm> vgchange -a y plaintext
[  453.698714] mdX: failed to create bitmap (-22)
[  453.700097] device-mapper: table: 253:11: raid: Fail to run raid array
  device-mapper: reload ioctl on  failed: Invalid argument
[  453.716235] mdX: failed to create bitmap (-22)
[  453.717565] device-mapper: table: 253:11: raid: Fail to run raid array
  device-mapper: reload ioctl on  failed: Invalid argument
  0 logical volume(s) in volume group "plaintext" now active


I am able to boot with the 3.16-3-amd64 (note no ".0" at the end) kernel that is still installed, and everything seems to work fine. I tried to find any differences in grub config for these two kernels, but didn't find anything that seems related. (Besides, it seems that I have been running 3.16.0 for as long as /var/log/apt/ can remember.) I was hoping that the new kernel available today (3.16.7-ckt20-1+deb8u2) might fix this issue, but no luck.

I could try removing /dev/sdb1 as a PV, rebooting to the newer kernel, then re-adding /dev/sdb1, but that seems a bit risky, and I don't know if it would fix the problem.

Any help is appreciated.

Thanks,
Ben

P.S. I know that an unencrypted /usr isn't a super-secure setup, but I really just want to make sure that if my laptop is stolen, they can't get my financial documents.

Also, I know that I'm wasting 1.45g of /dev/sda8. Silly me, thinking 32G means 32GiB.


Reply to: