Re: Linear RAID failure. How to recreate?

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

 



On Sun, 24 Jan 2010 19:25:23 -0800 (PST)
anoneironaut84 <anoneironaut@xxxxxxxxxxx> wrote:

> 
> Hey all,
> 
>      I'm just wondering if there is any way to recreate a linear array.  For
> example in a simple two disk linear RAID array if one disk fail if I replace
> the old drive with a working drive can I stop the linear RAID array, format
> the simple device nodes and recreate the array?  I tried to do something
> like this but failed:

Yes, you could do that.  But mode of the data would be missing, so I don't
really see much point.

> 
> bash# mdadm --manage /dev/md1 -f /dev/sda2
> mdadm: set /dev/sda2 faulty in /dev/md1
> bash# mdadm --manage /dev/md1 -f /dev/sdb2
> mdadm: set /dev/sdb2 faulty in /dev/md1

It doesn't really make sense to set a device in a linear array to faulty as
there is no alternative strategy that can be used to read or write.
So as you notice, the 'faulty' status is not recorded:

> bash# cat /proc/mdstat
> Personalities : [linear] [raid1]
> md1 : active linear sdb2[1] sda2[0]
>       957216768 blocks 64k rounding
> 
> md0 : active raid1 sdb1[1]
>       9775424 blocks [2/1] [_U]
> 
> unused devices: <none>
> bash# mdadm --manage /dev/md1 -r /dev/sdb2
> mdadm: hot remove failed for /dev/sdb2: Device or resource busy
> bash# mdadm --manage /dev/md1 -r /dev/sda2
> mdadm: hot remove failed for /dev/sda2: Device or resource busy
> bash# mdadm --manage /dev/md1 -fr /dev/sda2
> mdadm: hot remove failed for /dev/sda2: Device or resource busy

Similarly you cannot remove individual devices from a linear array.
You can only sort the whole array, then maybe restart it.

> bash# mdadm --manage --stop /dev/md1
> mdadm: fail to stop array /dev/md1: Device or resource busy

Presumably the device is mounted?

> bash# fuser -m /dev/md1
> bash# fuser -m /dev/sda2
> bash# fuser -m /dev/sdb2

I guess no process is using the mounted filesystem?

What does
  cat /proc/mounts

show?

> bash# mdadm --manage --stop /dev/md1
> mdadm: fail to stop array /dev/md1: Device or resource busy
> bash-2.05b# lsof | grep md1
> bash-2.05b#
> 
> Would appreciate some input.
> 
> Thanks!
> 
> -JD
> 
> PS  My system is RHEL-4 running on the 2.6.22 kernel.

NeilBrown
--
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