Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jun 2008 00:31:11 +0200
From:      Volker <volker@vwsoft.com>
To:        Michael Harris <MichaelHarris@gmx.de>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: gmirror+gjournal: unable to boot after crash
Message-ID:  <486418AF.5000204@vwsoft.com>
In-Reply-To: <20080626113244.201570@gmx.net>
References:  <20080626113244.201570@gmx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/23/-58 20:59, Michael Harris wrote:
> Hi,
> 
> after one month with gmirror and gjournal running on a 7.0-RELEASE #p2 amd64 (built from latest CVS source), the box hung a couple of times when on high disk load. Finally, while building some port it won't boot for no reason obvious to me.
> 
> This is what I get with kernel.geom.mirror.debug=2:
> 
> ata2-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=40 wire
> ad4: 476940MB <SAMSUNG HD501LJ CR100-13> at ata2-master SATA300
> ad4: 976773168 sectors [969021C/16H/63S] 16 sectors/interrupt 1 depth queue
> GEOM: new disk ad4
> ad4: nVidia check1 failed
> ad4: Adaptec check1 failed
> ad4: LSI (v3) check1 failed
> GEOM_MIRROR[2]: Tasting ad4.
> ad4: LSI (v2) check1 failed
>      magic: GEOM::MIRROR
>    version: 4
>       name: gm0
>        mid: 2403671335
>        did: 1321347210
>        all: 2
>      genid: 0
>     syncid: 1
>   priority: 0
>      slice: 4096
>    balance: round-robin
>  mediasize: 500107861504
> sectorsize: 512
> syncoffset: 0
>     mflags: NONE
>     dflags: DIRTY
> hcprovider: 
>   provsize: 500107862016
>   MD5 hash: fd8b1cfa1aeb685da9b4228f5be3dc41
> GEOM_MIRROR[1]: Creating device gm0 (id=2403671335).
> GEOM_MIRROR[1]: Device gm0 created (2 components, id=2403671335).
> GEOM_MIRROR[1]: root_mount_hold 0xffffff0001318040
> GEOM_MIRROR[1]: Adding disk ad4 to gm0.
> GEOM_MIRROR[2]: Adding disk ad4.
> GEOM_MIRROR[2]: Disk ad4 connected.
> ad4: FreeBSD check1 failed
> GEOM_MIRROR[1]: Disk ad4 state changed from NONE to NEW (device gm0).
> GEOM_MIRROR[1]: Device gm0: provider ad4 detected.
> ata4-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=40 wire
> ad8: 476940MB <SAMSUNG HD501LJ CR100-13> at ata4-master SATA300
> ad8: 976773168 sectors [969021C/16H/63S] 16 sectors/interrupt 1 depth queue
> GEOM_MIRROR[2]: Tasting ad4s1.
> GEOM_MIRROR[2]: Tasting ad4a.
> GEOM_MIRROR[2]: Tasting ad4c.
> GEOM: new disk ad8
> ad8: nVidia check1 failed
> ad8: Adaptec check1 failed
> ad8: LSI (v3) check1 failed
> GEOM_MIRROR[2]: Tasting ad8.
> ad8: LSI (v2) check1 failed
>      magic: GEOM::MIRROR
>    version: 4
>       name: gm0
>        mid: 2403671335
>        did: 3638214596
>        all: 2
>      genid: 0
>     syncid: 1
>   priority: 0
>      slice: 4096
>    balance: round-robin
>  mediasize: 500107861504
> sectorsize: 512
> syncoffset: 0
>     mflags: NONE
>     dflags: NONE
> hcprovider: 
>   provsize: 500107862016
>   MD5 hash: 6a44a256f5a29312f9632d22785dadce
> GEOM_MIRROR[1]: Adding disk ad8 to gm0.
> GEOM_MIRROR[2]: Adding disk ad8.
> GEOM_MIRROR[2]: Disk ad8 connected.
> GEOM_MIRROR[1]: Disk ad8 state changed from NONE to NEW (device gm0).
> GEOM_MIRROR[1]: Device gm0: provider ad8 detected.
> GEOM_MIRROR[1]: Device gm0 state changed from STARTING to RUNNING.
> GEOM_MIRROR[1]: Disk ad8 state changed from NEW to ACTIVE (device gm0).
> ad8: FreeBSD check1 failed
> GEOM_MIRROR[2]: Metadata on ad8 updated.
> GEOM_MIRROR[1]: Device gm0: provider ad8 activated.
> GEOM_MIRROR[1]: Disk ad4 state changed from NEW to SYNCHRONIZING (device gm0).
> GEOM_MIRROR[0]: Device mirror/gm0 launched (1/2).
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w0e0.
> GEOM_MIRROR[0]: Device gm0: rebuilding provider ad4.
> GEOM_MIRROR[1]: root_mount_rel[2379] 0xffffff0001318040
> ata5-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=40 wire
> ad10: 476940MB <Seagate ST3500841AS 3.AAJ> at ata5-master SATA300
> ad10: 976773168 sectors [969021C/16H/63S] 16 sectors/interrupt 1 depth queue
> ad10: nVidia check1 failed
> ad10: Adaptec check1 failed
> GEOM_MIRROR[2]: Tasting ad8s1.
> GEOM_MIRROR[2]: Tasting ad8a.
> GEOM_MIRROR[2]: Tasting ad8c.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w0e0.
> ad10: LSI (v3) check1 failed
> GEOM_MIRROR[2]: Access request for mirror/gm0: r-1w0e0.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w0e0.
> ad10: LSI (v2) check1 failed
> GEOM_MIRROR[2]: Access request for mirror/gm0: r-1w0e0.
> GEOM_JOURNAL: Journal 2550245011: mirror/gm0 contains data.
> GEOM_JOURNAL: Journal 2550245011: mirror/gm0 contains journal.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w1e1.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w0e0.
> ad10: FreeBSD check1 failed
> GEOM_MIRROR[2]: Access request for mirror/gm0: r-1w0e0.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w0e0.
> ATA PseudoRAID loaded
> GEOM_MIRROR[2]: Access request for mirror/gm0: r-1w0e0.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r1w0e0.
> GEOM_MIRROR[2]: Access request for mirror/gm0: r-1w0e0.
> GEOM: new disk ad10
> GEOM_MIRROR[2]: Tasting mirror/gm0s1.
> GEOM_MIRROR[2]: Tasting mirror/gm0a.
> GEOM_MIRROR[2]: Tasting mirror/gm0c.
> GEOM_MIRROR[2]: Tasting ad10.
> GEOM_MIRROR[2]: Tasting ad10s1.
> GEOM_MIRROR[2]: Tasting ad10s1a.
> GEOM_MIRROR[2]: Tasting ad10s1c.
> Trying to mount root from ufs:/dev/mirror/gm0.journals1a
> 
> Manual root filesystem specification:
>   <fstype>:<device>  Mount <device> using filesystem <fstype>
>                        eg. ufs:da0s1a
>   ?                  List valid disk boot devices
>   <empty line>       Abort manual input
> 
> mountroot> 
> 

This line:
> Trying to mount root from ufs:/dev/mirror/gm0.journals1a
does not look very promising. Have you really created a journaling geom
provider and created bsd partitions in it?

> The 3rd boot loader lists directories.

boot1/2 is accessing the device under BIOS control and does not know
anything GEOM like, so as long as the boot device / boot-fs can be
figured out and the on-disk filesystem structure is valid, it can list
files.

> Any idea how this could be fixed via a remote serial line? Any chance to boot this without GEOM?

If I got it right, you've done something really, really bad while
organizing your disk / filesystem layout. If I'm not mistaken with that
assumption, I don't see much hope to get the system up by a remote
console only.

At least, you may try to see if you're able to mount root from
"ufs:adXs1a" (assuming root is at S/ATA disk 0, first slice) and get it
at least into single user mode. You may also want to try to unload geom
modules at the loader prompt.

You should try to safe your valuable data, fix your disk partitioning as
soon as you're able to get single user access again (again, if I'm not
mistaken while assuming you've created partitions within the journaling
provider).

Volker




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?486418AF.5000204>