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 .
Cheers,
Jake
On Sun, 12 Aug 2012 15:17:09 -0700 Jake Thomas [off-list ref]
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