Copying mirrored partitions - will this work?

Mike Clarke jmc-freebsd2 at
Sat Mar 20 15:32:50 UTC 2010

I'm currently running 8.0-RELEASE and am considering experimenting with 
8.0-STABLE. I'd like to preserve my existing system in case things go 
pear-shaped so I'll copy the entire system onto a spare slice and then 
use csup to upgrade the copy to STABLE. Normally I'd go through the 
steps of bsdlabel, newfs and then dump|restore to create the copy but 
I'm wondering if I can take advantage of my recently created gmirror to 
cut down the work.

I have two 500GB disks, /dev/ad4 and /dev/ad8, each partitioned into 4 
slices of 88, 88, 42 and 259GB. My system is installed on the first 
slices (ad4s1 and ad8s1) which are mirrored as /dev/mirror/gm0. The 
second slices (ad4s2 and ad8s2) are currently unused. My thoughts are 
to temporarily add ad4s2 into gm0 with "gmirror insert gm0 ad4s2" and 
wait for the mirror to synchronise. I should then be able to remove the 
temporary addition with "gmirror remove gm0 /dev/ad4s2" at which point 
ad4s2 should be a duplicate of the original system and I can then go 
ahead and create a new mirror with "gmirror label -b load gm1 ad4s2" 
and "gmirror insert gm1 ad8s2". After editing /etc/fstab in the new 
mirror to use gm1 instead of gm0 I should then be able to boot into the 
system on slice 2 and upgrade it to STABLE while still keeping my 
original system to fall back to if required.

Is this approach of moving disks from one mirror to another workable, or 
have I missed something that would lead me into deep trouble? I don't 
mind unduly if I make a mess of the second slice and have to start 
again but I don't want to lose the contents of my original system on 
slice 1.

Mike Clarke

More information about the freebsd-questions mailing list