Preparing to use HyperSwap from z/OS

Before you can use HyperSwap® with Copy Services Manager, you must configure z/OS® to use HyperSwap.

Configuring HyperSwap

On z Systems®, HyperSwap requires that all RESERVEs are converted to global enqueues (ENQs).

When a HyperSwap is initiated and a RESERVE exists on any PPRC device, the RESERVE might be lost.

To prevent data integrity exposure, configure global resource serialization (GRS) to convert RESERVEs to Global ENQs, use these steps:
  1. Run the ENQ/RESERVE/DEQ Monitor with filtering REQTYPE of NCRESERVE to gather reports on non-converted RESERVEs issued by the system. For more information about using the ENQ/RESERVE/DEQ monitor tool, see the z/OS MVS Planning: Global Resource Serialization document.
  2. Use the GRSRNLxx member of SYS1.PARMLIB statement to add an RNLDEF customization parameter.
  3. To convert any RESERVE that might be issued against volumes that are managed by HyperSwap to Global ENQs, use a PATTERN entry.
  4. Use the RNLDEF parameter to convert all RESERVEs to Global ENQs: RNLDEF RNL(CON) TYPE(PATTERN) QNAME(*).

For more information about converting RESERVEs to Global ENQs, see the section about GRSRNLxx (global resource serialization resource name lists) in the most-recent version of the z/OS MVS Initialization and Tuning Reference.

When RESERVEs are converted to GRS Global ENQs, the ENQs might take longer to resolve if the ISGLOCK structure is too small to process each global ENQ independently. If this situation occurs, you might want to increase the size of your ISGLOCK structure. For information about GRS, including guidelines on how to resize your ISGLOCK structure, see the latest version of the z/OS MVS Planning: Global Resource Serialization document.

Sharing the HyperSwap managed devices outside of the sysplex

When HyperSwap is started, the cross-system coupling facility or XCF is used to coordinate all the systems in the sysplex through the swap. Any system outside the sysplex does not participate in the swap, and is unaware that the device was swapped. In certain cases, the system outside the sysplex continues to use the old primary volumes after a swap, that results in data integrity exposures.

The HyperSwap address spaces

HyperSwap requires two address spaces: the HyperSwap API address space, and the HyperSwap management address space. Follow these steps to start the address spaces:
  1. Add procedures for the address spaces to the SYS1.PROCLIB data set:
    For the HyperSwap API address space:
    //HSIBAPI JOB  MSGLEVEL=(1,1),TIME=NOLIMIT,REGION=0M
    //        EXEC PGM=IOSHSAPI
    For the HyperSwap management address space:
    //HSIB JOB MSGLEVEL=(1,1),TIME=NOLIMIT,REGION=0M
    //     EXEC PGM=IOSHMCTL
    Note: If you are enabling an IP connection, the SOCKPORT parameter also needs to be added for the HyperSwap management address space as shown in the following example.
    //HSIB JOB MSGLEVEL=(1,1),TIME=NOLIMIT,REGION=0M
    //     EXEC PGM=IOSHMCTL,PARM='SOCKPORT=5858'
    Notes:
    • If you are enabling an IP connection, the SOCKPORT parameter also needs to be added for the HyperSwap management address space.

      See the following example:

      //HSIB JOB MSGLEVEL=(1,1),TIME=NOLIMIT,REGION=0M
      //     EXEC PGM=IOSHMCTL,PARM='SOCKPORT=5858'

    • If APAR OA57050 has been installed to support TCP/IP stack affinity when starting the z/OS HyperSwap Management address space, the new STACKNAME parameter must also be added.

      The SOCKPORT parameter must be specified if the STACKNAME parameter is specified.

      See the following example:

      //HSIB JOB MSGLEVEL=(1,1),TIME=NOLIMIT,REGION=0M
      //IEFPROC EXEC PGM=IOSHMCTL,
      //    PARM=’SOCKPORT=PORT_NUMBER,STACKNAME=TCPIP_ADDRESS'

      where PORT_NUMBER is a number in the 1 - 65535 range, and STACKNAME is the TCP/IP stack name in 1 to 8 alphanumeric characters.
    • If a TCP/IP stack affinity is not used, the STACKNAME parameter can be omitted.
  2. Start the address spaces in one of the following ways:
    • Issue the START command manually.
    • Include the START command in the COMMNDxx member of the SYS1.PARMLIB data set.
    Note: When you issue the START commands, either manually or by using COMMNDxx, it is preferred, although not required, that you start the API address space before the management address space.
These are the START commands for the specific address spaces:
For the HyperSwap API address space start command:
START HSIBAPI,SUB=MSTR
For the HyperSwap management address space start command:
START HSIB,SUB=MSTR
To reduce the possibility of a swap failure because of page faults, enable the CRITICALPAGING function. To enable the CRITICALPAGING function, use the FUNCTIONS statement of the COUPLExx PARMLIB member for each system in the sysplex.
For example, add the following CRITICALPAGING statement to the COUPLExx PARMLIB member:
FUNCTIONS ENABLE(CRITICALPAGING) 
Tip: You cannot enable the CRITICALPAGING function through the SETXCF command. However, you can use either method to stop CRITICALPAGING.

For information about indicating the address spaces that are critical for paging, see the z/OS V1R12.0 MVS Initialization and Tuning Reference document.

SMF Recording

When z/OS HyperSwap is active, there is no SMF interval recording for the HyperSwap address spaces. There is no SMF interval recording for either the HSIB or HSIBAPI address spaces, or for the XCFAS address spaces. The reason for this design is to avoid potential hangs during HyperSwap processing due to access to disk storage by SMF. If you have existing SMF processes that depend on SMF interval records for XCFAS, review and revise these procedures.

Gathering information or controlling a HyperSwap session by using commands

When you are running HyperSwap, you can use extra commands to gather information or control a HyperSwap session on z/OS.
Table 1. Extra HyperSwap commands on z/OS
Command Result
D HS,STATUS Displays the status of a HyperSwap session. This command also displays any reasons why HyperSwap might be disabled, and the policies for the HyperSwap session.
D HS,CONFIG(DETAIL,ALL) Displays the detailed configuration for the HyperSwap session. The volumes and status of all pairs in the HyperSwap configuration are listed.
SETHS SWAP Starts a planned HyperSwap session. You can issue this command instead of issuing the HyperSwap command from Copy Services Manager.
SETHS DISABLE Disable HyperSwap by operator command. This command prevents a HyperSwap session from occurring, either by command or automatically.
SETHS ENABLE Enable HyperSwap by operator command. This command allows a HyperSwap session to be performed, either by command or automatically, if a HyperSwap session is not disabled for other reasons.
SETHS RESUMEIO Resumes normal I/O activity to devices after a suspended HyperSwap action because the Hold I/O option was used.