vinum question: how could one correctly "disassemble" vinum volumes?

Dmitry Morozovsky marck at rinet.ru
Sun Nov 2 00:24:40 PST 2003


On Sun, 2 Nov 2003, Greg Lehey wrote:

GL> On Friday, 31 October 2003 at 15:41:42 +0300, Dmitry Morozovsky wrote:
GL> > Dear colleagues,
GL> >
GL> > [I'm under 4-STABLE]
GL> >
GL> > What is the correct sequence to delete existing vinum module (for example,
GL> > raid10) and do *not* use -f flags for vinum?
GL>
GL> I think your terminology is incorrect.  To delete an existing Vinum
GL> module under release 4, you would normally do:

Urgh. Yeah, sure, something clouden my mind: s/module/volume/g of course ;-)
But not only, see below.

GL> > in my case t is raid10 vovume:
GL> >
GL> > vinum -> l -r t
GL> > V t                     State: up       Plexes:       2 Size:       8191 MB
GL> > P t.p0                S State: up       Subdisks:     2 Size:       8191 MB
GL> > P t.p1                S State: up       Subdisks:     2 Size:       8191 MB
GL> > S t.d0                  State: up       PO:        0  B Size:       4095 MB
GL> > S t.d8                  State: up       PO:      260 kB Size:       4095 MB
GL> > S t.d2                  State: up       PO:        0  B Size:       4095 MB
GL> > S t.d10                 State: up       PO:      260 kB Size:       4095 MB
GL>
GL> These subdisk names are very confusing.

They are temporary, suffixes are derived from ata disk numbers, and I do *NOT*
plan to use such names in production -- just for testing (made
attaching/detaching a bit easier)

GL> > umount /dev/vinum/t
GL> > vinum stop t (ok)
GL> > vinum stop t.p0 <- this operation silently puts t up, and sets t.p0 faulty

This is my main question. Why *stopping* object (plex) puts aggregate object
(volume) up silently, and finishes without an error? Seems lika a bug for me...

GL> > vinum stop t (ok)
GL> > vinum stop t.p1
GL> >
GL> > Last comment leads to error
GL> >
GL> > Can't stop t.p1: Device busy (16)
GL>
GL> Why do you want to stop a plex?

To _correctly_ (without -f and without harm to other objects in volume) detach
plex from volume.

GL> > Final state of objects are
GL> >
GL> > vinum -> l -r t
GL> > V t                     State: down     Plexes:       2 Size:       8191 MB
GL> > P t.p0                S State: faulty   Subdisks:     2 Size:       8191 MB
GL> > P t.p1                S State: up       Subdisks:     2 Size:       8191 MB
GL> > S t.d0                  State: down     PO:        0  B Size:       4095 MB
GL> > S t.d8                  State: down     PO:      260 kB Size:       4095 MB
GL> > S t.d2                  State: up       PO:        0  B Size:       4095 MB
GL> > S t.d10                 State: up       PO:      260 kB Size:       4095 MB
GL> >
GL> > Any suggestions? should I dig into vinum sources to track this down?
GL>
GL> Well, I think you know the answer: use the -f flag.  But maybe I'm
GL> misunderstanding the question.

And I did failed to specify what I think, sorry ;-)))

Parallel/aggregate question: let's assume we have raid10 volume, hence 4 sd's:
volume v
 plex org striped 260k
  sd drive a
  sd drive b
 plex org striped 260k
  sd drive c
  sd drive d

Is there procedure to rearrange subdisks in v (surely, stopping volume and
re-newfs'ing required) to made raid0 volume *without* using -f (well, not
exactly, as you can not attach sd to striped plex without it)? For me, it
would be logical to:
 stop v
 stop v.p0
 stop v.p1
 detach v.p1.s0
 detach v.p1.s1
 attach -f v.p.s0 v.p0 rename
 attach -f v.p.s1 v.p0 rename

Comments?

Anyway, thank you very much for cooperation.

Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------


More information about the freebsd-stable mailing list