Thread (5 messages) 5 messages, 2 authors, 2010-06-30

Re: How do I determine which drive should be in which slot?

From: Neil Brown <hidden>
Date: 2010-06-30 01:02:28

On Tue, 29 Jun 2010 16:00:57 +0000 (UTC)
Dave W [off-list ref] wrote:
Neil Brown <neilb <at> suse.de> writes:
quoted
quoted
How can I tell mdadm to put them in the right slots?
This is very odd.... that should not happen.  I think I've seen a few reports
of something like that happening and I'm beginning to wonder if I broke
something subtle....
What kernel/mdadm version are you using.
# uname -a
Linux fileserver.whome 2.6.27.24-170.2.68.fc10.i686 #1 SMP Wed May 20 23:10:16
EDT 2009 i686 i686 i386 GNU/Linux
# mdadm --version
mdadm - v2.6.7.1 - 15th October 2008
Hmmm... I obviously didn't introduce it recently then.  That is a little bit
encouraging.
quoted
You should use "mdadm --examine" to see the configuration of the array, and
make sure that configuration is copied exactly when you creat a new array -
same chunk size, same layout, same metadata version etc.
I don't know what metadata version refers to.  I don't see it in the
"mdadm --examine" output.
It is the "Version : " field.  0.90 in your case.
quoted
Keep a copy of the "mdadm --examine" output and compare it with the output
after runing the --create and make sure everything is still the same (e.g.
Data Offset could be changed - that would be awkward).
I also don't see Data Offset in the --examine output.  I wonder if I should
upgrade to a newer mdadm?  Or is that something that I can only see if I
run --examine on a running array?
at the data looks OK.
"Data Offset" is only present in 1.x metadata.  As you have 0.90 you won't
see it and it cannot change. so you are safe from that.

--examine reports the same info whether the array is running or not.
quoted
If 'fsck' fails, you might like to try again, re-arranging the devices that
you aren't sure of.
OK, it sounds like you're saying that the --create command won't hurt anything
that I can't fix by running it again.  It is truly safe that way?
Almost.
If you run 
    --create --metadata=1.1
on devices what were part of a 0.90 array, then as the 1.1 superblock is
written at the start of the device, and 0.90 puts data at the start of the
device, you would get corruption.

But if you use the same --metadata= and use --assume-clean and don't specify
a bitmap, then --create will over-write the metadata but not touch the data
at all.

Here is the /proc/mdstat and the --examine output:
So you probably want

 mdadm --create /dev/md -l6 -n5 --chunk 64 --assume-clean --metadata=0.90 \
  /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

NeilBrown
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help