From owner-freebsd-hackers Sat Jun 26 21:27:56 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from allegro.lemis.com (allegro.lemis.com [192.109.197.134]) by hub.freebsd.org (Postfix) with ESMTP id 39AA814C20 for ; Sat, 26 Jun 1999 21:27:50 -0700 (PDT) (envelope-from grog@freebie.lemis.com) Received: from freebie.lemis.com (freebie.lemis.com [192.109.197.137]) by allegro.lemis.com (8.9.1/8.9.0) with ESMTP id NAA11915; Sun, 27 Jun 1999 13:57:43 +0930 (CST) Received: (from grog@localhost) by freebie.lemis.com (8.9.3/8.9.0) id NAA86262; Sun, 27 Jun 1999 13:57:36 +0930 (CST) Date: Sun, 27 Jun 1999 13:57:36 +0930 From: Greg Lehey To: "Jordan K. Hubbard" Cc: Matthew Dillon , Aaron Smith , freebsd-hackers@FreeBSD.ORG Subject: Simplifying Vinum (was: ufs/ffs resize?) Message-ID: <19990627135736.F427@freebie.lemis.com> References: <19990626113635.Y427@freebie.lemis.com> <69539.930380030@zippy.cdrom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4i In-Reply-To: <69539.930380030@zippy.cdrom.com>; from Jordan K. Hubbard on Fri, Jun 25, 1999 at 11:53:50PM -0700 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Friday, 25 June 1999 at 23:53:50 -0700, Jordan K. Hubbard wrote: >> I agree with the approach. But why write a simplistic volume manager >> when we already have vinum? > > vinum is far from simplistic, but I suppose it might also do. :) > > Still, it would someday be nice if you could use vinum as the very > powerful swiss-army knife that it currently is OR as a dull axe to > simply concatenate, ala ccd, n partitions together in some extremely > straight-forward fashion. That is to say, instead of having to think > about subdisks on plexes on foxes on clockses (sorry Dr. Seuss) when all > you wanted to do is whack some space together in a simple and obvious way, > you could say something like "vinum -C /dev/wd0s1a /dev/sd1s2 /dev/sd2" > in order to concatenate wd0/slice 1/partition a, sd1/all of slice 2, > and all of drive sd2 together. vinum would choose the volume name itself > and return it, from this it being possible to contrive the device pathname > for newfs and mount. Well, that's an interesting viewpoint. It's not Vinum, of course, that we need to change, just the control program. > One might then logically assume the next step would be trivial insertion > and deletion options, like: > > vinum -i /dev/something volumename > > to insert a new partition into existing volume volumename and > > vinum -d /dev/something volumename > > to delete /dev/something from volumename, assuming that it's found > in that volume. I guess while I'm dreaming, you could use -M to > also create trivial mirror sets and -i and -d could act on those > as well. :) I think you'll find, once you get that far, that things are anything but trivial. I'm certainly open to suggestions, but consider: vinum -i /dev/something volumename Where does it insert it? What if the volume has more than one plex, which it will in the case of a mirror? I'm not saying that this can't be done, but one of the reasons for the relatively formal way that Vinum does things is precisely to make it more difficult to make misassumptions. > Lest anyone get the wrong idea, let me also hastily note here that I'm > not trying to suggest that vinum should shed functionality or become > dumbed-down - the current amount of flexibility is good and probably > in full accord with "the unix way" insofar as I understand vinum's > operation. :) Yes, I think I understand that relatively well. > It's also more than a little indimidating to new users, however, > many of whom only want to use it for the most simplistic scenarios > anyway. Some big dials to go with all the small dials can't hurt, > can it? :) Not if they're done well. I'm open to suggestions. Here are couple of possibilities: add commands "cat", "stripe" and "mirror": vinum cat /dev/da1h /dev/da2h vinum stripe /dev/da1h /dev/da2h /dev/da3h /dev/da4h vinum mirror /dev/da1h /dev/da2h vinum mirror /dev/da1h /dev/da2h /dev/da3h /dev/da4h The first one would take the drives and create a concatenated volume out of them. The second would do the same thing but make a striped volume. The third would make a simple concatenated mirror, and the fourth... yes, what about the fourth? Four plexes, each of one volume? Two plexes, each concatenating two drives? You tell me. And what about the names? It seems tacky to have to write down the name that Vinum chooses. How about adding a name parameter, either implicitly or explicitly? For example, vinum cat myvol /dev/da1h /dev/da2h vinum cat -n myvol /dev/da1h /dev/da2h Greg -- See complete headers for address, home page and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message