Hi,
I have a 3-disk raid 5 system and would like to add a spare:
Kernel: 2.2.15
Patch: raid-2.2.15-A0
Patch: ide.2.2.15.20000509.patch
Boot disk is not part of any array.
Mobo is: Oceanic 440BX whic doc sez only supports UDMA 33
PCI IDE cards (2): Magic IDE 66 - these are Promise cards
Raid devices consist of: md0, md1, md2, md3, md4 with partitions
across 3 identical 4 Gig Maxtor 84320D4 drives - hde, hdg, hdi. All
of the raid drives reside on a Promise ide port
I have added a fourth Maxtor, connected to the remaining port on the
second Promise card. It comes up on boot as hdk.
To add hdk as a spare, how must I format the disk?
- don't format, just
* stop the array w/ raidstop
* add spare to raidtab
* raidhotadd spare /dev/md5 /dev/hdk
* raidstart
or
use fdisk (will linux fdisk handle a large - 4 Gig drive?)
- format as one large partition of type fd? OR
-format with the same number and size partitions as on the other 3
raid disks?
* can fdisk also designate a partition as "grow to disk" My
notes don't indicate I did this upon install,
, but it was late, I was tired . . . Any other good
partitioning s/w available?
For other linux/raid newbies, here is how I built the array:
- Mobo ide0: Primary was boot disk, secondary was CDROM
- Mobo ide1: Primary was first of three raid disks - (start
repeating "One IDE disk per IDE bus" mantra
now : )
- Promise card 1 ide2: second of three raid disks
- Promise card 1 ide3: third of three raid disks
- I parked the fourth drive on the second Promise card for
convenience - it will not be recognized during
the RH 6.2 install
- I booted my PC with the really trick biz card rescue CD from
LINUXCARE. After it booted, I entered
"cat /proc/pci | more" from the command prompt. I then jotted
down the bus addresses:
Promise 1: Vendor ID = 105a Device id = 4d38
Medium devsel IRQ 11 Master Capable Latency = 32
I/O @ 0xb4000 [0xb401] ==> a
0xb800 [0xb801] ==> b
. .
. ==> c . . . d . . .e
To assemble the kernel parameter you will pass upon
RH install . . .
ide2=a,b+2 ide3=c,d+2 In my example:
ide2=0xb400,0xb802 (no space after comma!)
- I started the RH6.2 install from CD (change your bios boot
sequence), pressed F4 to get to kernel
parameter screen and typed in: linux ide2=0xb400,0xb802
ide3=0xbc00,0xc402
This permits the install process to see the Promise IDE busses.
Had no luck with specifying ide4 or
ide5 with this technique. (otherwise I would have just put all
the raid disks on the Promise cards and
would not be asking how to add a spare - no, I'd be asking how
you could get DiskDruid to configure a
spare :) On the Redhat LILO install screen there is a small
text box where you can add in these
parameters. Just omit the "linux" in the statement. This will
add an "append" statement in /etc/lilo.conf
that looks like: append="ide2=0xb400,0xb802 ide3=0xbc00,0xc402"
- Go through RH install, build raid devices with disk druid
- I downloaded raid-2.2.15.tar.gz and installed it
- I downloaded ide.2.2.15.20000509.patch.bz2 from
http://www.kernel.org/pub/linux/kernel/people/hedrick/
(Thank you Andre!) and installed it with: bunzip2 -c <filename>
| patch -p0
- I downloaded raid-2.2.15-A0 from
http://www.us.kernel.org/pub/linux/kernel/v2.2/ (Thank you
Mingo!) and installed it with : patch -p0 < raid-2.2.15-A0
from the /usr/src directory
The patches all went in smoothly, no rejects.
- I built the 2.2.15 kernel. I used "make menuconfig" Be careful
to go through all the menus and select
everything you think your hardware requires. Makes good
reading, too.
- After testing the kernel (it worked!), I made a bootdisk:
"mkbootdisk --device /dev/fd0 2.2.15xxx"
(x's for version control, edited /usr/src/linux/Makefile and
changed "EXTRAVERSION" to reflect my
build designation)
- I reconfig'd my ribbon cable setup and moved the CDROM to the
secondary mobo IDE bus. I moved
the first raid disk that was on ide1 to the first bus on Promise
card 2. The spare was connected
to the second port on Promise card 2.
- I edited /etc/lilo.conf to remove the append statement - once the
kernel includes support for the
Promise cards, it's not needed. However, 440BX mobo docs said
it only supported UDMA33.
Reading the message log w/ "vi /var/log/messages" showed a line:
May 23 09:42:58 Tux kernel: ide: Assuming 33MHz system
bus speed for PIO modes; override
with idebus=xx
So I added a new append statement in lilo.conf:
"append="idebus=66" and saved the file.
I ran /sbin/lilo from /usr/src/linux to update my lilo. This
significantly sped up my arrays (tested
w/ "hdparm -Tt /dev/md0")
Now all I have to do is add in my spare and reacquaint myself with
family and friends :-0
Jens