Date: Sun, 20 Mar 2005 05:30:07 GMT From: "Greg 'groggy' Lehey" <grog@FreeBSD.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/79035: gvinum unable to create a striped set of mirrored sets/plexes Message-ID: <200503200530.j2K5U7tW002558@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/79035; it has been noted by GNATS. From: Greg 'groggy' Lehey <grog@FreeBSD.org> To: Sven Willenberger <sven@dmv.com> Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: kern/79035: gvinum unable to create a striped set of mirrored sets/plexes Date: Sun, 20 Mar 2005 15:51:33 +1030 --oj4kGyHlBMXGt3Le Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Saturday, 19 March 2005 at 23:43:00 -0500, Sven Willenberger wrote: > Greg 'groggy' Lehey presumably uttered the following on 03/19/05 22:11: >> On Sunday, 20 March 2005 at 2:04:34 +0000, Sven Willenberger wrote: >> >>> 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. >> >> No, this is not correct. The plex ("set") only fails when all drives >> in it fail. > > I hope the following diagrams better illustrate what I was trying to > point out. Data striped across all the A's and that is mirrored to the B > Stripes: > > ... > > If A1 fails, then the A Stripe set cannot function (much like in Raid 0, > one disk fails the set) meaning that B now is the array: No, this is not correct. >>> 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. >> >> No, you're misunderstanding the current implementation. > > Perhaps I am ... but unless gvinum somehow reconstructs a 3 disk stripe > into a 2 disk stripe in the event one disk fails, I am now sure how. Well, you have the source code. It's not quite the way you look at it. It doesn't have stripes: it has plexes. And they can be incomplete. If a read to a plex hits a "hole", it automatically retries via (possibly all) the other plexes. Only when all plexes have a hole in the same place does the transfer fail. You might like to (re)read http://www.vinumvm.org/vinum/intro.html. Greg -- See complete headers for address and phone numbers. --oj4kGyHlBMXGt3Le Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFCPQhdIubykFB6QiMRAmrSAJ9c1s3Hclp/mQUU+YIenXXLgA/ViACgg/uZ sg//WXGWNor/Yho5ZDhIFjQ= =z4NN -----END PGP SIGNATURE----- --oj4kGyHlBMXGt3Le--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503200530.j2K5U7tW002558>