From owner-freebsd-stable Fri Jan 25 15:51:40 2002 Delivered-To: freebsd-stable@freebsd.org Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.80]) by hub.freebsd.org (Postfix) with ESMTP id 16E9237B417 for ; Fri, 25 Jan 2002 15:51:07 -0800 (PST) Received: by wantadilla.lemis.com (Postfix, from userid 1004) id 47719782FC; Sat, 26 Jan 2002 10:20:58 +1030 (CST) Date: Sat, 26 Jan 2002 10:20:58 +1030 From: Greg Lehey To: Martin Blapp Cc: freebsd-stable@FreeBSD.org Subject: Re: double fault with vinum and 4.5 RC3 Message-ID: <20020126102058.U4778@wantadilla.lemis.com> References: <20020125131225.E4778@wantadilla.lemis.com> <20020125151124.O58067-100000@levais.imp.ch> <20020125131225.E4778@wantadilla.lemis.com> <20020125134718.I58067-100000@levais.imp.ch> <20020125131225.E4778@wantadilla.lemis.com> <20020125111624.S47234-100000@levais.imp.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020125151124.O58067-100000@levais.imp.ch> <20020125134718.I58067-100000@levais.imp.ch> <20020125111624.S47234-100000@levais.imp.ch> User-Agent: Mutt/1.3.23i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Friday, 25 January 2002 at 11:38:31 +0100, Martin Blapp wrote: > > Hi, > > Here is the config, before I exchanged da0 with a raw disk. > > # Vinum configuration of , saved at Fri Jan 25 09:44:32 2002 > drive vinumdrive0 device /dev/da0e > drive vinumdrive1 device /dev/da1e > drive vinumdrive2 device /dev/da0f > drive vinumdrive3 device /dev/da1f > drive vinumdrive4 device /dev/da0g > drive vinumdrive5 device /dev/da1g You still haven't explained why you're doing this. > I guess I know what makes the trouble. To be able to boot ! !? > from da0, which also has a root partition on it, I changed SCSI > ID's, so my old da1 got da0. And vinum cannot deal with this. Yes, it can. > I really should be able to tell vinum that vinumdrive1 is indead > vinumdrive2, since the device ordering has changed. It does this automatically. > But I really do not want to restore my root partition from backup, > if I still have a working cold mirror. That is nonsense. It would be nonsense, but it's incorrect. >> vinum list? > > eblcom# vinum list > 3 drives: > D vinumdrive1 State: up Device /dev/da0s1e Avail: 0/1024 MB > D vinumdrive3 State: up Device /dev/da0s1f Avail: 0/6144 MB > D vinumdrive5 State: up Device /dev/da0s1g Avail: 0/22712 MB > D vinumdrive0 State: referenced Device Avail: 0/0 MB > D vinumdrive2 State: referenced Device Avail: 0/0 MB > D vinumdrive4 State: referenced Device Avail: 0/0 MB OK, da1 is gone away. > It seems to me that reviveing the mirrors does not work as supposed. You need a disk first. > By the way. I found the command which made such problems: > > have a configfile like such: > > # cat /root/configfile > drive vinumdrive0 device /dev/da1e > drive vinumdrive2 device /dev/da1f > drive vinumdrive4 device /dev/da1g > > and execute > > vinum create /root/configfile twice ! makes STABLE 4.5RC3 crashing > with a double fault. I guess we should fix that. I'm makeing now a > debug kernel. OK, this bears investigation. > If I try to take the configfile as described above, from the > original creation, I get vinum hanging and get unkillable, or I get > a segfault from vinum. (Both happened) OK, let's see the dumps. On Friday, 25 January 2002 at 13:59:32 +0100, Martin Blapp wrote: > > I've found now a way to work around this vinum limitation. > It seems that a vinum mirror is not able to handle this case: > > Crash of the "Master disk", "Slave Disk becomes Master instead, > and we boot the Slave Disk as Master. There's no such thing as a master or a slave disk in Vinum. > I had to do the following steps: > > 1) Reboot > 1) Change SCSI ID's. ID1 > ID2, ID2 > ID1 This is not necssary. > 3) Boot up the previous SLAVE disk into SUM > 4) Partition da1 the same as da0 > 5) Disklabel da1 the same way as da0 > 6) dd bs=4096k if=/dev/da0a of=/dev/da1a > 7) reboot > 8) Change SCSI ID's. ID2 > ID1, ID1 > ID2 > 9) Boot up the previous SLAVE disk into SUM > 10) echo "drive vinumdrive0 device /dev/da0e" > configfile > echo "drive vinumdrive2 device /dev/da0f" >> configfile > echo "drive vinumdrive4 device /dev/da0g" >> configfile > 11) vinum start > 12) vinum start vinumdrive0 > 13) vinum start vinumdrive2 > 14) vinum start vinumdrive4 > 15) vinum stop > 16) vinum start var.p0.s0 > 17) vinum start docsis.p0.s0 > 18) vinum start docsisvar.p0.s0 > > And then vinum gets happy and rebuilds. Most of what you have done there is irrelevant. > The only difference here is that we have to reboot and change SCSI > ID's twice, instead of only one time. You don't need to change them at all. On Friday, 25 January 2002 at 15:14:37 +0100, Martin Blapp wrote: > > Hi Greg, > > Does this look reasonable now ? (I Included my workaround for the > vinum double fault panic problem.) No. It's all based on a misunderstanding of how Vinum works. I'll wait for the dumps of the situations you show above. We should also check the hangs. Greg -- See complete headers for address and phone numbers To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message