Re: mdadm -add doesn't start rebuilding array

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

 



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

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