Hi,
I have many problems with RAID in kernel 2.6.10.
First of all, I have the md, raid1,... into the kernel, superblocks in
the RAIDs and "Linux RAID autodetect" as the partition types. Moreover,
I make an initrd. However, when the kernel boots, it doesn't recognize
the RAID disks:
md: raid1 personality registered as nr 3
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
[...]
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
And I have four RAID disks (/dev/md[1-4]) bind on /dev/sdb[1-4] and
/dev/sdc[1-4].
Secondly, I try to get up the RAID disks manually and the most times
it fails:
centralmad:~# cat /proc/mdstat
Personalities : [raid1]
unused devices: <none>
centralmad:~#
centralmad:~# raidstart /dev/md2
/dev/md2: Invalid argument <-- Why did it say it?
centralmad:~# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdc2[0] sdb2[1] <-- Although It seems to run Ok
14651200 blocks [2/2] [UU]
unused devices: <none>
And dmesg says:
md: raidstart(pid 2944) used deprecated START_ARRAY ioctl. This will not
<-- !!!
be supported beyond 2.6
<-- !!!
md: could not bd_claim sda2.
<-- I have a �failured disk�
md: autostart failed!
<-- !!! Is it because the failured dik?
md: raidstart(pid 2944) used deprecated START_ARRAY ioctl. This will not
be supported beyond 2.6
md: autorun ...
md: considering sdc2 ...
md: adding sdc2 ...
md: adding sdb2 ...
md: created md2
md: bind<sdb2>
md: bind<sdc2>
md: running: <sdc2><sdb2>
raid1: raid set md2 active with 2 out of 2 mirrors
md: ... autorun DONE.
Maybe raidstart need to change the ioctl to use. I have raidtools2
version 1.00.3-17 (Debian package in Sarge). A strace of that command
shows:
[...]
open("/dev/md2", O_RDWR) = 3
fstat64(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
ioctl(3, 0x800c0910, 0xbfffefb0) = 0
fstat64(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 2), ...}) = 0
ioctl(3, 0x800c0910, 0xbffff070) = 0
ioctl(3, 0x400c0930, 0xbffff100) = -1 EINVAL (Invalid argument)
write(2, "mdadm: failed to run array /dev/"..., 54mdadm: failed to run
array /dev/md2: Invalid argument
) = 54
close(3) = 0
exit_group(1) = ?
Raidstop seems not to have problems:
md: md2 stopped.
md: unbind<sdc2>
md: export_rdev(sdc2)
md: unbind<sdb2>
md: export_rdev(sdb2)
And with mdadm also fails:
centralmad:~# mdadm -R /dev/md2
mdadm: failed to run array /dev/md2: Invalid argument
centralmad:~# cat /proc/mdstat
Personalities : [raid1]
unused devices: <none>
Moreover, dmesg says the md driver fails:
md: bug in file drivers/md/md.c, line 1514
md: **********************************
md: * <COMPLETE RAID STATE PRINTOUT> *
md: **********************************
md2:
md0:
md: **********************************
That line is in the function �static int do_md_run(mddev_t * mddev)�,
and the code that produce the bug is:
if (list_empty(&mddev->disks)) {
MD_BUG();
return -EINVAL;
}
Again, with �mdadm -S /dev/md2� there are no problems to stop the
RAID.
Here there are more information about my sistem. It is a Debian Sarge
with kernel 2.6, RAID 1 and SATA disks.
centralmad:~# mdadm -E /dev/sdb2
/dev/sdb2:
Magic : a92b4efc
Version : 00.90.00
UUID : 8c51d044:cb84e69a:64968ecd:2e36133c
Creation Time : Sun Mar 6 16:11:00 2005
Raid Level : raid1
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Update Time : Mon Mar 7 17:59:30 2005
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 1906699c - correct
Events : 0.1491
Number Major Minor RaidDevice State
this 1 8 18 1 active sync /dev/sdb2
0 0 8 34 0 active sync /dev/sdc2
1 1 8 18 1 active sync /dev/sdb2
Why do these problems occur? How can I/You solve them?
Thanks a lot. I will wait your response.
Regards,
--
--- Jes�s Rojo Mart�nez. ---
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html