www.linux.org
Linux IDE-RAID Notes - IDE-M40RAID

July 2000

# df -H /mnt/tmp
Filesystem            Size  Used Avail Use% Mounted on
/dev/md0              282G  0.0G  282G   0% /mnt/tmp
# df -h /mnt/tmp
Filesystem            Size  Used Avail Use% Mounted on
/dev/md0              263G  0.0G  263G   0% /mnt/tmp

Hardware

Intel SE440BX-2 - with Pentium III 500MHz, plus BIOS upgrade to support disks greater than 32GB
Promise Technology Ultra66 - PCI Ultra ATA/66 Controller Card
8 MaxtorDiamondMaxPlus 40 - 40GB EIDE Ultra-ATA/66 7200RPM 9.0ms (43MB/s)
1 Western Digital Caviar 5400 - 10.2GB EIDE Ultra-ATA/66 5400RPM 9.5ms (29MB/s) [boot drive]
Enlight EN-89500SX4 - 9bay server case, 400W power supply, ATX
CTG (Cables To Go) 18729 - 24in int Ultra DMA/ATA ribbon 3 connector IDE 33/66 UDMA $11
Promise BIOS problem for Maxtor 40GB master/slave drives
Even with BIOS updates from Promise, the Ultra66 hangs at POST when 2 Maxtor 40GB disks are attached as master/slave on the same cable and controller.  All my attempts to work around this problem have failed so far.  Various hints on the web seem to indicate that this is a real problem for Promise and Mastor.  So extra controllers and cables were used in the following configuration:
 
controller channel disk  Ultra66
BIOS
/dev/
Intel
UDMA33
0 1- slave   hdb
1 0 - master   hdc
Ultra66
0
0 0 - master D0 hde
1 0 - master D2 hdg
Ultra66
1
0 0 - master D4 hdi
1 0 - master D6 hdk
Utra66
2
0 0 - master   hdm
1 0 - master   hdo

# hdparm -A1 -a8 -c1 -d1 -m16 /dev/hda # add hd parameters to /etc/rc.d/rc.sysinit if necessary

Software

RedHat 6.2 Linux 2.2.14 kernel - Kernel-HOWTO
ide.2.2.14.20000124.patch - http://www.kernel.org/pub/linux/kernel/people/hedrick/

# umask 002
# mkdir /usr/src/linux-2.2.14-ide
# rm /usr/src/linux
# ln -s /usr/src/linux-2.2.14-ide /usr/src/linux
# cd /usr/src/linux-2.2.14
# find . -print | cpio -pdumv ../linux-2.2.14-ide
# cd ../linux-2.2.14-ide
download and uncompress ide.2.2.14.20000124.patch
# patch -p1 < ide.2.2.14.20000124.patch > patch.out
IMPORTANT - edit the FAILED hunks by hand
# make mrproper
# make xconfig
        make xconfig
            block devices
            y    Generic PCI bus-master DMA support
            y    Use DMA by default when available
            y        PROMISE PCD PDC20246/PDC20262 support
            y            Special UDMA Feature
# make dep clean bzImage modules modules_install
# sh scripts/MAKEDEV.ide
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.2.14-ide
# cp System.map /boot/System.map-2.2.14-ide
# ed /etc/lilo.conf
image=/boot/vmlinuz-2.2.14-ide
    label=linux-ide
    initrd=/boot/initrd-2.2.14-5.0.img
    read-only
    root=/dev/hda5
# lilo    # LILO mini-HOWTO, BootPrompt-HowTo
# reboot
lilo: linux-ide

Disk Configuration

Standard ext2fs setup/test example

    # cfdisk /dev/hde
    # hdparm -Tt /dev/hde # repeat several times
    # mke2fs /dev/hde1
    # mount -t ext2 /dev/hde1 /mnt/tmp
    # cd /mnt/tmp
    # Bonnie -s 500 -html -m hde
    # cd /
    # umount /mnt/tmp

RAID setup/test example

    # cfdisk /dev/hde # make partitions
    # ed /etc/raidtab # see http://ostenfeld.dk/~jakob/Software-RAID.HOWTO/
    # mkraid /dev/md0
    # cat /proc/mdstat
    # hdparm -Tt /dev/md0 # repeat several times
    # mke2fs -m0 /dev/md0
    # mount -t ext2 /dev/md0 /mnt/tmp
    # cd /mnt/tmp
    # Bonnie -s 500 -html -m md0
    # cd /
    # umount /mnt/tmp
    # raidstop /dev/md0


NoBell Home - gjm - last update 9/28/2000