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