Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 May 2005 17:26:32 -0700
From:      Lapo Nustrini <lapo@seanet.com>
To:        freebsd-geom@freebsd.org
Subject:   gmirror load problem on startup
Message-ID:  <F808F590-C71C-4A90-8876-435E927DEBD3@seanet.com>

next in thread | raw e-mail | index | archive | help
I've been trying to get a gmirror system disk running on a Dual Xeon  
supermicro server with 5.4 release.

I followed Ralf S. Engelschall's how-to at:    http:// 
people.freebsd.org/~rse/mirror/
Once the mirror was established and I rebooted the machine for the  
first time, I encountered a problem.
It appears that the gmirror kernel module is not being loaded before  
the system tries to mount the partitions, and consequently, after  
falling back to a default mount of /dev/da0s1a for root, it fails to  
single user mode complaining that /dev/mirror/gm0s1X is not available.

In single user mode, I can issue the command "gmirror load" which  
initializes the mirror device, but given that da0s1a is already in  
use, the mirror only includes  device da1s1

When I exit to multiuser mode, the boot process completes, mounting  
all partitions according to /etc/fstab, with the exception of / which  
is still mounted from da0s1a

I have the following entry in /boot/loader.conf:

geom_mirror_load="YES"


my /etc/fstab file is:

# Device                Mountpoint      FStype  Options          
Dump    Pass#
/dev/mirror/gm0s1b              none            swap     
sw              0       0
/dev/mirror/gm0s1a              /               ufs      
rw              1       1
/dev/mirror/gm0s1d              /var            ufs      
rw              2       2
/dev/mirror/gm0s1e              /tmp            ufs      
rw              2       2
/dev/mirror/gm0s1f              /usr            ufs      
rw              2       2
/dev/mirror/gm0s1g              /var/spool      ufs      
rw              2       2

the devices mounted after manually loading gmirror while in single  
user mode during the boot process are:

Filesystem         1K-blocks    Used     Avail Capacity  Mounted on
/dev/da0s1a           253734  158970     74466    68%    /
devfs                      1       1         0   100%    /dev
/dev/mirror/gm0s1d   1012974   33854    898084     4%    /var
/dev/mirror/gm0s1e    253678      12    233372     0%    /tmp
/dev/mirror/gm0s1f   2538478 1846726    488674    79%    /usr
/dev/mirror/gm0s1g   2502638      20   2302408     0%    /var/spool

/var/log/messages has these entries which show the problem with the  
drive being in use before gmirror attempts to include it:

May 16 15:58:19 kernel: Mounting root from ufs:/dev/da0s1a
May 16 15:58:19 kernel: GEOM_MIRROR: Device gm0 created (id=2862162848).
May 16 15:58:19 kernel: GEOM_MIRROR: Device gm0: provider da1 detected.
May 16 15:58:19 kernel: GEOM_MIRROR: Cannot add disk da0 to gm0  
(error=22).
May 16 15:58:19 kernel: GEOM_MIRROR: Force device gm0 start due to  
timeout.
May 16 15:58:19 kernel: GEOM_MIRROR: Device gm0: provider da1 activated.
May 16 15:58:19 kernel: GEOM_MIRROR: Device gm0: provider mirror/gm0  
launched.

I've been bashing my head on this for a couple of days, but I can't  
seem to get to the bottom of this.
I've tried adding the following entries in the kernel and recompiling:

options         GEOM_MIRROR
options         GEOM_LABEL

but the problem persists.

Am I missing something obvious? Any ideas?  Any other information I  
should include above?
Thanks,

Lapo Nustrini

Seanet Corporation
lapo@seanet.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F808F590-C71C-4A90-8876-435E927DEBD3>