From owner-freebsd-geom@FreeBSD.ORG Tue Oct 31 20:10:03 2006 Return-Path: X-Original-To: freebsd-geom@freebsd.org Delivered-To: freebsd-geom@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A65F316A417 for ; Tue, 31 Oct 2006 20:10:03 +0000 (UTC) (envelope-from anderson@centtech.com) Received: from mh1.centtech.com (moat3.centtech.com [64.129.166.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 49E2943D66 for ; Tue, 31 Oct 2006 20:10:03 +0000 (GMT) (envelope-from anderson@centtech.com) Received: from [10.177.171.220] (neutrino.centtech.com [10.177.171.220]) by mh1.centtech.com (8.13.8/8.13.8) with ESMTP id k9VKA0bO028069; Tue, 31 Oct 2006 14:10:00 -0600 (CST) (envelope-from anderson@centtech.com) Message-ID: <4547AD9B.5050503@centtech.com> Date: Tue, 31 Oct 2006 14:10:03 -0600 From: Eric Anderson User-Agent: Thunderbird 1.5.0.7 (X11/20061015) MIME-Version: 1.0 To: "Rick C. Petty" References: <20061031195442.GA55478@keira.kiwi-computer.com> In-Reply-To: <20061031195442.GA55478@keira.kiwi-computer.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.88.4/2133/Tue Oct 31 04:42:29 2006 on mh1.centtech.com X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=8.0 tests=AWL,BAYES_00 autolearn=ham version=3.1.6 X-Spam-Checker-Version: SpamAssassin 3.1.6 (2006-10-03) on mh1.centtech.com Cc: freebsd-geom@freebsd.org Subject: Re: burnt again by gmirror X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 20:10:03 -0000 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 Serial ATA II > Slave: no device present > ATA channel 3: > Master: no device present > Slave: no device present > ATA channel 4: > Master: ad8 Serial ATA II > Slave: no device present > ATA channel 5: > Master: no device present > Slave: no device present > > # atacontrol reinit ata4 > Master: ad8 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 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. ------------------------------------------------------------------------