On 2013-03-14, Johnny Hughes <johnny at centos.org> wrote: (...) > Maybe ... try this (everything done as root): > > Boot on a kernel that works and do this: > > 1. Backup you current initrd: > > cp -a /boot/initramfs-2.6.32-358.2.1.el6.x86_64.img > /boot/initramfs-2.6.32-358.2.1.el6.x86_64.img.bak OK. > > 2. Go to this directory: > > cd /lib/modules/2.6.32-358.2.1.el6.x86_64/kernel/drivers/md/ For me the corresponding directory is /lib/modules/2.6.32-358.2.1.el6.i686/kernel/drivers/md. > > 3. Figure out the md modules loaded in the old kernel: > > lsmod | grep dm_ > > in my case, that output would be this: > > [root at localhost md]# lsmod | grep dm_ > dm_round_robin 2525 0 > dm_multipath 17756 1 dm_round_robin > dm_mirror 14133 0 > dm_region_hash 12085 1 dm_mirror > dm_log 9930 2 dm_mirror,dm_region_hash > dm_mod 82839 12 dm_multipath,dm_mirror,dm_log > > (note, dm-mod and dm_mod are the same thing) In my case I have: # lsmod | grep dm_ dm_mirror 11678 0 dm_region_hash 9609 1 dm_mirror dm_log 8322 2 dm_mirror,dm_region_hash dm_mod 66925 8 dm_mirror,dm_log > > 5. Do an file list and make sure all the modules you need to include > (in my case the 6 in column 1): > > ls > > Note: make sure all the modules are listed ad you see the file names > (should be for me: dm-round-robin.ko, dm-multipath.ko, dm-mirror.ko, > dm-region-hash.ko, dm-log.ko, dm-mod.ko) Yes, all are present: # ls dm*.ko dm-bufio.ko dm-log-userspace.ko dm-queue-length.ko dm-service-time.ko dm-crypt.ko dm-memcache.ko dm-raid45.ko dm-snapshot.ko dm-delay.ko dm-mirror.ko dm-raid.ko dm-thin-pool.ko dm-flakey.ko dm-mod.ko dm-region-hash.ko dm-zero.ko dm-log.ko dm-multipath.ko dm-round-robin.ko > > 4. Create a new initrd with all the relevant md modules preloaded (in > my case, this command line ... preload only the modules you need from > your list .. again, have to do this as root): > > mkinitrd -f --preload=3Ddm_round_robin --preload=3Ddm_multipath > --preload=3Ddm_mirror --preload=3Ddm_region_hash --preload=3Ddm_log=20 > --preload=3Ddm_mod /boot/initramfs-2.6.32-358.2.1.el6.x86_64.img > 2.6.32-358.2.1.el6.x86_64 > > Note: The above mkinitrd command (and all the other commands) should be > entered all on one line, I am sure it will wrap when posted. (Indeed it did wrap.) The command I used was mkinitrd -f --preload=dm_mirror --preload=dm_region_hash --preload=dm_log --preload=dm_mod /boot/initramfs-2.6.32-358.2.1.el6.i686.img 2.6.32-358.2.1.el6.i686 That produced a file of similar size to the original: # ls -l /boot/initramfs-2.6.32-358.2.1.el6.i686.img* -rw-r--r--. 1 root root 15450686 Mar 14 15:13 /boot/initramfs-2.6.32-358.2.1.el6.i686.img -rw-r--r--. 1 root root 15450647 Mar 13 17:11 /boot/initramfs-2.6.32-358.2.1.el6.i686.img.bak > > 5. This may not work, because there may need to be some other things > loaded that are not, like the disc controller's kernel module driver, > etc. What I think is going on is either something has been removed from > this kernel that existed before ... OR ... something is being > mis-detected with this kernel on your machine. Unfortunately, when rebooting into kernel 358.2.1 I get the same result as before. Thanks for taking the time to look into this. Is it an upstream bug? -- Liam