GuestbookSign our guestbook ContactGet in touch with the authors ArchiveAll unixwerk articles since 2003
June 25, 2012

MiniTip: Convert a Standard VG to Big VG Format

 

Contents

  1. Introduction
  2. Convert to Big VG Format

 

1. Introduction

For new volume groups I strongly recommend to only use scalable VGs with a physical partition size of 32.

But if you have a legacy system with old standard volume groups and you need to integrate new LUNs of a substantially bigger size you might run into a problem for two reasons:

  • the number of physical partitons per physical volume is too small
  • the number of maximum physical volumes in the volume group is reached.

    The first problem can be solved by increasing the maximum PPs per PV with the t factor. But the same time you increase  the number of physical partitions per physical volume you decrease  the number of physical volumes per volume group by the same factor.

    But it is possible to convert a standard volume group to big VG format while all logical volume remain online. The number of physical volumes in big VGs is four times higher than in standard VGs.

     

    2. Convert to Big VG Format

    To convert a standard VG to big VG format every physical volume in the volume group needs at least one free physical partiton. The volume group myvg contains 4 physical volumes with no free partitons left:

    # lsvg -p myvg                                                           
    myvg:
    PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
    vpath68           active            607         16          00..00..00..00..15
    vpath69           active            607         16          00..00..00..00..15
    vpath82           active            607         16          00..00..00..00..15
    vpath83           active            607         16          00..00..00..00..16
    vpath80           active            607         0           00..00..00..00..00
    vpath81           active            607         0           00..00..00..00..00
    vpath84           active            607         0           00..00..00..00..00
    vpath85           active            607         0           00..00..00..00..00
    

    Conclusion: The first physical partition of vpath80, vpath81, vpath84, and vpath85 have to be moved to vpath68, vpath69, vpath82/, and vpath83 respectively. To find the affected logical volumes we check disk by disk for the logical volume residing on the first PP:

    # lspv -l vpath80
    vpath80:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    lv01                  593     593     122..120..121..121..109 /oracle/data01
    lv02                  13      13      00..00..00..00..13    /oracle/data02
    loglv01               1       1       00..01..00..00..00    N/A
    
    # lspv -l vpath81
    vpath81:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    lv01                  595     595     122..121..121..121..110 /oracle/data01
    lv02                  12      12      00..00..00..00..12    /oracle/data02
    
    # lspv -l vpath84
    vpath84:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    lv01                  595     595     122..121..121..121..110 /oracle/data01
    lv02                  12      12      00..00..00..00..12    /oracle/data02
    
    # lspv -l vpath85
    vpath85:
    LV NAME               LPs     PPs     DISTRIBUTION          MOUNT POINT
    lv01                  595     595     122..121..121..121..110 /oracle/data01
    lv02                  12      12      00..00..00..00..12    /oracle/data02
    

    Conclusion: Affected LV is lv01. To find the logical partitions to be migrated we look for physical partiton '0001' on each disk...

    # lslv -m lv01 | grep -w 0001 | egrep '(vpath80|vpath81|vpath84|vpath85)'
    0001  0123 vpath81           
    0968  0001 vpath80           
    0969  0001 vpath81           
    0970  0001 vpath84           
    0971  0001 vpath85           
    

    ...and start the migration using migratelp:

    # migratelp lv01/968 vpath68
    0516-1291 migratelp: Mirror copy 1 of logical partition 968 of logical volume
            lv01 migrated to physical partition 592 of vpath68.
    
    # migratelp lv01/969 vpath69
    0516-1291 migratelp: Mirror copy 1 of logical partition 969 of logical volume
            lv01 migrated to physical partition 592 of vpath69.
    
    # migratelp lv01/970 vpath82
    0516-1291 migratelp: Mirror copy 1 of logical partition 970 of logical volume
            lv01 migrated to physical partition 592 of vpath82.
    
    # migratelp lv01/971 vpath83                                             
    0516-1291 migratelp: Mirror copy 1 of logical partition 971 of logical volume
            lv01 migrated to physical partition 592 of vpath83.
    

    Checking...

    # lsvg -p myvg                                                               
    myvg:
    PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
    vpath68           active            607         15          00..00..00..00..15
    vpath69           active            607         15          00..00..00..00..15
    vpath82           active            607         15          00..00..00..00..15
    vpath83           active            607         15          00..00..00..00..15
    vpath80           active            607         1           01..00..00..00..00
    vpath81           active            607         1           01..00..00..00..00
    vpath84           active            607         1           01..00..00..00..00
    vpath85           active            607         1           01..00..00..00..00
    

    Finally we are ready to migrate the volume group to big VG format.

    # chvg -B myvg
    0516-1164 chvg: Volume group myvg changed.  With given characteristics myvg
            can include up to 128 physical volumes with 1016 physical partitions each.
    

    If the free partitions are not on the beginning of the disk an additional message appears:

    0516-1216 chvg: Physical partitions are being migrated for volume group
            descriptor area expansion.  Please wait.
    

    To be able to integrate physical volumes with more than 1016 partitions we need to increase the limit of the number of physical partitions per physical volume:

    # chvg -t 2 myvg
    0516-1164 chvg: Volume group myvg changed.  With given characteristics myvg
            can include up to 64 physical volumes with 2032 physical partitions each.
    

    As we see we have one physical partiton less per disk. This is due to a larger VGDA with big VGs:

    # lsvg -p myvg                                                         
    myvg:
    PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION
    vpath68           active            606         14          00..00..00..00..14
    vpath69           active            606         14          00..00..00..00..14
    vpath82           active            606         14          00..00..00..00..14
    vpath83           active            606         14          00..00..00..00..14
    vpath80           active            606         0           00..00..00..00..00
    vpath81           active            606         0           00..00..00..00..00
    vpath84           active            606         0           00..00..00..00..00
    vpath85           active            606         0           00..00..00..00..00