gmirror per partition

Alban Hertroys dalroi at
Fri Jul 3 11:37:12 UTC 2009

On Jul 3, 2009, at 12:12 PM, Anton Shterenlikht wrote:

> now to mirror root partition.
> My problem is that root is mounted and cannot (?) be unmounted,  
> unlike /efi,
> on the live system.
> # gpart add -b 819234 -s 1048576 -t freebsd-ufs da1
> da1p2 added
> #
> # gmirror label -vb round-robin root /dev/da0p2
> gmirror: Can't store metadata on /dev/da0p2: Operation not permitted.
> #
> If I create gmirror on da1, the spare disk:
> # gmirror label -vb round-robin root /dev/da1p2
> Metadata value stored on /dev/da0p1.
> Done.
> #
> so that
> # gmirror status
>       Name    Status  Components
> mirror/efi  COMPLETE  da0p1
>                       da1p1
> mirror/root  COMPLETE  da1p2
> #
> then I still cannot insert da0p2
> # gmirror insert root da0p2
> gmirror: Cannot access provider da0p2.
> #
> So how can I gmirror root partion on a live system?

You're almost there... I did this a while ago, can't remember when,  
but I just upgraded the system that had this from FreeBSD 6.3 of  
sometime in 2006 to 7.2.

What I believe I did from this point on was:

Copy everything from the root partition to mirror/root.
Modify /etc/fstab to mount root on mirror/root.

Now the original root partition isn't mounted anymore, so we can do  
operate on it's geom stuff.

gmirror insert root da0p2

That should be it.
If that doesn't work you can always boot off a live file-system CD/DVD  
and perform these actions from there. You won't have man pages in that  
case though, or at least I couldn't find a way to read them off the  
DVD last I tried.

One thing I'd like to warn about at this point:
If you ever upgrade to a kernel with a newer geom metadata version and  
that new kernel crashes, you're left with a system where the new  
kernel can't boot at all while the old kernel can't mount the root  
mirror as it's now of a version it can't handle.
You can however mount a single geom provider of that root file system  
(/dev/da1p2 for example) to try to fix things.
That file-system WILL be dirty, but DON'T run fsck on it or you will  
destroy it's contents. That's what happened to my upgrade above...

Thankfully it was only my root partition with hardly any data on it  
and I did make level 0 dumps before the upgrade, but I needed to  
restore that FS from a fixit shell without man pages. Augh!

> many thanks
> -- 
> Anton Shterenlikht
> Room 2.6, Queen's Building
> Mech Eng Dept
> Bristol University
> University Walk, Bristol BS8 1TR, UK
> Tel: +44 (0)117 928 8233
> Fax: +44 (0)117 929 4423
> _______________________________________________
> freebsd-current at mailing list
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at 
> "

Alban Hertroys

If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.


More information about the freebsd-questions mailing list