Expanding CICS volumes on UNIX systems

Technote (troubleshooting)


Problem(Abstract)

CICS servers (SFS, PPC Gateway) might crash or fail to start if the CICS logical volume used as a data volume or a log volume has run out of space.

Symptom

The following examples are elaborated:

  • Expanding CICS logical volume that is backed by an AIX logical volume.
  • Expanding CICS logical volume that is backed by UNIX file device.
Expanding CICS logical volume that is backed by an AIX logical volume

To expand the CICS logical volume backed by an AIX logical volume, complete the following steps:

1. Determine the CICS logical volume used by the server. You can use the tkadmin list lvol command to find the server's logical volume:
    # export CICS_TK_SERVER=/.:/cics/sfs/<SFS SERVER NAME>

    #tkadmin list lvol
    log_Spcorplp
    sfs_Spcorplp

2. Determine the AIX logical volume backing the CICS logical volume. The tkadmin query lvol command displays which AIX logical volume the CICS logical volume is mapped to:

    # tkadmin query lvol sfs_Spcorplp
    Information about logical volume sfs_Spcorplp
    All sizes and offsets are in pages. Page Size is: 4 Kbytes
    size: 262080 chunkSize: 64
    Backing physical volumes (only 'clean' and 'dirty' volumes are active):
    sfs_Spcorplp (clean)
    Volume is currently enabled.
    volume used pages: 289 (0%)
    volume free pages: 261791 (99%)

    Where sfs_Spcorplp is the name of the underlying AIX logical volume.


3. Expand underlying AIX logical volume backing the CICS logical volume. You can do this using the smitty utility or by using the extendlv command.
    The following example demonstrates how to expand an AIX logical volume by 8 MB, using the extendlv command.

    Prior to expanding AIX logical volume, you need to determine if there are free partitions in the AIX logical volume group by doing the following:
    a. Use the lslv command to determine the logical volume group to which AIX logical volume belongs. b. The number of free partitions can be determined using lsvg command:

    # lslv sfs_Spcorplp
    LOGICAL VOLUME: sfs_Spcorplp VOLUME GROUP: rootvg
    LV IDENTIFIER: 0004ebbb0000d6000000011fafc36e2b.13 PERMISSION: read/write
    VG STATE: active/complete LV STATE: opened/syncd
    TYPE: jfs WRITE VERIFY: off
    MAX LPs: 512 PP SIZE: 256 megabyte(s)
    COPIES: 1 SCHED POLICY: parallel
    LPs: 16 PPs: 16
    STALE PPs: 0 BB POLICY: relocatable
    INTER-POLICY: minimum RELOCATABLE: yes
    INTRA-POLICY: middle UPPER BOUND: 32
    MOUNT POINT: N/A LABEL: None
    MIRROR WRITE CONSISTENCY: on/ACTIVE
    EACH LP COPY ON A SEPARATE PV ?: yes
    Serialize IO ?: NO
    The volume group in the mentioned example output is rootvg.
    Determine the number of free partitions in AIX logical volume group. You can do this using the lsvg command as follows, using the volume group from above:

    # lsvg rootvg
    VOLUME GROUP: rootvg VG IDENTIFIER: 00232a9a00004c00000001341221a69b
    VG STATE: active PP SIZE: 64 megabyte(s)
    VG PERMISSION: read/write TOTAL PPs: 1355 (86720 megabytes)
    MAX LVs: 256 FREE PPs: 77 (4928 megabytes)
    LVs: 18 USED PPs: 1278 (81792 megabytes)
    OPEN LVs: 13 QUORUM: 2 (Enabled)
    TOTAL PVs: 3 VG DESCRIPTORS: 3
    STALE PVs: 0 STALE PPs: 0
    ACTIVE PVs: 3 AUTO ON: yes
    MAX PPs per VG: 32512
    MAX PPs per PV: 1016 MAX PVs: 32
    LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no
    HOT SPARE: no BB POLICY: relocatable

    From the results we can see that we have 77 free partitions available. Every partition is 4 MB.

    Now the AIX logical volume can be expanded using the extendlv command.

    % extendlv sfs_Spcorplp 2

    Verify the expansion took place:

    % lslv sfsDataVol
    # lslv sfs_Spcorplp
    LOGICAL VOLUME: sfs_Spcorplp VOLUME GROUP: rootvg
    LV IDENTIFIER: 00232a9a00004c00000001341221a69b.13 PERMISSION: read/write
    VG STATE: active/complete LV STATE: opened/syncd
    TYPE: jfs WRITE VERIFY: off
    MAX LPs: 512 PP SIZE: 64 megabyte(s)
    COPIES: 1 SCHED POLICY: parallel
    LPs: 18 PPs: 18
    STALE PPs: 0 BB POLICY: relocatable
    INTER-POLICY: minimum RELOCATABLE: yes
    INTRA-POLICY: middle UPPER BOUND: 32
    MOUNT POINT: N/A LABEL: None
    MIRROR WRITE CONSISTENCY: on/ACTIVE
    EACH LP COPY ON A SEPARATE PV ?: yes
    Serialize IO ?: NO

    Note that the PPs increased from 16 to 18.

4. Expand the CICS logical volume using tkadmin expand lvol command. The following example demonstrates how to expand the CICS logical volume storing SFS's data volume.

    # tkadmin expand lvol sfs_Spcorplp 262800
    # tkadmin query lvol sfs_Spcorplp
    Information about logical volume sfs_Spcorplp
    All sizes and offsets are in pages. Page Size is: 4 Kbytes
    size: 262784 chunkSize: 64
    Backing physical volumes (only 'clean' and 'dirty' volumes are active):
    sfs_Spcorplp (clean)
    Volume is currently enabled.
    volume used pages: 289 (0%)
    volume free pages: 262495 (99%)

    The size of sfs_Spcorplp has increased from 262,080 pages to 262,784 pages.


Expanding CICS logical volume that is backed by UNIX file device

CICS recommends that you do not to use file devices for SFS logical volumes. This avoids any negative performance impact on using these file devices.

1. Create a new file device. The UNIX dd utility can be used to the create a new file device.

    % echo x | dd of=newFile seek=8k
    0+1 records in
    0+1 records out

    % ls -l newFile
    -rw-r--r-- 1 dfm 8388609 Feb 23 08:46 newFile


2. Change the UNIX ownership and permissions of the newly created file device to "cics". The permission bits are set to "644".

3. Find the names of CICS logical and physical volumes that the server is using. Use the tkadmin list pvols and tkadmin list lvols commands to find a server's physical and logical volumes, respectively.

    # export CICS_TK_SERVER=/.:/cics/sfs/<SFS SERVER NAME>

    #tkadmin list lvol
    log_Spcorplp
    sfs_Spcorplp

    # tkadmin list pvol
    log_Spcorplp
    sfs_Spcorplp


4. Determine the current size of the CICS logical volume you are expanding, and of the file device that backs the logical volume. The tkadmin query *vol command will provide this information.

    # tkadmin query lvol sfs_Spcorplp
    Information about logical volume sfs_Spcorplp
    All sizes and offsets are in pages. Page Size is: 4 Kbytes
    size: 294848 chunkSize: 64
    Backing physical volumes (only 'clean' and 'dirty' volumes are active):
    sfs_Spcorplp (clean)
    Volume is currently enabled.
    volume used pages: 692 (0%)
    volume free pages: 294156 (99%)

    # tkadmin query pvol sfs_Spcorplp
    Information about physical volume sfs_Spcorplp
    All sizes and offsets are in pages. Page Size is: 4 Kbytes
    Mapped to logical volume sfs_Spcorplp
    chunk size: 64
    number of regions: 2
    region 0: disk: /dev/rsfs_Spcorplp offset: 0 size: 294848
    region 1: disk: /tmp/newFile offset: 0 size: 960
    total size: 295808

5. Initialize the newly created file device using the tkadmin init disk command.

    # tkadmin init disk /tmp/newFile
    Initialized disk partition /tmp/newFile
    disk size (in pages): 1021

6. Expand the CICS physical volume that backs the CICS logical volume. The tkadmin expand pvol command is used to expand the CICS physical volume.


    % tkadmin expand pvol sfs_Spcorplp 1 /tmp/newFile 0

    The command will expand the physical volume datapvol, by total size available on the newly created device, /tmp/newFile.

    Querying the physical volume, sfs_Spcorplp, will show details of the expansion.

    # tkadmin query pvol sfs_Spcorplp -server /.:/cics/sfs/pcorplpar2
    Information about physical volume sfs_Spcorplp
    All sizes and offsets are in pages. Page Size is: 4 Kbytes
    Mapped to logical volume sfs_Spcorplp
    chunk size: 64
    number of regions: 2
    region 0: disk: /dev/rsfs_Spcorplp offset: 0 size: 294848
    region 1: disk: /tmp/newFile offset: 0 size: 960
    total size: 295808

7. Expand the CICS logical volume using the tkadmin expand lvol command. The following command will expand the CICS logical volume to a new size.

    % tkadmin expand lvol datalvol 2032
Using the tkadmin query command, you can see that logical volume has expanded.



Rate this page:

(0 users)Average rating

Document information


More support for:

TXSeries
CICS

Software version:

6.0, 6.1, 6.2, 7.1

Operating system(s):

AIX

Reference #:

1616731

Modified date:

2013-10-23

Translate my page

Machine Translation

Content navigation