I would like to sincerely help everyone who answered my question
about the stability of Linux software RAID.
At the moment i'm running Linux-2.2.13 SMP with 4 17gb's disks
setup in a RAID5 configuration with raidtools-19990824-0.90
and raid0145-19990824-2.2.11.
It works as it should in tests.
I've downloaded and installed the RaidTools package, and
left the original Redhat scripts in place as the RaidTools
themselves are upgraded so it makes sense to use the same
scripts.
I noticed that there are several errors when patching the
kernel, although all relate to non-intel kernel code, but
it may throw some people.
I would recommend making a linux-noraid kernel in case
of dire emergency's so you can at least boot up the system
and possibly nfs mount somewhere else as a hot fix-it.
I'm a happy bunny [ALMOST] 8-)
If anyone else reads these archives maybe this will help you :-)
/etc/raidtab
raiddev /dev/md0
raid-level 5
nr-raid-disks 4
nr-spare-disks 0
persistent-superblock 1
parity-algorithm left-symmetric
chunk-size 32
device /dev/sdb1
raid-disk 0
device /dev/sdc1
raid-disk 1
device /dev/sdd1
raid-disk 2
device /dev/sde1
raid-disk 3
/etc/fstab
/dev/md0 /raid5 ext2 defaults 1 2
My format options ...
mke2fs -b 4096 -R stride=8 /dev/md0
[root@host /updates]# cat /proc/mdstat
Personalities : [linear] [raid5] [translucent]
read_ahead 1024 sectors
md0 : active raid5 sde1[3] sdd1[2] sdc1[1] sdb1[0] 53347968 blocks level 5,
32k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
[root@bod /updates]#
Next thing to do is upgrade to 2.2.15 SMP and find a way of
testing the integrity of the volume.
Apart from unmounting the raid volume and running e2fsck -v /dev/md0
is there another way to test the integrity of the RAID volume in realtime?
I would guess it dumps data to messages if there is a problem.
Another thing I noticed was that whenever I reboot I get a
reconstructing parity message which **concerns me a little**.
Partition check:
sda: sda1 sda2 sda3
sdb: sdb1
sdc: sdc1
sdd: sdd1
sde: sde1
md.c: sizeof(mdp_super_t) = 4096
autodetecting RAID arrays
(read) sdb1's sb offset: 17782656 [events: 00000008]
(read) sdc1's sb offset: 17782656 [events: 00000008]
(read) sdd1's sb offset: 17782656 [events: 00000008]
(read) sde1's sb offset: 17782656 [events: 00000008]
autorun ...
considering sde1 ...
adding sde1 ...
adding sdd1 ...
adding sdc1 ...
adding sdb1 ...
created md0
bind<sdb1,1>
bind<sdc1,2>
bind<sdd1,3>
bind<sde1,4>
running: <sde1><sdd1><sdc1><sdb1>
now!
sde1's event counter: 00000008
sdd1's event counter: 00000008
sdc1's event counter: 00000008
sdb1's event counter: 00000008
md: md0: raid array is not clean -- starting background reconstruction
md0: max total readahead window set to 384k
md0: 3 data-disks, max readahead per data-disk: 128k
raid5: device sde1 operational as raid disk 3
raid5: device sdd1 operational as raid disk 2
raid5: device sdc1 operational as raid disk 1
raid5: device sdb1 operational as raid disk 0
raid5: allocated 4248kB for md0
raid5: raid level 5 set md0 active with 4 out of 4 devices, algorithm 2
raid5: raid set md0 not clean; reconstructing parity
RAID5 conf printout:
--- rd:4 wd:4 fd:0
disk 0, s:0, o:1, n:0 rd:0 us:1 dev:sdb1
disk 1, s:0, o:1, n:1 rd:1 us:1 dev:sdc1
disk 2, s:0, o:1, n:2 rd:2 us:1 dev:sdd1
disk 3, s:0, o:1, n:3 rd:3 us:1 dev:sde1
disk 4, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 5, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 6, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 7, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 8, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 9, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 10, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 11, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
RAID5 conf printout:
--- rd:4 wd:4 fd:0
disk 0, s:0, o:1, n:0 rd:0 us:1 dev:sdb1
disk 1, s:0, o:1, n:1 rd:1 us:1 dev:sdc1
disk 2, s:0, o:1, n:2 rd:2 us:1 dev:sdd1
disk 3, s:0, o:1, n:3 rd:3 us:1 dev:sde1
disk 4, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 5, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 6, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 7, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 8, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 9, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 10, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
disk 11, s:0, o:0, n:0 rd:0 us:0 dev:[dev 00:00]
md: updating md0 RAID superblock on device
sde1 [events: 00000009](write) sde1's sb offset: 17782656
md: syncing RAID array md0
md: minimum _guaranteed_ reconstruction speed: 100 KB/sec.
md: using maximum available idle IO bandwith for reconstruction.
md: using 384k window.
sdd1 [events: 00000009](write) sdd1's sb offset: 17782656
sdc1 [events: 00000009](write) sdc1's sb offset: 17782656
sdb1 [events: 00000009](write) sdb1's sb offset: 17782656
.
... autorun DONE.
Darren
--
Darren Evans Tel: +44(0)20 7700 9960
Systems, Profero Ltd Fax: +44(0)20 7700 9961