Re: mdadm -add doesn't start rebuilding array

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

 



On Tue, 21 Aug 2012 08:45:50 +0200 Sergiusz Brzeziński
<Sergiusz.Brzezinski@xxxxxxxxxxxxxx> wrote:

> 
> 
> W dniu 21.08.2012 00:30, NeilBrown pisze:
> > On Mon, 20 Aug 2012 11:36:10 +0200 Sergiusz Brzeziński
> > <Sergiusz.Brzezinski@xxxxxxxxxxxxxx>  wrote:
> >
> >> Hi,
> >>
> >> My system is Ubuntu 12.04, kernel 3.2.0-27. mdadm: 3.2.3
> >>
> >> If I do:
> >>
> >> # mdadm /dev/md0 -a /dev/sdc3
> >>
> >> then nothing happen! No message on command line, no info in logs!
> >>
> >> Man mdadm says:
> >>
> >> -a, --add
> >> hot-add listed devices.  If a device appears to have recently been part of the
> >> array (possibly it failed or was removed) the device is  re-added  as  describe
> >>    in  the  next point.   If  that  fails  or the device was never part of the
> >> array, the device is added as a hot-spare.  If the array is degraded, it will
> >> immediately start to rebuild data onto that spare.
> >>
> >> But array doesn't wont to rebuild.
> >>
> >> But not exactly. The bad info is, that sometimes it works and sometimes it doesn't.
> >>
> >> And if I restart the system, the array SOMETIMES start rebuilding and somethimes
> >> doesn't!
> >>
> >> There is no information what's up (comnand line or logs) so I don't know what to do.
> >>
> >>
> >>
> >> I describe bellow the whole procedure:
> >>
> >> 1.
> >> There ist a working Raid1 array:
> >>
> >> # cat /proc/mdstat
> >>
> >> Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4]
> >> [raid10]
> >> md0 : active raid1 sda3[2] sdb3[3]
> >>         115999672 blocks super 1.0 [2/2] [UU]
> >>         bitmap: 0/1 pages [0KB], 65536KB chunk
> >>
> >> # mdadm --detail /dev/md0
> >>
> >> /dev/md0:
> >>           Version : 1.0
> >>     Creation Time : Wed Aug  1 15:45:56 2012
> >>        Raid Level : raid1
> >>        Array Size : 115999672 (110.63 GiB 118.78 GB)
> >>     Used Dev Size : 115999672 (110.63 GiB 118.78 GB)
> >>      Raid Devices : 2
> >>     Total Devices : 2
> >>       Persistence : Superblock is persistent
> >>
> >>     Intent Bitmap : Internal
> >>
> >>       Update Time : Mon Aug 20 11:10:00 2012
> >>             State : active
> >>    Active Devices : 2
> >> Working Devices : 2
> >>    Failed Devices : 0
> >>     Spare Devices : 0
> >>
> >>              Name : linux:0
> >>              UUID : b7407176:2e88c73d:2c85e940:05ff7e06
> >>            Events : 5897
> >>
> >>       Number   Major   Minor   RaidDevice State
> >>          3       8       19        0      active sync   /dev/sdb3
> >>          2       8        3        1      active sync   /dev/sda3
> >>
> >>
> >> 2.
> >> I remove (phisicaly) the "/dev/sdb" drive of the box (hot-swap)
> >>
> >> # cat /proc/mdstat
> >>
> >> Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4]
> >> [raid10]
> >> md0 : active raid1 sda3[2] sdb3[3](F)
> >>         115999672 blocks super 1.0 [2/1] [_U]
> >>         bitmap: 1/1 pages [4KB], 65536KB chunk
> >>
> >> # mdadm --detail /dev/md0
> >> /dev/md0:
> >>           Version : 1.0
> >>     Creation Time : Wed Aug  1 15:45:56 2012
> >>        Raid Level : raid1
> >>        Array Size : 115999672 (110.63 GiB 118.78 GB)
> >>     Used Dev Size : 115999672 (110.63 GiB 118.78 GB)
> >>      Raid Devices : 2
> >>     Total Devices : 2
> >>       Persistence : Superblock is persistent
> >>
> >>     Intent Bitmap : Internal
> >>
> >>       Update Time : Mon Aug 20 11:11:58 2012
> >>             State : active, degraded
> >>    Active Devices : 1
> >> Working Devices : 1
> >>    Failed Devices : 1
> >>     Spare Devices : 0
> >>
> >>              Name : linux:0
> >>              UUID : b7407176:2e88c73d:2c85e940:05ff7e06
> >>            Events : 5908
> >>
> >>       Number   Major   Minor   RaidDevice State
> >>          0       0        0        0      removed
> >>          2       8        3        1      active sync   /dev/sda3
> >>
> >>          3       8       19        -      faulty spare
> >>
> >>
> >> 3.
> >> I insert the drive again - it become "/dev/sdc" instead of "/dev/sdb"
> >>
> >> 4.
> >> And now I do the following to rebuild the array:
> >>
> >> # mdadm /dev/md0 -a /dev/sdc3
> >>
> >> mdadm: /dev/sdc3 reports being an active member for /dev/md0, but a --re-add fails.
> >> mdadm: not performing --add as that would convert /dev/sdc3 in to a spare.
> >> mdadm: To make this a spare, use "mdadm --zero-superblock /dev/sdc3" first.
> >>
> >> I have never seen this messages before (on another systems). But this is not a
> >> problem. I do, what they suggest:
> >>
> >> # mdadm --zero-superblock /dev/sdc3
> >>
> >> # mdadm --examine /dev/sdc3
> >> mdadm: No md superblock detected on /dev/sdc3.
> >>
> >> 5.
> >> And now I try again rebuild the array:
> >>
> >> # mdadm /dev/md0 -a /dev/sdc3
> >>
> >> ... and nothing happen! No message, no info. I repeat some times the command.
> >>
> >> I also try this:
> >>
> >> # mdadm /dev/md0 -a -vv --force /dev/sdc3
> >>
> >> ... also nothing. Somethimes, if I repeat the command one by one, in logs appear
> >> the line:
> >>
> >> Aug 20 11:30:52 serwer-linmot kernel: [ 1978.111282] md: export_rdev(sdc3)
> >>
> >> ... and nothing else
> >>
> >>
> >> # mdadm --examine /dev/sdc3
> >> /dev/sdc3:
> >>             Magic : a92b4efc
> >>           Version : 1.0
> >>       Feature Map : 0x1
> >>        Array UUID : b7407176:2e88c73d:2c85e940:05ff7e06
> >>              Name : linux:0
> >>     Creation Time : Wed Aug  1 15:45:56 2012
> >>        Raid Level : raid1
> >>      Raid Devices : 2
> >>
> >>    Avail Dev Size : 231999344 (110.63 GiB 118.78 GB)
> >>        Array Size : 231999344 (110.63 GiB 118.78 GB)
> >>      Super Offset : 231999472 sectors
> >>             State : clean
> >>       Device UUID : f1a1f291:e10d85cc:b574c6d2:45fc0c5d
> >>
> >> Internal Bitmap : -8 sectors from superblock
> >>       Update Time : Mon Aug 20 11:17:07 2012
> >>          Checksum : 71bcac04 - correct
> >>            Events : 0
> >>
> >>
> >>      Device Role : spare
> >>      Array State : .A ('A' == active, '.' == missing)
> >>
> >>
> >> # mdadm --detail /dev/md0
> >>
> >> /dev/md0:
> >>           Version : 1.0
> >>     Creation Time : Wed Aug  1 15:45:56 2012
> >>        Raid Level : raid1
> >>        Array Size : 115999672 (110.63 GiB 118.78 GB)
> >>     Used Dev Size : 115999672 (110.63 GiB 118.78 GB)
> >>      Raid Devices : 2
> >>     Total Devices : 2
> >>       Persistence : Superblock is persistent
> >>
> >>     Intent Bitmap : Internal
> >>
> >>       Update Time : Mon Aug 20 11:18:43 2012
> >>             State : active, degraded
> >>    Active Devices : 1
> >> Working Devices : 1
> >>    Failed Devices : 1
> >>     Spare Devices : 0
> >>
> >>              Name : linux:0
> >>              UUID : b7407176:2e88c73d:2c85e940:05ff7e06
> >>            Events : 5946
> >>
> >>       Number   Major   Minor   RaidDevice State
> >>          0       0        0        0      removed
> >>          2       8        3        1      active sync   /dev/sda3
> >>
> >>          3       8       19        -      faulty spare
> >>
> >>
> >> Can anyone help?
> >>
> >
> > I cannot see why that would happen.
> > It seems to be failing somewhere in bind_rdev_to_array, but I don't know
> > where.
> > Can you run
> >    strace -o /tmp/strace mdadm /dev/md0 --add /dev/sdc3
> > and post the output ... or at last the tail end of the output.  There should
> > be an ioctl which fails and I need to know what the error was (EEXIST,
> > EINVAL, ENOSPC are the likely ones).  But don't just post that line, include
> > at least the last 100 lines.
> >
> > NeilBrown
> 
> Hi,
> 
> Thank You for help. The complete strace output is in attachement.
> 
> Sergiusz
> 
> 
lseek(4, 118783725568, SEEK_SET)        = 118783725568
ioctl(4, BLKSSZGET, 0x7fff73de3fec)     = 0
write(4, "bitm\4\0\0\0\267@qv.\210\307=,\205\351@\5\377~\6\303-\0\0\0\0\0\0"..., 512) = -1 EINVAL (Invalid argument)


Oh, I remember now.  That bug.
Fixed by commit 6ef89052d85b8137b8a7100f which is in 3.2.4.

http://git.neil.brown.name/?p=mdadm.git;a=commitdiff;h=6ef89052d85b8137b8a7100f

NeilBrown


Attachment: signature.asc
Description: PGP signature


[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