SUCCESS: Re: gmirror per partition
Anton Shterenlikht
mexas at bristol.ac.uk
Fri Jul 3 22:26:06 UTC 2009
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
More information about the freebsd-questions
mailing list