burnt again by gmirror

Eric Anderson anderson at centtech.com
Tue Oct 31 20:10:03 UTC 2006


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.
------------------------------------------------------------------------


More information about the freebsd-geom mailing list