FS#14005 - 2.6.29 won't boot on raid1+lvm2 system

Attached to Project: Arch Linux
Opened by Eduard Bachmakov (McEnroe) - Sunday, 29 March 2009, 10:16 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 10 May 2009, 06:15 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Tobias Powalowski (tpowa)
Aaron Griffin (phrakture)
Thomas Bächler (brain0)
Architecture x86_64
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Since upgrading to .29 (*-1 through *-3) arch cannot boot because it cannot find the root filesystem. Up to the raid hook everything is fine. Then, however, my raid1 array is only recognized about half of the time. But no matter if the raid part fails or not (at least so it seems) the lvm hook cannot find any logical volumes. Thus no rootfs can be found and I'm dropped to recovery shell.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Sunday, 10 May 2009, 06:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  by using mdadm hook
Comment by Tobias Powalowski (tpowa) - Sunday, 29 March 2009, 17:17 GMT
i only use raid1 it works fine, but i also use the mdadm hook instead of raid hook.
Comment by Tom Billiet (mouse256) - Saturday, 11 April 2009, 21:01 GMT
Hi,

I'm having a related problem. I'm using raid0 without lvm, and I can't boot with the 2.6.29 kernel either. It says that it can't collect the array for /dev/md0, but it only tries to collect it on /dev/sda1, forgetting about /dev/sdb1
Downgrading to 2.6.28 fixed the problem for now (and I had to use an ubuntu live-cd for that, it's quite a tricky procedure)

tpowa: what do you mean with using the mdadm hook? As far as I know and can find on the wiki, the raid hook is what loads mdadm at startup?
Comment by Tobias Powalowski (tpowa) - Sunday, 12 April 2009, 08:55 GMT
mdadm -Ds >> /etc/mdadm.conf
Then add mdadm hook instead of raid hook in /etc/mkinitcpio.conf and recreate your initramfs.
After this you can try to boot if it works you can remove start parameters from your bootloader mdadm.conf is used for assembling afterwards.
Comment by Tom Billiet (mouse256) - Wednesday, 15 April 2009, 18:18 GMT
Thanks tpowa, replacing raid by mdadm worked for me.
However, I noticed that it mangled my drive naming, hda became sda, and my raid array (sda and sdb) became sdb and sdc. So maybe that also was the reason why the raid hook was not working anymore, because the bootloader parameters specified sda and sdb. I'm not sure about this, and I don't have the time to test it.

Is there any documentation on what actually is the difference between the raid and the mdadm hook? I have the feeling they serve the same purpose, but that mdadm is somewhat more powerful. But on the wiki, I even can't find the mdadm hook on the mkinitcpio page...
Comment by Tobias Powalowski (tpowa) - Saturday, 18 April 2009, 09:29 GMT
it seems your mkinitcpio was not configured correct changing hda->sda means you chenge from ide hook to pata hook
sda -> sdb means you have proabably added a usbdisk or satadisk which uses same name scheme, using UUID or loading modules in correct order in initcpio can avoid this issue.
Comment by Tom Billiet (mouse256) - Sunday, 19 April 2009, 12:23 GMT
When I changed from the raid to the mdadm hook I did indeed change my mkinitcpio file, so that can explain the naming change. (I did not add a new disk, but as my pata disk became hda->sda, it is quite locigal that my sata disks became sda->sdb and sdb->sdc. I now configures fstab to use UUID's.

I did not change my mkinitcpio when I tried the raid hook. So normally the drive namings should have been kept the same, and that wouldn't have been the cause of the raid hook not working anymore, there might still be another issue with the raid hook then. (again: is there any reason why one should prefer the raid hook over the mdadm hook?)
Comment by Tobias Powalowski (tpowa) - Sunday, 19 April 2009, 12:40 GMT
raid uses methods from kinit to initialize and is not really powerfull when it comes to more complex setups.
That was the reason for me to write the mdadm hook which is more powerfull and works quite for everything.

Loading...