Starting dmraid in initrd

AndreHasekamp at netscape.net AndreHasekamp at netscape.net
Sun Nov 13 21:30:30 UTC 2005


Phillip,

Thanks a lot for your reaction.

The irritating thing was that dmraid -ay on initrd did not say anything, so I thought that everything was OK. In the running non-RAID system dmraid -ay also says nothing when I give that command.

In your FakeRaidHowto I found the solution.  Indeed, just one missing statement in my initrd:

modprobe dm-mod (+ some actions to make this statement work)

A "little" thing, but a big conceptual failure; I thought that the static dmraid link contained everything you need. Still a lot to be learned for me as a newcomer to Linux.

In the meantime I went through a (failsafe) session where my root directory is on the RAID set. A number of things still missing, so the regular session does not yet work. But that's part of the next steps. For those steps I will try to follow your HOWTO as closely as possible.

Thanks again,
Andre Hasekamp.



Phillip Susi <psusi at cfl.rr.com> wrote:

>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
>>
>
>

__________________________________________________________________
Switch to Netscape Internet Service.
As low as $9.95 a month -- Sign up today at http://isp.netscape.com/register

Netscape. Just the Net You Need.

New! Netscape Toolbar for Internet Explorer
Search from anywhere on the Web and block those annoying pop-ups.
Download now at http://channels.netscape.com/ns/search/install.jsp




More information about the Ataraid-list mailing list