<div>Hi,</div>
<div>I would like to know little more details on how LV stripe is spreadout on available devices in a VG.</div>
<div> </div>
<div>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.</div>

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

<div> </div>
<div>For example, in above case, LE/PE size is 4 MB(look at the vgdisplay output shown below)</div>
<div> </div>
<div>So my question is:</div>
<div> does the stripe spreads out as follow?</div>
<div>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 .</div>

<div> </div>
<div>Following is a representation of above statement:</div>
<div> </div>
<div>stripe-1           PE: 0    /dev/sdm</div>
<div>stripe-2           PE:0    /dev/sdl</div>
<div>stripe-3           PE:0    /dev/sdk</div>
<div>stripe-4           PE:0    /dev/sdm</div>
<div>stripe-5           PE:0    /dev/sdl</div>
<div>;</div>
<div>;</div>
<div>stripe-xx         PE:1   /dev/sdm</div>
<div>stripe-xx+1     PE:1   /dev/sdl</div>
<div>stripe-XX+2     PE:1   /dev/sdk</div>
<div>stripe-xx+3     PE:1   /dev/sdm</div>
<div> </div>
<div> </div>
<div>OR</div>
<div> </div>
<div>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.</div>

<div> </div>
<div> </div>
<div>Following is a representation of above statement:</div>
<div>stripe-1      PE:0     /dev/sdm</div>
<div>stripe-2      PE:0     /dev/sdm</div>
<div>;</div>
<div>stripe-x      PE:0    /dev/sdm</div>
<div> </div>
<div>stripe-x+1  PE:0 /dev/sdl</div>
<div>stripe-X+2  PE:0 /dev/sdl</div>
<div>;</div>
<div>;</div>
<div>stripe-y     PE:0  /dev/sdl</div>
<div> </div>
<div>stripe-y+1  PE:0  /dev/sdk</div>
<div>;</div>
<div>stripe-z      PE:0  /dev/sdk</div>
<div> </div>
<div>stripe-z+1  PE:1  /dev/sdm           (repeates with physical extent of each device)</div>
<div>stripe-Z+2  PE:1  /dev/sdm</div>
<div>;</div>
<div>;</div>
<div> </div>
<div>i.e stripes are going to occupy on the device until at least 1 PE is fulll before mnoving to next device.</div>
<div> </div>
<div>OR</div>
<div>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?</div>

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