From owner-freebsd-bugs@FreeBSD.ORG Sun Mar 20 02:10:02 2005 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 61B1716A4CE for ; Sun, 20 Mar 2005 02:10:02 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id EBA2C43D1D for ; Sun, 20 Mar 2005 02:10:01 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j2K2A1xs074530 for ; Sun, 20 Mar 2005 02:10:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j2K2A17J074529; Sun, 20 Mar 2005 02:10:01 GMT (envelope-from gnats) Resent-Date: Sun, 20 Mar 2005 02:10:01 GMT Resent-Message-Id: <200503200210.j2K2A17J074529@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Sven Willenberger Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 37E7E16A4CE for ; Sun, 20 Mar 2005 02:04:35 +0000 (GMT) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id E509343D1F for ; Sun, 20 Mar 2005 02:04:34 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id j2K24Yo1056483 for ; Sun, 20 Mar 2005 02:04:34 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id j2K24YVV056482; Sun, 20 Mar 2005 02:04:34 GMT (envelope-from nobody) Message-Id: <200503200204.j2K24YVV056482@www.freebsd.org> Date: Sun, 20 Mar 2005 02:04:34 GMT From: Sven Willenberger To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Subject: kern/79035: gvinum unable to create a striped set of mirrored sets/plexes X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Mar 2005 02:10:02 -0000 >Number: 79035 >Category: kern >Synopsis: gvinum unable to create a striped set of mirrored sets/plexes >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Mar 20 02:10:01 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Sven Willenberger >Release: 5-STABLE >Organization: >Environment: FreeBSD ncorp-mail.dmv.com 5.4-PRERELEASE FreeBSD 5.4-PRERELEASE #0: Thu Mar 10 03:53:34 EST 2005 svenw@ncorp-mail.dmv.com:/usr/obj/usr/src/sys/CORPMAIL i386 >Description: Under the current implementation of gvinum it is possible to create a mirrored set of striped plexes but not a striped set of mirrored plexes. For purposes of resiliency the latter configuration is preferred as illustrated by the following example: Use 6 disks to create one of 2 different scenarios. 1) Using the current abilities of gvinum create 2 striped sets using 3 disks each: A1 A2 A3 and B1 B2 B3 then create a mirror of those 2 sets such that A(123) mirrors B(123). In this situation if any drive in Set A fails, one still has a working set with Set B. If any drive now fails in Set B, the system is shot. 2) Using the proposed added ability to create 3 mirror sets A1 and B1, A2 and B2, A3 and B3. Now create a stripe set across all three mirrors. Now we can have a situation where one of the "A" drives fail (for example A1). Then we can also have one of the "B" drives fail and, as long as it is not "B1" in this case, we still have a functioning array. Thus the striping of mirrors (rather than a mirror of striped sets) is a more resilient and fault-tolerant setup of a multi-disk array. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: