Enlarging the size of a striped LV
Since there were not enough free PPs available within the VG to extend our fast growing LV we had to increase disk space and extend this LV, but this was a little different from the usual manner because of this LV was a striped one. At first we thought we had to rebuild the entire LV to expand to the new capacity, but… since AIX 5L version 5.3 it is possible to enlarge the size of striped LVs online thanks to the concept of striped columns for LVs. The only thing is that you can raise the upper bound with a multiple of the stripe width. Our SAN team was so happy to supply the necessary LUNs.
This is what it looked like:
lslv fslv17 LOGICAL VOLUME: fslv17 VOLUME GROUP: oradatavg3 LV IDENTIFIER: 00c1e99000004c000000011b8d014031.2 PERMISSION: read/write VG STATE: active/complete LV STATE: opened/syncd TYPE: jfs2 WRITE VERIFY: off MAX LPs: 6144 PP SIZE: 64 megabyte(s) COPIES: 1 SCHED POLICY: striped LPs: 5580 PPs: 5580 STALE PPs: 0 BB POLICY: relocatable INTER-POLICY: maximum RELOCATABLE: no INTRA-POLICY: middle UPPER BOUND: 6 MOUNT POINT: /oracle/data/P30 LABEL: /mnt MIRROR WRITE CONSISTENCY: on/ACTIVE EACH LP COPY ON A SEPARATE PV ?: yes (superstrict) Serialize IO ?: NO STRIPE WIDTH: 6 STRIPE SIZE: 128K
Use the -u option to extend the upper bound. This can only be a multiple of the stripe width, which is 12 in my case.
chlv -u 12 fslv17 # lslv fslv17 LOGICAL VOLUME: fslv17 VOLUME GROUP: oradatavg3 LV IDENTIFIER: 00c1e99000004c000000011b8d014031.2 PERMISSION: read/write VG STATE: active/complete LV STATE: opened/syncd TYPE: jfs2 WRITE VERIFY: off MAX LPs: 5120 PP SIZE: 64 megabyte(s) COPIES: 1 SCHED POLICY: striped LPs: 4776 PPs: 4776 STALE PPs: 0 BB POLICY: relocatable INTER-POLICY: maximum RELOCATABLE: no INTRA-POLICY: middle UPPER BOUND: 12 MOUNT POINT: /oracle/data/P30 LABEL: /mnt MIRROR WRITE CONSISTENCY: on/ACTIVE EACH LP COPY ON A SEPARATE PV ?: yes (superstrict) Serialize IO ?: NO STRIPE WIDTH: 6 STRIPE SIZE: 128K
After that we had to extend the Maximum LPs for this LV.