C Special Cases: Advanced Uses of CONFIG

In this section, you are going to learn about the functionality of the CONFIG utility. Note that in many of these examples, you are changing the configuration, which is something you typically do when you are doing an upgrade install: upgrade the hardware configuration, run DECOMP, then update the CONFIG deck to match the hardware changes at a release boundary.

Note that when you are doing something like adding RTDs, there is more to it than just plugging in the hardware and updating the CONFIG deck. You need to do all the tasks discussed in "Planning for Library-Attached Transports."

CONFIG Example: All Hosts Access VTDs in One VTSS, Only Selected Hosts Access VTDs in Second VTSS

The following shows sample CONFIG JCL to define a VSM configuration as follows:

  • The VTD statement specifies default VTD addresses 8900 - 893F for VTSS1. All hosts have access to these VTDs by their default addresses.

  • No default VTD addresses are specified for VTSS2. The VTD statements that immediately follow the HOST statements for MVS1 and MVS2 specify that only these hosts can access the VTDs in VTSS2 by the addresses 9900 - 993F. HOST statement MVS3 is a placeholder; this host cannot access the VTDs in VTSS2, and is disabled from initiating migrates and reclaims.

    //UPDATECFG EXEC PGM=SLUADMIN,PARM='MIXED'
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSCNTL DD DSN=hlq.DBASEPRM,DISP=SHR
    //SLSCNTL2 DD DSN=hlq.DBASESEC,DISP=SHR
    //SLSSTBY DD DSN=hlq.DBASETBY,DISP=SHR
    //CFG22202 DD DSN=hlq.CFG22202,DISP=SHR
    //SLSPRINT DD   SYSOUT=*
    //SLSIN DD   *
     CONFIG CDSLEVEL(V62ABOVE)
     GLOBAL MAXVTV=65000 MVCFREE=60 VTVATTR=SCRATCH RECALWER=YES 
     LOCKSTR=STK_VTCS_LOCKS VTVPAGE=LARGE MAXRTDS=32 FASTMIGR=YES
     RECLAIM THRESHLD=70 MAXMVC=30 START=40 CONMVC=5
    VTSS NAME=VTSS1  LOW=70 HIGH=80  MAXMIG=3  RETAIN=5
     RTDNAME=VT128800 DEVNO=8800 CHANIF=0A
     RTDNAME=VTS18801 DEVNO=8801 CHANIF=0I
     RTDNAME=VTS18802 DEVNO=8802 CHANIF=1A
     RTDNAME=VTS18803 DEVNO=8803 CHANIF=1I
      VTD LOW=8900 HIGH=893F
     VTSS NAME=VTSS2  LOW=70 HIGH=80  MAXMIG=3  RETAIN=5
     RTDNAME=VTS28804 DEVNO=8804 CHANIF=0A
     RTDNAME=VTS28805 DEVNO=8805 CHANIF=0I
     RTDNAME=VTS28806 DEVNO=8806 CHANIF=1A
     RTDNAME=VTS28807 DEVNO=8807 CHANIF=1I
     HOST   NAME=MVS1
     VTDLOW=9900 HIGH=993F
     HOST   NAME=MVS2
      VTD LOW=9900 HIGH=993F 
     HOST   NAME=MVS3 NOMIGRAT NORECLAM
    

CONFIG Example: Update Configuration to Add RTDs

The following example shows JCL to run CONFIG to add RTDs VTS18811 and VTS18813 (connected to VTSS1) to the configuration. Because of NCO, you can add the RTDs dynamically (no RESET required), by simply adding new definitions for RTDs VTS18811 and VTS18813.

//UPDATECFG EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSCNTL DD DSN=hlq.DBASEPRM,DISP=SHR
//SLSCNTL2 DD DSN=hlq.DBASESEC,DISP=SHR
//SLSSTBY DD DSN=hlq.DBASETBY,DISP=SHR
//CFG22202 DD DSN=hlq.CFG22202,DISP=SHR
//SLSPRINT DD   SYSOUT=*
//SLSIN DD   *
 CONFIG CDSLEVEL(V62ABOVE)
 GLOBAL MAXVTV=65000 MVCFREE=60 VTVATTR=SCRATCH RECALWER=YES 
 LOCKSTR=STK_VTCS_LOCKS VTVPAGE=LARGE MAXRTDS=32 FASTMIGR=YES
 RECLAIM THRESHLD=70 MAXMVC=30 START=40 CONMVC=5
VTSS NAME=VTSS1  LOW=70 HIGH=80  MAXMIG=3  RETAIN=5
 RTDNAME=VTS18800 DEVNO=8800 CHANIF=0A
 RTDNAME=VTS18801 DEVNO=8801 CHANIF=0I
 RTDNAME=VTS18802 DEVNO=8802 CHANIF=1A
 RTDNAME=VTS18803 DEVNO=8803 CHANIF=1I
 RTDNAME=VTS18811 DEVNO=8811 CHANIF=0E
 RTDNAME=VTS18813 DEVNO=8813 CHANIF=1E
 VTDLOW=8900 HIGH=893F
 VTSS NAME=VTSS2  LOW=70 HIGH=80  MAXMIG=3  RETAIN=5
 RTDNAME=VTS28804 DEVNO=8804 CHANIF=0A
 RTDNAME=VTS28805 DEVNO=8805 CHANIF=0I
 RTDNAME=VTS28806 DEVNO=8806 CHANIF=1A
 RTDNAME=VTS28807 DEVNO=8807 CHANIF=1I
 HOST   NAME=MVS1
 VTD    LOW=9900 HIGH=993F
 HOST   NAME=MVS2
 VTD    LOW=9900 HIGH=993F 
 HOST   NAME=MVS3

CONFIG Example: Update Configuration to Add MVCs and VTVs and Change AMTs

The following example shows JCL to run CONFIG to modify the configuration shown in the previous JCL example.

  • Adding VTVs C25001 to C50000 as scratch.

  • Adding MVCs N45000 to N45999.

  • Changing the LAMT to 50 and the HAMT to 85 on both VTSS1 and VTSS2.

//UPDATECFG EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSCNTL DD DSN=hlq.DBASEPRM,DISP=SHR
//SLSCNTL2 DD DSN=hlq.DBASESEC,DISP=SHR
//SLSSTBY DD DSN=hlq.DBASETBY,DISP=SHR
//CFG22202 DD DSN=hlq.CFG22202,DISP=SHR
//SLSPRINT DD   SYSOUT=*
//SLSIN DD   *
 CONFIG CDSLEVEL(V62ABOVE)
 GLOBAL MAXVTV=65000 MVCFREE=60 VTVATTR=SCRATCH RECALWER=YES 
 LOCKSTR=STK_VTCS_LOCKS VTVPAGE=LARGE MAXRTDS=32 FASTMIGR=YES
 RECLAIM THRESHLD=70 MAXMVC=30 START=40 CONMVC=5
VTVVOL LOW=C25001 HIGH=C50000 SCRATCH
MVCVOL LOW=N45000 HIGH=N45999
VTSS NAME=VTSS1  LOW=50 HIGH=85  MAXMIG=3  RETAIN=5
 RTDNAME=VTS18800 DEVNO=8800 CHANIF=0A
 RTDNAME=VTS18801 DEVNO=8801 CHANIF=0I
 RTDNAME=VTS18802 DEVNO=8802 CHANIF=1A
 RTDNAME=VTS18803 DEVNO=8803 CHANIF=1I
 RTDNAME=VTS18811 DEVNO=8811 CHANIF=0E
 RTDNAME=VTS18813 DEVNO=8813 CHANIF=1E
 VTDLOW=8900 HIGH=893F
VTSS NAME=VTSS2  LOW=50 HIGH=85  MAXMIG=3  RETAIN=5
 RTDNAME=VTS28804 DEVNO=8804 CHANIF=0A
 RTDNAME=VTS28805 DEVNO=8805 CHANIF=0I
 RTDNAME=VTS28806 DEVNO=8806 CHANIF=1A
 RTDNAME=VTS28807 DEVNO=8807 CHANIF=1I
 HOST   NAME=MVS1
 VTD    LOW=9900 HIGH=993F
 HOST   NAME=MVS2
 VTD    LOW=9900 HIGH=993F 
 HOST   NAME=MVS3

CONFIG Example: Denying Host Access to a Physically Removed VTSS

If you remove a VTSS, you need a way to let the hosts know the VTSS is no longer in the configuration. The following example shows JCL to run CONFIG to deny host access to VTSS2 that you physically removed from your configuration. In this example, you simply respecify the VTSS statement for VTSS2 with no parameters to deny host access to this VTSS.

//UPDATECFG EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSCNTL DD DSN=hlq.DBASEPRM,DISP=SHR
//SLSCNTL2 DD DSN=hlq.DBASESEC,DISP=SHR
//SLSSTBY DD DSN=hlq.DBASETBY,DISP=SHR
//CFG22202 DD DSN=hlq.CFG22202,DISP=SHR
//SLSPRINT DD   SYSOUT=*
//SLSIN DD   *
 CONFIG CDSLEVEL(V62ABOVE)
 GLOBAL MAXVTV=65000 MVCFREE=60 VTVATTR=SCRATCH RECALWER=YES 
 LOCKSTR=STK_VTCS_LOCKS VTVPAGE=LARGE MAXRTDS=32 FASTMIGR=YES
 RECLAIM THRESHLD=70 MAXMVC=30 START=40 CONMVC=5
VTSS NAME=VTSS1  LOW=70 HIGH=80  MAXMIG=3  RETAIN=5
 RTDNAME=VTS18800 DEVNO=8800 CHANIF=0A
 RTDNAME=VTS18801 DEVNO=8801 CHANIF=0I
 RTDNAME=VTS18802 DEVNO=8802 CHANIF=1A
 RTDNAME=VTS18803 DEVNO=8803 CHANIF=1I
 RTDNAME=VTS18811 DEVNO=8811 CHANIF=0E
 RTDNAME=VTS18813 DEVNO=8813 CHANIF=1E
 VTDLOW=8900 HIGH=893F
VTSS NAME=VTSS2 

CONFIG Examples: Using the Maximum 32 RTDs Feature

As described in "Maximum RTDs per VTSS," you can specify up to 32 RTDs attached to a VTSS. With this feature enabled, it turns out you can also attach greater than 16 RTDs and have some ports left for CLINK originators and terminators. What follows is a general procedure for implementing Maximum 32 RTDs with links to two examples with CONFIG decks.

Implementing Support for Maximum of 32 RTDs

  1. Ensure that your system has the Synchronous Replication requirements described in Table H-3.

  2. Use CONFIG GLOBAL to enable support for maximum of 32 RTDs.

    CONFIG GLOBAL MAXRTDS=32
    

    Note:

    Enabling support for a maximum of 32 RTDs does not require CONFIG RESET. However, regressing from 32 RTDs supported to 16 RTDs supported does require CONFIG RESET.
  3. Update your CONFIG RTD and CONFIG CLINK statements as required.