Hi,

I hope someone can help me with my software RAID problem. In a nutshell I can create /dev/md0 using either mkraid or mdadm. However I can't create /dev/md1 or /dev/md2. I'm told by both programs that there is no such file or directory. I've checked the syntax and parameters and can't find anything wrong.

Details
========

The distribution is Mandrake Linux 2006. However, I downloaded the 2.6.16.16 kernel source and re-compiled it to include direct support for all the IDE controller cards, Reiserfs filesystem and RAID support. The modified kernel boots up OK.

I have three hard drives in the machine, each on a different IDE controller.
HDA is 120GB
HDE is 152GB
HDI is 149GB

I started the linux installation from scratch. Using Diskdrake, I configured the drives as per the following:
HDA = primary partition formatted Reiserfs for entire disk (114GB), [hda1]
HDE = primary partition formatted Reiserfs, 100MB, [hde1]
extended partition formatted Reiserfs, 114GB, [hde5]
extended partition formatted Reiserfs, 34GB, [hde6]
primary partition formatted native ext2, 3.6GB, root mount point, [hde4]
HDI = primary partition formatted Reiserfs, 100MB, [hdi1]
extented partition formatted Reiserfs, 114GB, [hdi5]
extended partition formatted Reiserfs, 34GB, [hdi6]

Note: I also tried the configuration where all partitions are primary and no extended partitions.

I installed the OS on to hde4 so that I didn't have to worry about it while I was creating the arrays. I plan to copy it over to /dev/md0 once everything is setup. Then I'll have two copies of the OS that I can boot to, one version on the RAID and another that isn't.

My aim is to create 3 RAID arrays:
/dev/md0 is a RAID 5 array using the 3 114GB partitions - hda1,hde5,hdi5. It will eventually have the OS and data files on it.

/dev/md1 is a RAID 1 array using the 2 100MB partitions - hde1, hdi1. It will store the modified boot kernel 2.6.16.16 so that LILO can see it.

/dev/md2 is a RAID 1 array using the remaining 34GB partitions - hde6, hdi6. I just wanted to make use of the remaining space on the drives.

All goes well up to the point of making the RAIDS. I'll reference mdadm but I've included /etc/raidtab at the end of the post as well. I start with /dev/md0:
mdadm -Cv /dev/md0 -l5 -n3 -c32 /dev/hda1 /dev/hde5 /dev/hdi5
This gets constructed without any problems.

Now for /dev/md1:
mdadm -Cv /dev/md1 -l1 -n2 -c32 /dev/hde1 /dev/hdi1
mdadm tells me that:
mdadm: error opening /dev/md1: No such file or directory

The story is the same for /dev/md2 and the response from mkraid.

Here's the /etc/raidtab
# md0 is the root array, about 240GB
raiddev /dev/md0
raid-level 5
nr-raid-disks 3
nr-spare-disks 0
persistent-superblock 1
parity-algorithm left-symmetric
chunk-size 32
device /dev/hda1
raid-disk 0
device /dev/hde5
raid-disk 1
device /dev/hdi5
raid-disk 2

# md1 is the boot kernel array, about 100MB
raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 32
device /dev/hde1
raid-disk 0
device /dev/hdi1
raid-disk 1

# md2 is a spare mirror, about 34GB
raiddev /dev/md2
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 32
device /dev/hde6
raid-disk 0
device /dev/hdi6
raid-disk 1

Your thoughts on this matter would be much appreciated. I'm either trying to do something that can't be done or I'm missing a step.

Thanks for your help.

Dominic