Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Oct 2006 14:10:03 -0600
From:      Eric Anderson <anderson@centtech.com>
To:        "Rick C. Petty" <rick@kiwi-computer.com>
Cc:        freebsd-geom@freebsd.org
Subject:   Re: burnt again by gmirror
Message-ID:  <4547AD9B.5050503@centtech.com>
In-Reply-To: <20061031195442.GA55478@keira.kiwi-computer.com>
References:  <20061031195442.GA55478@keira.kiwi-computer.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10/31/06 13:54, Rick C. Petty wrote:
> A few days ago, one of my machines rebooted (6.2-PRERELEASE).  It's using
> gmirror, two SATA disks of equal model/size: ad4 & ad8.  Today I noticed
> ad4 was loaded and ad8 said 0% (using systat).  I tried:
> 
> # gmirror status
>       Name    Status  Components
> mirror/gm0  DEGRADED  ad4
> 
> # gmirror list
> Geom name: gm0
> State: DEGRADED
> Components: 2
> Balance: round-robin
> Slice: 4096
> Flags: NONE
> GenID: 1
> SyncID: 4
> ID: 793566958
> Providers:
> 1. Name: mirror/gm0
>    Mediasize: 320072932864 (298G)
>    Sectorsize: 512
>    Mode: r7w6e8
> Consumers:
> 1. Name: ad4
>    Mediasize: 320072933376 (298G)
>    Sectorsize: 512
>    Mode: r1w1e1
>    State: ACTIVE
>    Priority: 0
>    Flags: DIRTY
>    GenID: 1
>    SyncID: 4
>    ID: 3554825454
> 
> and noticed ad8 is not listed.  Wonderful.  A quick check that ad8 is
> indeed present:
> 
> # atacontrol list
> ATA channel 0:
>     Master:      no device present
>     Slave:       no device present
> ATA channel 1:
>     Master: acd0 <16X8 DVD DUAL/A070> ATA/ATAPI revision 5
>     Slave:       no device present
> ATA channel 2:
>     Master:  ad4 <WDC WD3200KS-00PFB0/21.00M21> Serial ATA II
>     Slave:       no device present
> ATA channel 3:
>     Master:      no device present
>     Slave:       no device present
> ATA channel 4:
>     Master:  ad8 <WDC WD3200KS-00PFB0/21.00M21> Serial ATA II
>     Slave:       no device present
> ATA channel 5:
>     Master:      no device present
>     Slave:       no device present
> 
> # atacontrol reinit ata4
> Master:  ad8 <WDC WD3200KS-00PFB0/21.00M21> Serial ATA II
> Slave:       no device present
> 
> As expected, but reiniting the channel doesn't attach ad8 to the mirror,
> because the disk is already there.  So I tried detach/attach of ata4 and
> noticed this in dmesg:
> 
> kernel: subdisk8: detached
> kernel: ad8: detached
> kernel: ad8: 305245MB <WDC WD3200KS-00PFB0 21.00M21> at ata4-master SATA300
> GEOM_MIRROR: Component ad8 (device gm0) broken, skipping.
> GEOM_MIRROR: Cannot add disk ad8 to gm0 (error=22).
> 
> I tried a few more things:
> 
> # gmirror rebuild gm0 ad8
> No such provider: ad8.
> 
> # gmirror insert gm0 ad8
> Not all disks connected.
> 
> # gmirror activate gm0 ad8
> 
> (in dmesg, the same GEOM_MIRROR errors showed up).  What is going on here?
> This was working just fine until my last reboot.  /var/run/dmesg.boot was
> empty, presumably because the msg buffer overran itself.  The error
> messages are misleading (assuming they are even remotely correct) and quite
> unhelpful.  Why didn't gmirror pick up the ad8 provider on startup?  Why
> does it think there's another, unconnected disk (which makes sense) but
> doesn't allow it to be re-attached?  Is there any way to have gmirror
> consume the ad8 provider?


You probably need to do a gmirror forget, then a gmirror remove (on 
ad8), then re-insert it.

gmirror probably kicked it out because of errors?

Eric


-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4547AD9B.5050503>