SWAP to an alternate subchannel Set (5-digit device numbers)


z/OS supports a maximum of 64K (65,536) online devices. Each device is identified by a 4-digit hexadecimal device number (formerly called “unit address”), from 0000 to FFFF. Some installations are approaching the limit of 64K devices. To mitigate this limit, IBM has introduced a concept of “alternate subchannel sets”. The 64K devices that can be online are considered to be in subchannel set 0, which is called the “primary subchannel set”. Depending on the level of CPU and z/OS, there can be one or more alternate subchannel sets. Each alternate subchannel set provides another 64K device numbers. The device number can now be considered to be 5 digits, with the first digit being the subchannel set number. Device dddd in the primary subchannel set can be said to be device 0dddd.

While devices in alternate subchannel sets cannot be brought online, they have several important uses:

  • They can be aliases (3390A). Aliases are not actually separate devices, but are additional paths to regular devices to support concurrent I/O operations.
  • They can be “special” devices (3390S). Special devices can be used by programs that do not require their I/O devices to be online. FDRPAS can use special devices as target devices for a SWAP or SWAPDUMP.
  • They can be “special secondary” devices (3390D). Special secondary devices can be the target for replication techniques such as PPRC.

An installation may have 50,000 devices, and may want to replace 30,000 of them with new hardware. They cannot have 30,000 new devices online at the same time as the old devices, because that would exceed the limit of 64K online devices. They cannot even define the 30,000 new devices in the primary subchannel set, because there are not enough numbers. Instead, they can migrate to the new devices using FDRPAS, with the following procedure.

Procedure

  • Define the new devices in an alternate subchannel set (in this example, subchannel set 1) as device type 3390S.
  • For each new device, assign a device number with the same last 4 digits as the device in the primary subchannel set that will be SWAPped to that new device; that is, for each source device 0dddd, the target device is 1dddd.
  • Before running FDRPAS, update PARMLIB so that the Master Scheduler Initialization Dynamic Exit (CNZ_MSIEXIT) supplied by FDRPAS runs during the next IPL (see Operating System Exits, below).
  • Before running FDRPAS, prepare a new I/O configuration, in which the target devices are in the primary subchannel set. The source devices may not be in the new I/O configuration at all, or they may be defined in an alternate subchannel set.
  • Run an FDRPAS SWAP or SWAPDUMP, with MOUNT statements in the form:

MOUNT VOL=vvvvvv,SWAPUNIT=1****

where the 4 asterisks indicate that the last 4 digits of the target device number are the same as the last 4 digits of the source device number. (Note that FDRPAS does not currently support a SWAP or SWAPDUMP of 30,000 volumes at one time. The maximum is 15,000. The migration would have to be done in stages.)


    • If the operation is a SWAP, this procedure does not require that the volumes be SWAPped at the same time. Each volume can be SWAPped when it is ready. However, there may be other considerations that require the SWAP to be done in a synchronized manner, such as replication technology.
    • If the operation is a SWAPDUMP, then the installation would want the operation to be synchronized, as in FDRPAS for Large Scale Synchronized Migration. Run with KEEPACTIVE=REPEAT; when getting ready to split, quiesce system activity as much as possible; complete the SWAPDUMP; and bring the system down.
  • IPL with the new I/O configuration. For SWAPDUMP, this would be done immediately; for SWAP, it could be done at any convenient time.

Operating System Exits

FDRPAS supplies three MVS exits as part of the support for SWAP to devices in an alternate subchannel set, i.e. devices with a 5-digit device number (unit address):

ISGNQXITPREBATCH

 ISGENQ / ENQ / DEQ Batch Preprocessing Exit

ISGNQXITBATCHCND

 ISGENQ / ENQ / DEQ Conditional Batch Processing Exit

CNZ_MSIEXIT

 Master Scheduler Initialization Dynamic Exit

The ISGNQXITPREBATCH and ISGNQXITBATCHCND exits are installed automatically by FDRPAS when it does a SWAP to a device in an alternate subchannel set.

For CNZ_MSIEXIT, the customer must do the following steps before starting the SWAP or SWAPDUMP:

  • Update PARMLIB so that the exit will run after IPL. Add the following record to an existing PROGxx member in PARMLIB, or create a new PROGxx member containing this record:

EXIT ADD EXITNAME(CNZ_MSIEXIT) MODNAME(FDRPAS5D)

  • If this is a new member, then add the suffix xx of the member name PROGxx, to the PROG= parameter in the appropriate IEASYSxx member in PARMLIB. For example,

before: PROG=(00,01)

after: PROG=(00,01,xx)

  • Add the FDRPAS load library to LINKLIST. This is required for the system to find module FDRPAS5D during IPL. Note that this is an exception to the usual recommendation that the FDRPAS load library should not be in LINKLIST.

You can reverse all of these steps after you have IPLed with an HCD in which all of the devices to which you have SWAPped are back in the primary subchannel set.

IBM has stated that if dynamic reconfiguration with the ACTIVATE command is attempted while devices in an alternate subchannel set are online (as they would be after a SWAP), the results would be unpredictable. FDRPAS takes responsibility for preventing dynamic reconfiguration after it has done SWAP(s) to one or more devices in an alternate subchannel set, and for allowing dynamic reconfiguration again if all of the volumes are SWAPped back to the primary subchannel set. The technique is to use ENQ exits ISGNQXITPREBATCH and ISGNQXITBATCHCND to intercept an ENQ issued by dynamic reconfiguration, and indicate that the resource is not available. Dynamic reconfiguration then fails with the messages:

IOS500I ACTIVATE RESULTSACTIVATE FAILED - ERROR MESSAGE(S) ISSUEDREASON=0183,DYNAMIC I/O ENQUEUE COULD NOT BE OBTAINED

After doing such SWAPs, the customer is supposed to change the I/O configuration in HCD for the next IPL so that the target devices are defined in the primary subchannel set (i.e. have 4-digit device numbers). The SWAP source devices would usually be eliminated from the configuration, or they could be put into an alternate subchannel set. However, the customer might forget to update the configuration, or there might be an unplanned IPL when some of the intended devices have been SWAPped and others have not. In that case the system could not use the old source devices in the primary subchannel set because their volume labels have been invalidated, and the system would not use the good target devices because they are in an alternate subchannel set.

To deal with this exposure, FDRPAS provides a Master Scheduler Initialization Dynamic Exit, CNZ_MSIEXIT. This exit runs during IPL, before subsystem initialization routines. The exit checks as follows to see whether the installation has IPLed without updating the configuration to put the target devices into the primary subchannel set.

  • Sequentially scan the alternate subchannel ULUT (Unit Look-Up Table).
  • Identify all 3390S devices (a 3390 Special device is the type of device in an alternate subchannel set that is eligible to be a target of a SWAP).
  • Check if the corresponding 4-digit device in the UCB Pointer List (UPL) is offline. The UPL points to devices in the primary subchannel set. The corresponding device is the device whose 4-digit device number is the same as the last 4 digits of the 5-digit device. The corresponding device will be offline if the SWAP completed, because its volume label has been invalidated to prevent it from being used.
  • Read the volume labels of the pair of devices. Check if the 5-digit device has a valid volume label with VOL1; the 4-digit device has an invalid volume label with FDR3, indicating that it was the source of a SWAP; and the volume serial numbers match.
  • If all of the above are true, then issue a SWAP for the devices. This causes the system to treat the target device as having the 4-digit device number.
  • Issue a VARY ONLINE for the target device.
  • Install the GRS exits ISGNQXITPREBATCH and ISGNQXITBATCHCND to prevent dynamic reconfiguration with the ACTIVATE command until the next IPL.

This exit produces the following messages during IPL for each volume that it selects for processing:

FDR241 FDRPAS5D SUCCESSFULLY COMPLETED SWAP OF VOL=vvvvvv TO UNITddddd
IEF196I FDR241 FDRPAS5D SUCCESSFULLY COMPLETED SWAP OF VOL=vvvvvv TO
IEF196I UNITddddd
IEE302I dddd ONLINE BY FDRPAS5D


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*