Re: Device Unusable At Startup

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

 



On Sun, 12 Aug 2012 15:17:09 -0700 Jake Thomas <thomasj10@xxxxxxxxxxxxx>
wrote:

> CC to linux-raid mailing list:
> 
> Hi Neil!
> 
>    Sorry for the delayed response. I kept checking on my iPhone for a
> response, and for some reason or lack thereof didn't see it. I figured
> that I'd have to wait a few days for my post to go through. I started
> checking over here everyday and never got a response:
> http://marc.info/?l=linux-raid&m=134415164808677&w=2 . I guess I
> neglected this blog. And I was out camping for a few days.
> 
>    When I do "sudo /sbin/mdadm.moved -D /dev/md127" after startup
> (before it's working), it says:
> 
> mdadm: md device /dev/md127 does not appear to be active.
> 
> (I now moved /sbin/mdadm.moved back to /sbin/mdadm for ease of use.)
> 
> When I do "sudo mdadm --misc --query /dev/md127", I get:
> 
> /dev/md127: is an md device which is not active
> 
> 
> I found out that I can do:
> 
> "sudo mdadm -R /dev/md127" and that starts it up just fine and
> everything is good again. (Don't have to stop it or anything.)
> 
> I can then do:
> sudo mdadm /dev/md127 -a /dev/ram0.
> 
> However, the problem still remains that it is not started on start-up,
> thus I cannot have /usr be such a raid device, which needs to be
> mounted very early in startup, before any scripts get ran. Therefore I
> can't just put "mdadm -R /dev/md127" in a script somewhere to fix the
> issue. I even tried the raid=autodetect option at the kernel
> parameters line (And yes, "mdadm_udev" was in the HOOKS line in
> mkinitcpio.conf and "md_mod" and "raid0" were in the MODULES line in
> mkinitcpio.conf when I built the initial ramdisk with mkinitcpio.)
> I also tried doing "md=1,/dev/sda2" at the kernel line, which was
> ignored, because /dev/md1 was not created. Instead, I got the regular
> /dev/md127 (which is not active). Also tried "md=1,/dev/sda2,missing".
> Same result. Also tried "md=1,/dev/sda2,/dev/ram0". Same result. Also
> tried "md=1,/dev/ram0,/dev/sda2". Same result. Also tried
> "md=1,missing,/dev/sda2". Same result.
> I also tried  md-mod.start_dirty_degraded=1. Still wasn't active on startup.
> 
> After running the above two commands (before the kernel parameters
> paragraph) to get the raid device going, "sudo mdadm -D /dev/md127"
> gives:
> /dev/md127:
>         Version : 1.2
>   Creation Time : Wed Aug  1 19:33:20 2012
>      Raid Level : raid1
>      Array Size : 3144692 (3.00 GiB 3.22 GB)
>   Used Dev Size : 3144692 (3.00 GiB 3.22 GB)
>    Raid Devices : 2
>   Total Devices : 2
>     Persistence : Superblock is persistent
> 
>     Update Time : Sun Aug 12 13:39:56 2012
>           State : clean, degraded, recovering
>  Active Devices : 1
> Working Devices : 2
>  Failed Devices : 0
>   Spare Devices : 1
> 
>  Rebuild Status : 9% complete
> 
>            Name : archbang:0
>            UUID : 31f0bda6:4cd69924:46a0e3b2:4f7e32ba
>          Events : 166
> 
>     Number   Major   Minor   RaidDevice State
>        2       1        0        0      spare rebuilding   /dev/ram0
>        1       8        2        1      active sync writemostly   /dev/sda2
> 
> 
> Also, when I first startup, if I do:
> sudo mdadm --manage /dev/md127 --remove /dev/sda2
> 
> I get:
> mdadm: cannot get array info for /dev/md127
> 
> And if I do:
> sudo mdadm --manage /dev/md* --remove /dev/sda2
> 
> I get:
> mdadm: Must give one of -a/-r/-f for subsequent devices at /dev/md127
> 
> What's going on with the above two command outputs?
> 
> 
> I will put a copy of this reply here:
> http://marc.info/?l=linux-raid&m=134415164808677&w=2
> 
> For those of you looking at the linux-raid mailing list, I am coming
> from here: http://neil.brown.name/blog/20120615073245 .
> 
> The idea of RAID1ing with a ramdisk came from
> here:https://bbs.archlinux.org/viewtopic.php?pid=493773#p493773 .




If you ask a question on the blog, you get a reply on the blog. If you ask a question on linux-raid you get a reply on linux-raid.... If you ask on both.... :-) 

The array isn't starting at boot time because it is degraded. This suggests a problem
with the boot scripts. I suspect your distro ('arch'?) is relying on "mdadm -I"
being run from udev to start the arrays. This by itself isn't always enough. After
all devices have been discovered you need "mdadm -Irs" or "mdadm --incremental --run --scan"
to assemble any newly-degraded arrays.

So in some script before it tries to mount filesystems you want something like:

   udevadm settle mdadm --incremental --run --scan

This will have to go in a script in the initrd of course.


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