linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Gopala Krishna <gopalakrishna.n.m@gmail.com>
To: linux-lvm@redhat.com
Subject: [linux-lvm] Few doubts related to LVM 2 striping
Date: Fri, 16 Oct 2009 11:13:19 +0530	[thread overview]
Message-ID: <d711080c0910152243n78b7c17dycf1f0f7ee8067fb9@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4299 bytes --]

Hi,
I would like to know little more details on how LV stripe is spreadout on
available devices in a VG.

I have created a logical volume and the lvdisplay -v -m output is shown
below. From this out put no information about the stripes spread out. it is
giving column information but it is not giving where each stripe lies.

Look at the lvdisplay output  below. I have created VG with default PE size
of 4 MB and then created striped LV of stripe width 4 KB.

root:~ # lvdisplay -v -m /dev/vg1/lv1
    Using logical volume(s) on command line
  --- Logical volume ---
  LV Name                /dev/vg1/lv1
  VG Name                vg1
  LV UUID                wIwIAU-Lq8J-Cva9-0eyb-fECN-h5TS-nrMUMu
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                1008.00 MB
  Current LE             252
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:7
  --- Segments ---
  Logical extent 0 to 251:
    Type                striped
    Stripes             3
    Stripe size         4 KB
    Stripe 0:
      Physical volume   /dev/sdm
      Physical extents  0 to 83
    Stripe 1:
      Physical volume   /dev/sdl
      Physical extents  0 to 83
    Stripe 2:
      Physical volume   /dev/sdk
      Physical extents  0 to 83


Here the stripe stripe width is 4 KB and there are 3 stripe columns. I would
like to know how each stripe width is distributed. does it distributed round
robin fashion among the devices or anything else? Above output gives only
column information. Is there any command or an option I can use to get to
know more on stripes spreadout?

For example, in above case, LE/PE size is 4 MB(look at the vgdisplay output
shown below)

So my question is:
 does the stripe spreads out as follow?
first 4 KB (stripe width) sits on /dev/sdm, PE 0 and next 4 KB on /dev/sdl
andPE 0 and 3 rd stripe gets in to 0 th PE of /dev/sdk and then again this
process repeates and start occypying 0 th PE of /dev/sdm and so on. When it
finishes with 0 th PE (4 MB)  of each device, then corresponding stripe
occupies .

Following is a representation of above statement:

stripe-1           PE: 0    /dev/sdm
stripe-2           PE:0    /dev/sdl
stripe-3           PE:0    /dev/sdk
stripe-4           PE:0    /dev/sdm
stripe-5           PE:0    /dev/sdl
;
;
stripe-xx         PE:1   /dev/sdm
stripe-xx+1     PE:1   /dev/sdl
stripe-XX+2     PE:1   /dev/sdk
stripe-xx+3     PE:1   /dev/sdm


OR

First few sets of 4 KB  stripes (i.e PE size/ stripe width) occupies
/dev/sdm and next set of stripes /dev/sdl and then /dev/sdk and comes back
to /dev/sdm. i.e it continuously writes so many stripes to align to PE size.


Following is a representation of above statement:
stripe-1      PE:0     /dev/sdm
stripe-2      PE:0     /dev/sdm
;
stripe-x      PE:0    /dev/sdm

stripe-x+1  PE:0 /dev/sdl
stripe-X+2  PE:0 /dev/sdl
;
;
stripe-y     PE:0  /dev/sdl

stripe-y+1  PE:0  /dev/sdk
;
stripe-z      PE:0  /dev/sdk

stripe-z+1  PE:1  /dev/sdm           (repeates with physical extent of each
device)
stripe-Z+2  PE:1  /dev/sdm
;
;

i.e stripes are going to occupy on the device until at least 1 PE is fulll
before mnoving to next device.

OR
Does it something different from both of these. If so how to identify where
exactly particular stripe of data lies on which disk of the VG. Is there any
command or metadata dump or debug info where I can get those information?

Please let me know. Thanks for your time.

Thanks,
Gopal.


====================vgdisplay output====
spea64:~ # vgdisplay -v /dev/vg1
    Using volume group(s) on command line
    Finding volume group "vg1"
  --- Volume group ---
  VG Name               vg1
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               1.94 GB
  PE Size               4.00 MB
  Total PE              496
  Alloc PE / Size       252 / 1008.00 MB
  Free  PE / Size       244 / 976.00 MB
  VG UUID               dp2pO1-qqNQ-BRrM-jrZ8-zkbo-y7OF-CgS5eo

[-- Attachment #2: Type: text/html, Size: 5428 bytes --]

                 reply	other threads:[~2009-10-16  5:43 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d711080c0910152243n78b7c17dycf1f0f7ee8067fb9@mail.gmail.com \
    --to=gopalakrishna.n.m@gmail.com \
    --cc=linux-lvm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).