SUCCESS: Re: gmirror per partition

From: Anton Shterenlikht <mexas_at_bristol.ac.uk>
Date: Fri, 3 Jul 2009 23:25:58 +0100
On Fri, Jul 03, 2009 at 01:18:28PM +0200, Alban Hertroys wrote:
> 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.
> Reboot.
> 
> 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!

thank you, that was helpful.

I think I've got it, but it's a bit more complex on ia64
because /boot is a symlink to /efi/boot, which is a separate
partition.

Anyway, I've got:

# gmirror status
       Name    Status  Components
 mirror/efi  COMPLETE  da0p1
                       da1p1
mirror/root  COMPLETE  da0p2
                       da1p2
mirror/swap  COMPLETE  da0p3
                       da1p3
 mirror/var  COMPLETE  da1p4
                       da0p4
 mirror/tmp  COMPLETE  da1p5
                       da0p5
 mirror/usr  DEGRADED  da1p6
                       da0p6 (24%)
# 

I'll try to write up my experience and post later.

thanks again

-- 
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
Received on Fri Jul 03 2009 - 20:26:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:51 UTC