Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have Ubuntu 12.10 (no updates, kernel 3.5.0-17-generic) on first HDD (sda), which uses MBR and was partitioned as "Use whole disk for ubuntu" with LVM2 enabled. Root filesystem is on LVM2 (VG:ubuntu). Today I added second HDD (sdb) with same size, partitioned it like first hdd, created lvm2 PV and converted root LV to raid1:

pvcreate /dev/sdb5
vgextend ubuntu /dev/sdb5
lvconvert --type raid1 -m1 /dev/ubuntu/root /dev/sdb5

After 100% resync I rebooted and initramfs was unable to find root fs:

Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
... (kernel messages)
Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/mapper/ubuntu-root does not exist.  
Dropping to a shell!

There is list of modules:

(initramfs) cat /proc/modules
hid_generic
usbhid
hid
e1000
raid10
raid456
async_pq
async_xor
xor
async_memcpy
async_raid6_recov
raid6_pq
async_tx
raid1
raid0
multipath
linear
(initramfs) cat /proc/cmdline
BOOT_IMAGE=/vmlinux-3.5.0-17-generic root=/dev/mapper/ubuntu-root ro
(initramfs) ls /dev/mapper
control     ubuntu-swap_1

There is output from lvm utility:

lvm> pvscan
  PV /dev/sda5    VG ubuntu   lvm2 [ 13.76 GiB / 408.00 MiB free]
  PV /dev/sdb5    VG ubuntu   lvm2 [ 13.76 GiB / 508.00 MiB free]
lvm> vgscan
  Reading all physical volumes. This may take a while...
  Found volume group "ubuntu" using metadata type lvm2
lvm> lvscan
  inactive        '/dev/ubuntu/root' [13.26 GiB] inherit
  ACTIVE          '/dev/ubuntu/swap_1' [100.00 MiB] inherit

lvm> lvdisplay ubuntu
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                xxxxxxxxxxxxxxx
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-05-07
  LV Status              NOT available          <<<<< !!!!
  LV Size                13.26 GB
  Current LE             3394
  Mirrored volumes       2
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto

And lvchange -ay ubuntu fails:

lvm>  lvchange -ay ubuntu
  /sbin/modprobe failed: 1
  Can't process LV root: raid1 target support missing from kernel?

What is missing from initrd?

share|improve this question
add comment

1 Answer 1

up vote 5 down vote accepted

I hit this same problem on my Debian system; it turned to be caused by some necessary modules not getting installed in the initramfs.

Specifically, after adding these lines to /etc/initramfs-tools/modules:

dm_mirror
dm_raid
dm_region_hash

and running

update-initramfs -u -k all

my system boots correctly.

Note that I have not checked that all of these lines are actually necessary. I think the dm_raid module is missing by default at least.

After further searching, there is a Debian bug open against initramfs-tools over this issue: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699804

share|improve this answer
1  
Adding just the dm_raid and raid1 modules worked for me. –  Gary Aug 16 '13 at 5:38
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.