Starting dmraid in initrd

Phillip Susi psusi at cfl.rr.com
Sun Nov 13 18:43:53 UTC 2005


What does it say when you run dmraid -ay from the prompt?  Is the mapper 
device module loaded at that point?

I wrote up a howto for ubuntu at https://wiki.ubuntu.com/FakeRaidHowto.  
You might want to take a look at that, but the idea is that I simply 
added a script to the proper location that directs mkinitramfs to 
include dmraid in the image and run it after loading the mapper module. 

Andre Hasekamp wrote:

> Hi,
>
> This must be a straightforward one for all you people booting from a 
> disk array with the support of
> dmraid.
>
> The issue is simply this. When I do:
>
> dmraid -ay
> dmraid -sa
>
> in a running non-RAID system, everything is fine, the second command 
> shows my RAID set is active.
> Now, when I give the same 2 commands in init on initrd, my RAID set is 
> not active (or, dmraid -si
> then indeed shows that my RAID set is not active).
>
> Hopefully someone can give me a tip that helps me get dmraid started 
> on initrd.
>
> Next follows a detailed description of my environment. Detailed, 
> because after what I've been
> through until now, it can only be the "little" things that make the 
> "big" difference.
>
> Since I stumble over this problem for a while now, I can say that I 
> tried with different SuSe Linux
> distributions and with different dmraid versions. At the moment I use 
> SuSe 10.0 (kernel 2.6.13.15-
> smp) and dmraid 1.0.0.rc9. My RAID controller is a Promise FastTrak 
> S150 TX4 with 2 SATA disks
> connected to it in RAID 0 mode. The dmraid device name for the 
> FastTrak controller becomes
> pdc_dbhbgbjdgi.
>
> Eventually, of course, I'm trying to do something like Lin, Weichuan 
> described in the thread "How-to
> for dmraid OS drive(s)?" in this discussion group. This thread had 
> been started on 2005-08-22.
>
> So, first I made a static link of dmraid and tested it in the running 
> system where I set PATH="", to
> make sure I used the right dmraid.
>
> Then I see that everyone modifies mkinitrd. Unfortunately for this 
> problem, mkinitrd is different for
> different distributions, so I cannot simply adopt what others in this 
> discussion group publish. To keep
> things as simple as possible, I decided to go "back to the basics" and 
> I simply unzipped and un-cpio-
> ed the SuSe initrd and modified that one. By now (version 10.0) SuSe 
> has had good reasons
> (probably in the context of migrating to udev) to replace "linuxrc" by 
> "init", but for this description, we
> can consider them to be one and the same thing.
>
> Still, after writing the previous paragraph, it is my feeling that 
> this is the first and I'm afraid only
> discussion group to try and not the SuSe discussion groups. In the 
> SuSe discussion groups, they only
> discuss software RAID whenever they use RAID. So far I have not seen 
> any reference to dmraid.
>
> My addition to init on initrd consists of the following statements:
>
> echo "Creating dmraid control device"
> # Create /dev/mapper like in /sbin/devmap_mknod.sh
> mkdir -p –mode=755 /dev/mapper
> # Create /dev/mapper/control like in /sbin/devmap_mknod.sh
> # with the same numbers I always see in my running system
> mknod –mode=600 /dev/mapper/control c 10 63
> echo "Activating RAID sets"
> # Saw that someone else used –ignorelocking. Not documented in dmraid -h.
> # Eventually added –ignorelocking.
> dmraid -ay –ignorelocking
> echo "dmraid shows active RAID sets"
> dmraid -sa
> echo "dmraid shows inactive RAID sets"
> dmraid -si
>
> These statements are added as late as possible in the init script 
> (after "udevstart", after modprobe
> sata_promise and after modprobe reiserfs(probably not necessary)), but 
> just before the script starts
> to discover the root device.
>
> Then I cpio and gzip the initrd and copy it with an appropriate name 
> to /boot.
>
> The relevant entry of /boot/grub/menu.lst looks as follows:
>
> ###Don't change this comment - YaST2 identifier: Original name: dmraid###
> title SUSE LINUX 10.0 dmraid
> root (hd0,0)
> kernel /vmlinuz root=/dev/mapper/pdc_dbhbgbjdgi8 vga=0x31a selinux=0
> resume=/dev/mapper/pdc_dbhbgbjdgi9 splash=silent showopts
> initrd /initrd-2.6.13-15-smp-dmraid
>
> So, in the step-by-step approach, this is the "intermediate" situation 
> where /boot is still on the non-
> RAID disk and the root (/) is on the RAID system.
>
> /boot/grub/device.map looks as follows:
>
> (fd0) /dev/fd0
> (hd1) /dev/sda
> (hd2) /dev/sdb
> (hd0) /dev/hda
>
> And then I boot. The last things I see on screen during booting, using 
> this initrd are the echos and
> messages from dmraid and finally, not surprising because the dmraid 
> set is not active:
>
> Waiting for device /dev/mapper/pdc_dbhbgbjdgi8 to appear: 
> ............... not found – exiting to /bin/sh
>
> Following this exit, you still have limited shell functionality (those 
> functions which are on initrd). No ls.
> So, what I do to check:
>
> cd /dev/mapper
> mknod control ... (the node is already there)
> rm pdc* (response: no such file or directory)
>
> So the dmraid control device is there. The pdc devices are not there, 
> but we knew that already from
> dmraid -si. Doing dmraid -ay at this stage also does not help, the 
> RAID set will not activate.
>
> Before considering more drastic measures, I thought I'd try this 
> discussion group.
>
>
> _______________________________________________
> Ataraid-list mailing list
> Ataraid-list at redhat.com
> https://www.redhat.com/mailman/listinfo/ataraid-list
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/ataraid-list/attachments/20051113/c68119fe/attachment.htm>


More information about the Ataraid-list mailing list