Re: Booting gvinum fails: missing /dev/gvinum/* device entries

2006-08-28 Thread Aaron Gifford

On 8/26/06, Aaron Gifford <[EMAIL PROTECTED]> wrote (or in other words, I
wrote):


No matter what I tried, booting always failed at the point of mounting the
root filesystem.  I would be kicked to a "mountroot>" prompt.  Any attempts
at mounting root from ufs:/dev/gvinum/root failed.  Even if I loaded
geom_vinum.ko by hand during boot to be absolutely sure gvinum was loaded,
this failed.  At "mountroot>", the gvinum devices did not show up at all.

So I fell back and mounted /dev/ad0a (my old non-gvinum drive) as root.
That worked.  kldstat showed that indeed geom_vinum.ko WAS successfully
loaded.  But when I looked in /dev nothing for gvinum showed up there.  It
was empty.

The "gvinum list" command showed all my gvinum volumes working, but there
were NO entries in /dev.

No wonder I was unable to mount /dev/gvinum/root -- There was no device
entry.

So what's the deal?   Any suggestions?   Is there something I need to
compile in my kernel?



I managed to fix my own problem.

Before I posted, I did some searching and found previous posts of people who
were missing /dev/gvinum device entries.  They mentioned that it was corrupt
GEOM vinum metadata.

I did not believe that this applied to my situation, as while booted of my
older working i386 kernel running on a non-GEOM-vinum drive, the GEOM vinum
volumes appeared and worked normally.  Therefore, I concluded, the metadata
must be in working order.

However, no matter how I tried to boot off the amd64 kernel on the gvinum
root volume, it failed.  Closer examination made it look like perhaps under
the amd64 kernel and geom_vinum.ko module, perhaps the metadata stored in
the first 265 sectors (512-byte sectors) of the vinum partitions was being
interpreted differently than it was by the i386 kernel and geom_vinum.ko
module.

This leads me to believe that the problem was one of the following:

1) Due to my changing the BIOS boot order of my drives (so as to boot from
the gvinum drive running amd64 instead of the non-vinum i386 kernel drive),
perhaps GEOM vinum got confused about the configuration since the BIOS
device boot order was different; or

2) because of differences between the i386 and amd64 architectures, GEOM
vinum volumes created under one architecture do not correctly appear under
another architecture.

If #1, then I need to remember this and be careful about changing BIOS boot
order while running GEOM vinu.

If #2, then I believe this is a bug in GEOM vinum.  Volume metadata should
be cross-architecture independent.

So, FreeBSD gurus wiser in the innards of GEOM vinum than this user (pretty
much everyone who knows how GEOM vinum actually works), which is the cause
of my woes?  Is it #1?  Or is it #2?  Or am I missing a third possibility
entirely?

Thanks for any future enlightenment!

Aaron out.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Booting gvinum fails: missing /dev/gvinum/* device entries

2006-08-26 Thread Aaron Gifford

I'm running 6.1R (amd64) on a system, and recently added more drives.  I
decided I would eventually migrate my root system off the existing drive
(/dev/ad0a) to use a gvinum root (/dev/gvinum/root) filesystem and
eventually remove the old hard drive altogether.

The two added drives (ad1 and ad2) are labeled (with bsdlabel) identically
like this:

#   size   offsetfstype
a:   4194039  2814.2BSD
b:   4194394  4194320 vinum
c: 6251424480unused
d:   4194304   16 vinum
e: 616753824  8388624 vinum

The gvinum configuration looks like:

# Drives for the root gvinum RAID-1 volume:
drive a1 device /dev/ad1d
drive a2 device /dev/ad2d
#
# Drives for the swap gvinum RAID-1 volume:
drive b1 device /dev/ad1b
drive b2 device /dev/ad2b
#
# Drives for the usr gvinum RAID-1 volume:
drive c1 device /dev/ad1e
drive c2 device /dev/ad2e
#
# RAID-1 volume for root:
volume root
 plex org concat
   sd length 0 drive a1
 plex org concat
   sd length 0 drive a2
#
# RAID-1 volume for swap:
volume swap
 plex org concat
   sd length 0 drive b1
 plex org concat
   sd length 0 drive b2
#
# RAID-1 volume for usr:
volume usr
 plex org concat
   sd length 0 drive c1
   sd length 0 drive c2

Once the gvinum volumes were created, new filesystems created, and mounted
temporarily on /mnt and /mnt/usr, I added a line to loader.conf in the new
drives' future /boot directory containing 'geom_vinum_load="YES"'.  Oh, and
the new drives' future /etc/fstab contains:

# Device Mountpoint FStype  Options Dump Pass#
/dev/gvinum/swap none   swapsw  00
/dev/gvinum/root /  ufs rw  11
/dev/gvinum/usr  /usr   ufs rw  22

Oh, boot blocks were also written to both drives before the gvinum volumes
were set up using bsdlabel -b.

Now for the test.  I rebooted, changing the boot order in BIOS so the first
drive, ad1 (instead of ad0) was the boot source.

THE PROBLEM:

No matter what I tried, booting always failed at the point of mounting the
root filesystem.  I would be kicked to a "mountroot>" prompt.  Any attempts
at mounting root from ufs:/dev/gvinum/root failed.  Even if I loaded
geom_vinum.ko by hand during boot to be absolutely sure gvinum was loaded,
this failed.  At "mountroot>", the gvinum devices did not show up at all.

So I fell back and mounted /dev/ad0a (my old non-gvinum drive) as root.
That worked.  kldstat showed that indeed geom_vinum.ko WAS successfully
loaded.  But when I looked in /dev nothing for gvinum showed up there.  It
was empty.

The "gvinum list" command showed all my gvinum volumes working, but there
were NO entries in /dev.

No wonder I was unable to mount /dev/gvinum/root -- There was no device
entry.

So what's the deal?   Any suggestions?   Is there something I need to
compile in my kernel?

If I boot off my old drive and only load the geom_vinum.ko module by hand at
the command-line by using the gvinum command, the entries in /dev/ DO appear
normally.

Puzzled, frustrated,
Aaron out.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"