This is tested on AIX 6.1. When you try to add a disk to an existing VG, by doing:

#extendvg vgdata hdisk20

you may receive the following error message:


0516-1714 /usr/sbin/extendvg: The total number of partitions on the disks for this
volume group would be 184302, which exceeds the current maxpps
value of 131072.  Increase the maxpps value to 262144 using
the chvg -P command, then retry.
0516-792 /usr/sbin/extendvg: Unable to extend volume group"

The cause?

bash-3.00# lsvg vgdata
VOLUME GROUP:       vgdata                   VG IDENTIFIER:  00c39a0200004c000000012bb22891c2
VG STATE:           active                   PP SIZE:        8 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      122871 (182952 megabytes)
MAX LVs:            256                      FREE PPs:       1 (8 megabytes)
LVs:                2                        USED PPs:       111870 (982960 megabytes)
OPEN LVs:           2                        QUORUM:         2 (Enabled)
TOTAL PVs:          2                        VG DESCRIPTORS: 3
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         2                        AUTO ON:        yes
MAX PPs per VG:     131072                   MAX PVs:        1024
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no

As you can see, the current maxpps per vg for the vgdata volume group is 131072 pps, and to increase the size of the vg from 1TB to 1.5TB requires 184302. To solve this problem, we need to increase the value of the maxpps parameter for the vgdata volume group. Just follow the on screen clue to perform:

#chvg -P 262144 vgdata

Now, make sure that the maxpps value has been altered:

bash-3.00# lsvg dumpvg
VOLUME GROUP:       dumpvg                   VG IDENTIFIER:  00c39a0200004c000000012bb22891c2
VG STATE:           active                   PP SIZE:        8 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      122871 (182952 megabytes)
MAX LVs:            256                      FREE PPs:       1 (8 megabytes)
LVs:                2                        USED PPs:       122870 (982960 megabytes)
OPEN LVs:           2                        QUORUM:         2 (Enabled)
TOTAL PVs:          2                        VG DESCRIPTORS: 3
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         2                        AUTO ON:        yes
MAX PPs per VG:     262144                   MAX PVs:        1024
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable

Add the new disk to the vg:

#extendvg vgdata hdisk20

The number of free PPs should be increased

bash-3.00# lsvg vgdata
VOLUME GROUP:       vgdata                   VG IDENTIFIER:  00c39a0200004c000000012bb22891c2
VG STATE:           active                   PP SIZE:        8 megabyte(s)
VG PERMISSION:      read/write               TOTAL PPs:      184302 (1474416 megabytes)
MAX LVs:            256                      FREE PPs:       61432 (491456 megabytes)
LVs:                2                        USED PPs:       122870 (982960 megabytes)
OPEN LVs:           2                        QUORUM:         2 (Enabled)
TOTAL PVs:          2                        VG DESCRIPTORS: 3
STALE PVs:          0                        STALE PPs:      0
ACTIVE PVs:         2                        AUTO ON:        yes
MAX PPs per VG:     262144                   MAX PVs:        1024
LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no
HOT SPARE:          no                       BB POLICY:      relocatable

Next, to increase the size of the LV. Oops, another error:

0516-787 extendlv: Maximum allocation for logical volume fslv01 is 122869.

this is basically the same problem, but with lv instead of vg

bash-3.00# lslv fslv01
LOGICAL VOLUME:     fslv01                             VOLUME GROUP:   vgdata
LV IDENTIFIER:      00c39a0200004c000000012bb22891c2.2 PERMISSION:     read/write
VG STATE:           active/complete                    LV STATE:       opened/syncd
TYPE:               jfs2                               WRITE VERIFY:   off
MAX LPs:            122869                             PP SIZE:        8 megabyte(s)
COPIES:             1                                  SCHED POLICY:   parallel
LPs:                122869                             PPs:            122869
STALE PPs:          0                                  BB POLICY:      relocatable
INTER-POLICY:       minimum                            RELOCATABLE:    yes
INTRA-POLICY:       middle                             UPPER BOUND:    1024
MOUNT POINT:        /dump                              LABEL:          /dump
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
DEVICESUBTYPE : DS_LVZ
COPY 1 MIRROR POOL: None
COPY 2 MIRROR POOL: None
COPY 3 MIRROR POOL: None

The max lps value should be increased in accordance to the additional space that we are planning to add. In my case it’s 500GB. To translate that to PPs, divide the volume size that you want to add with the size of your  PP size, in my case it’s 512000 / 8 = 64000. Edit the max LP value with chlv -x (current PP + additional PP):

#chlv -x 186869 fslv01

The LV should be ready to be resized

bash-3.00# lslv fslv01
LOGICAL VOLUME:     fslv01                             VOLUME GROUP:   vgdata
LV IDENTIFIER:      00c39a0200004c000000012bb22891c2.2 PERMISSION:     read/write
VG STATE:           active/complete                    LV STATE:       opened/syncd
TYPE:               jfs2                               WRITE VERIFY:   off
MAX LPs:            186869                             PP SIZE:        8 megabyte(s)
COPIES:             1                                  SCHED POLICY:   parallel
LPs:                122869                             PPs:            122869
STALE PPs:          0                                  BB POLICY:      relocatable
INTER-POLICY:       minimum                            RELOCATABLE:    yes
INTRA-POLICY:       middle                             UPPER BOUND:    1024
MOUNT POINT:        /dump                              LABEL:          /dump
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:     NO
DEVICESUBTYPE : DS_LVZ
COPY 1 MIRROR POOL: None
COPY 2 MIRROR POOL: None
COPY 3 MIRROR POOL: None

We should now be able to resize the lv using “smit jfs2” or the “extendlv” command.

By ikhsan

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.