Problems with Linux RAID in kernel 2.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux