All,
   The simple patch suggested by Lance Robinson was successful in
bringing up 18 disk RAID-5 on our stock RedHat 6.0 system. The changes
were made on a "pure" kernel,modules,raidtools with no other previous
customization.
   Our test was on partitions distributed over 2 disks. We got
repeated SCSI timeouts, but this doesn't have anything to do with the
patch; we have seen it before. A 1.2 GB tarball made on the RAID
checked out perfectly.
   In addition to md_k.h and md_p.h, Tom Dickson found we had to
change md-int.h in the raidtools source. The details were as follows
(we actually set up for 20 disks):

In linux/include/linux/raid/md_k.h we made
 #define MAX_REAL 20

In linux/include/linux/raid/md_p.h we had to make
 #define MD_SB_DISKS_WORDS        640

because already we had
 #define MD_SB_DESCRIPTOR_WORDS   32

and under those was

 #define MD_SB_DISKS    (MD_SB_DISKS_WORDS / MD_SB_DESCRIPTOR_WORDS)

Also, in the file /usr/src/redhat/SOURCES/raidtools-0.90/md-int.h we
had to make
 #define MD_SB_DISKS_WORDS        640

for similar reasons.

Tom's compile steps were:
 <Fix md_k.h and md_p.h>
 <Save .config somewhere in case needed>
 make mrproper
 make oldconfig
 make dep
 make clean
 make bzImage
 make modules
 make modules_install
 <Go to source dir of raidtools>
 <Fix md-int.h>
 rm *.o
 ./configure
 make
 <Copy resulting tools into /sbin>
 <Copy an initrd for identical kernel without raidpatch to "initrd.gz"
in a scratch directory>
 <Go to that scratch directory>
 gunzip initrd.gz
 mount -o loop initrd /mnt/floppy
 cd /mnt/floppy/lib
 ls
 <This will show the modules>
 <Overwrite these with the new versions>
 umount /mnt/floppy
 <Go back to scratch directory>
 gzip -9 initrd
 <Move "initrd.gz" back to /boot and reference it in /etc/lilo.conf>
 /sbin/lilo

This is the first step in our RAID development that was easier than
expected. Thanks,
   Larry

Reply via email to