Bug 224674

Summary: after install, init script is missing raid array initialization commands
Product: [Fedora] Fedora Reporter: Olivier Kurzweg <okurzweg>
Component: anacondaAssignee: Peter Jones <pjones>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: agk, christophe.varoqui, dwysocha, egoggin, jbrassow, junichi.nomura, kueda, lmb, mbroz, prockai, tranlan
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: fc8 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-17 18:49:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Olivier Kurzweg 2007-01-26 23:15:52 UTC
Description of problem:
Device mapper block devices do not get created at boot time for the 2 disks
connected to my Silicon Image 3112 raid controller (configured for RAID 1).

Version-Release number of selected component (if applicable):
device-mapper-1.02.13-1.fc6
dmraid-1.0.0.rc13-1.fc6
udev-095-17.fc6
initscripts-8.45.7-1

How reproducible:
Always

Steps to Reproduce:
You have to have a sil 3112 controller with 2 disks configured as a mirror array.
1. Install FC6 on one of the partitions of the mirror, and configure additional
partitions to be mounted under /mnt/ (Anaconda properly detects and lets you
configure mount points for the mirror)
2. The machine reboots after installation is complete
3.
  
Actual results:
- sysinit scripts complain about /dev/mapper/sil_xxxxxxxxxxpy not being
available when trying to mount the additional partitions under /mnt
- /dev/mapper folder only contains "control"

Expected results:
- sil_xxxxxxxxxxpy partitions should mount properly
- block devices for the array and its partitions should be found under /dev/mapper

Additional info:
The system succeeds to boot only because the root partition is defined by its
label in fstab, and the partition with the appropriate label is found on device
sda (the disks are seen as /dev/sda and /dev/sdb and not as the
/dev/mapper/sil_xxxxxxxxxxx array). The raid activation process used by Anaconda
seems to work properly since it creates the proper /dev/mapper/sil_xxxxxxxpy
entries in fstab.

The array is correctly found and activated by dmraid:
[root@localhost ~]# dmraid -r
/dev/sda: sil, "sil_agahbgdeddae", mirror, ok, 488395120 sectors, data@ 0
/dev/sdb: sil, "sil_agahbgdeddae", mirror, ok, 488395120 sectors, data@ 0

... but the device mapper array did not get created:
[root@localhost ~]# dmsetup ls
No devices found

Where should I start looking at? Which script(s) or program initializes the
device mapper array at boot time (probably using a dmsetup create command?)?

Comment 1 Olivier Kurzweg 2007-02-10 21:32:37 UTC
Re-assigned to Anaconda: after looking at the init script in initrd, the file
was missing the dm create commands. It seems Anaconda did not initialize initrd
for my dm array although it got detected correctly during install. 

init was looking like this:
...
echo "Loading dm-snapshot.ko module"
insmod /lib/dm-snapshot.ko
mkblkdevs
resume LABEL=SWAP-sil_agahbg
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro dm-2
...

instead of:
...
echo "Loading dm-snapshot.ko module"
insmod /lib/dm-snapshot.ko
mkblkdevs
rmparts sdb
rmparts sda
dm create sil_ahacbgbifbca 0 488395120 mirror core 2 131072 nosync 2 8:0 0 8:16$
dm partadd sil_ahacbgbifbca
resume LABEL=SWAP-sil_agahbg
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro dm-2
...

Going to rescue mode, chrooting and upgrading to the latest kernel with yum
circumvented the issue, since initrd got re-generated as part of the upgrade.
But well, it should definitely have worked in the first place.

Comment 2 Olivier Kurzweg 2007-11-17 18:49:35 UTC
Got fixed somewhen between fc6 and fc8