Thread (3 messages) flat view 3 messages, 3 authors, 2004-09-22

Re: musical chairs

From: Michael Tokarev <hidden>
Date: 2004-09-22 23:47:15

Doug Ledford wrote:
On Wed, 2004-09-22 at 15:00, dr_snafu wrote:
quoted
hello, 

i have a disk with data on it /dev/hdc, 
   and a brand new empty disk /dev/hdb. 
Partitions not in use?

quoted
want to set up raid 1 without moving data off hdc. 
   it very large and i have no where to put it

will this work?: (notice # of devices)

mdadm --create --verbose /dev/md0 --level=1 
       --raid-devices=1  /dev/hdb
When creating raid array, you have to set number
of devices correctly in the first place -- there's
no way - not in current versions of the tools and
kernel code anyway - to "grow" the array after
it will be created.  You have to create "degraded"
array first, like this:

  mdadm --create /dev/md0 --level=1
    --raid-devices=2 /dev/hdb missing

(the word "missing" is really that - missing, literally).
quoted
will this create an unmirrored raid 1 setup? 
Not "unmirrored", but degraded - it will be ok
when you'll add the missing disc to it later.
quoted
   can i start and mount md0?
   then copy the data from hdb to md0?
yes.
quoted
then?:

mdadm /dev/md0 --add /dev/hdc
Yes -- it will work with degraded array created
as above.  Do note however that disk sizes should
be the same, or hdc should be larger -- if it is
smaller, you may not get correct results here, for
obvious reasons.  For this too, making partitions
instead of using whole unpartitioned drives may
help -- even disks are different in size, you may
create partitions of equal size on both.
quoted
seems too good to be true, 
   maybe you know another way?
Use e2fsresize or whatever it's called to shrink the size of the e2fs on
/dev/hdc by 64k, then mdadm -C /dev/md0 -l raid1 -n 2 /dev/hdc failed,
then mdadm /dev/md0 -a /dev/hdb and all the data will then be synced
from hdc to hdb and when it's done the raid array will be up, running,
and fully operational.
I'd say this way is somewhat more risky.  Yes, there will be only one
data copy operation, from hdc to hdb.  But if anything goes bad, the
data may be lost.  This is why it is suggested to do backup before any
filesystem-related changes, but since there's no place to save the
data to, creating array first, copying data to it and adding the
missing (old) disk -- this way you'll always have two copies of
the data, up to the moment when you're adding second disk to the
array (when it will gets owerwritten from the first - new - disk),
and there will be no place when your data will be modified in-place
(most dangerous), as ext2resize does.  Ext2resize believed to be
stable, however...

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