Reconfiguration during system operation means the attachment and detachment of previously defined components of the configuration of a Server Unit (see section "Reconfiguration").
In addition, it is possible to add or remove I/O units to and from the Server Unit configuration during ongoing operation.
It is possible to modify the I/O configuration during system operation, i.e. the existing configuration can be extended or reduced without the need for a new IMPL. The modifications are implemented directly on the Server Unit’s active IORSF.
This method of changing the configuration is referred to as “dynamic I/O configuration change” below. Dynamic I/O configuration changes are supported for the following device classes:
disk and tape devices
Network/LAN devices
Preparations for dynamic I/O reconfiguration
To make it possible to add new devices and controllers to the configuration during system operation, the system generates additional free table entries for devices and controllers during system initialization. The table entries for the channels and connections between the I/O units are created dynamically and do not need to be considered by systems support during IORSF generation.
The number of free table entries for devices and controllers depends on the size of the reserve area in the IORSF.
In the case of an IORSF created with IOGEN this is sufficient for 512 additional entries (channels, controllers, devices and their connections), see the “System Installation” manual [55]. An IORSF that has already been modified can have more or less free entries either through adding or removing units in the active IORSF or through writing back the active IORSF with the STOP-CONFIGURATION-UPDATE ..., DEVICE-RESERVE= command.
At system startup, 64 free entries are provided in the device table for network/LAN devices, and for disk and tape devices the maximum possible number for each resulting from the free entries in the IORSF (but at most 2048 each). The total number of units which can be added dynamically may not exceed the limits set in the IORSF.
Measures to avoid bottlenecks
Every device or controller which is added to the configuration occupies a free table entry. The attempt to add the unit is rejected if no further free table entries are present. In such cases, it is not possible to add a new device or controller until a corresponding I/O unit has been removed.
If at IORSF generation time, it is possible to predict that these free table entries will not be sufficient for the dynamic I/O configuration changes expected in the next session then a sufficiently large number of future I/O units should also be configured in the IORSF. When they are taken into service, these additional I/O units can then be redefined to match the real configuration using the dynamic reconfiguration commands.
Performing dynamic I/O configuration changes
The following commands are available for dynamic I/O configuration changes. The commands are described in detail in the “Commands” manual [27]:
Command | Meaning |
ADD-IO-UNIT | Define new I/O units |
MODIFY-IO-UNIT | Change path description for a controller, |
REMOVE-IO-UNIT | Remove I/O units |
SHOW-DEVICE-CONFIGURATION | Display the input/output configuration |
START-CONFIGURATION-UPDATE | Start dynamic I/O configuration modification |
STOP-CONFIGURATION-UPDATE | Stop dynamic I/O configuration modification, |
Table 11: Commands for dynamic I/O configuration changes
Before changes can be made to the configuration, dynamic I/O configuration modification must be started using the START-CONFIGURATION-UPDATE command. The commands for configuration modification are not accepted until dynamic reconfiguration has been started successfully.
Exception
If you simply wish to modify device timeout settings then the MODIFY-IO-UNIT command (operands: UNIT=*DEVICE(...) and TIMEOUT=...) can be entered outside of dynamic reconfiguration. This is also true when specifying a preferred device for PAV (operand PAV-PREFERRED-DEVICE).
These changes can be performed independently of the Server Unit's architecture!
Once dynamic I/O configuration modification has been started successfully, systems support can use the ADD-IO-UNIT, REMOVE-IO-UNIT and MODIFY-IO-UNIT commands to modify the I/O configuration dynamically. The modifications are implemented in the active IORSF (Input/Output Resource File) and therefore take effect immediately.
General conduct of a dynamic I/O configuration change
Every command-initiated configuration change is processed in a number of stages under the control of the system component IORECONF:
Inspection phase:
IORECONF checks whether the requested configuration change can be performed and rejects requests which cannot be satisfied. Thus, for example, an ADD-IO-UNIT command for a device may be rejected for one of the following reasons:The controller or channel to which the device is to be connected is not defined.
The device is already defined.
There is no free table entry available.
After this, all the other system components which are affected by the configuration change are called (e.g. device and volume management components). The request can then be rejected by one of the called components.
Modification of IORSF:
When the check has been terminated, the configuration change is entered in the active IORSF. During the period required to modify IORSF, all the affected devices are locked for I/O operations.Modification of tables:
Once IORSF has been successfully modified, IORECONF modifies the I/O tables and informs system components affected about the configuration change.
If the request for a configuration change cannot be completed in full, IORECONF attempts to reconstruct the initial status. The completion and rejection of configuration change requests are logged by means of console messages (NKR....
).
Dynamic extensions to the I/O configuration
Systems support can use the ADD-IO-UNIT command to add new I/O units (device, controllers, channels) to the configuration. Devices can be defined as PAV alias devices (see section "Parallel Access Volumes (PAV, SUs /390)").
New I/O devices must be specified in the sequence: channel controller device. Up to 256 devices can be added to a controller by means of an ADD-IO-UNIT command.
Restrictions and special aspects
A new channel module can be added by means of the following steps:
ADD-IO-UNIT *CHN(...),STATE=DET command for each channel in the module
Installation of channel group and activation via CM frame
ATTACH-DEVICE *CHN(...) command for each channel in the module
Channels in modules which were already present on IMPL can be dynamically generated using ADD-IO-UNIT but cannot then be switched “online”. For this reason, all channels that are already present should be pre-generated.
To operate a new tape device, the following measures are necessary in addition to the ADD-IO-UNIT definition and when an MTC archiving system is used:
The ADD-DEVICE-DEPOT command must be issued to assign a storage location.
If you are using MAREN and the new device is to be subject to free tape allocation, the MARENUCP program must be terminated and restarted.
If the new device is part of an MTC archiving system controlled by ROBAR and has not yet been defined in the ROBAR configuration file, ROBAR-SV must be terminated and the ROBAR-SV configuration file extended. ROBAR-SV can then be restarted.
In configurations without MTC archiving systems, the tape device need only be ATTACHED (ATTACHDEVICE command) if it has not already been implicitly attached with the ADD-IO-UNIT ...,STATE=*ATTACHED command.
Before or after addition, a new network/LAN device must be declared in DCM by means of the BCIN command.
The IOTRACE subsystem does not take account of newly added I/O units unless it is restarted following the configuration change.
Dynamic reductions to the I/O configuration
Systems support can use the REMOVE-IO-UNIT command to remove IO units (devices, controllers, channels), which currently have the status DETACHED, from the current configuration. When the “innermost” unit is removed (channel or controller), then the
system also implicitly removes the “outer” units (controller or devices) if these are not associated with any other “inner” units. I/O units for removal must be specified in the sequence: device controller channel.
Dynamic modifications to the I/O configuration properties
Systems support can use the MODIFY-IO-UNIT command for the dynamic modification of the configuration attributes of controllers and devices. In the case of controllers, it is possible to redefine the I/O parts and the availability of the connection between the channel and controller (INCLUDED or REMOVED).
In this way, a controller which possesses two or more channel connections can be switched over without interruption. In the case of a device, it is possible to modify the preferred I/O path. You can specify with the STATE=*PAV-PREFERRED-DEVICE(...) operand that the PAV device under VM2000 is preferred for I/O (see section "Parallel Access Volumes (PAV, SUs /390)" for more information on PAV).
The command can also be used to modify device timeout settings (MODIFY-IO-UNIT UNIT=*DEVICE(...),TIMEOUT=<value_in_seconds>).
If only the device timeout settings are modified or a preferred device for PAV is specified, then the command can also be issued outside of dynamic reconfiguration (i.e. independently of the architecture of the Server Unit).
The timeout value should only be changed temporarily for certain actions, e.g. the online update of a disk storage system controller. After that the timeout should be reset to its default value with TIMEOUT=*DEFAULT.
Stop dynamic I/O configuration change
Dynamic I/O configuration modification is terminated with the STOP-CONFIGURATION-UPDATE command. To make the current I/O configuration available for a following session, the current IORSF can be saved using the IORSF-UPDATE operand.
If the system crashes before the active IORSF is written to the hard disk then the configuration changes that have already been performed are not lost on the next IPL since the BS2000 I/O tables are derived from the active IORSF on system initialization.
Following the successful termination of dynamic reconfiguration, the reconfiguration commands ADD-IO-UNIT, REMOVE-IO-UNIT and MODIFY-IO-UNIT are no longer accepted (exception: timeout settings).
Dynamic I/O configuration modification under VM2000
Under VM2000 it is only possible to enter the I/O reconfiguration commands in the monitor system. The necessary changes in the I/O tables are performed in the Hypervisor, in the monitor system and automatically in the active guest systems. When the START-CONFIGURATION-UPDATE command is entered, message NKR0178
is displayed indicating how many guest systems are active and which of them support dynamic configuration changes.