Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ADD-IO-UNIT

&pagelevel(3)&pagelevel

Add input/output unit to configuration

Component:

BS2000

Functional area:

Device management

Domain:

DEVICE                                                                                                           

Privileges:

OPERATING

Routing code:

G

Function

Systems support can dynamically extend the input/output configuration with the ADD-IO-UNIT command. New input/output units (devices, controllers) can be defined. New input/output units have to be specified in the order channel -> controller -> device. Up to 256 devices can be added to the controller using the ADD-IO-UNIT command.

Dynamic I/O configuration change is supported for the following device classes:

  • disk and tape devices

  • LAN devices

The command is only accepted if the dynamic I/O configuration change was started successfully (see START-CONFIGURATION-UPDATE command).

Restrictions and peculiarities

The following procedures have to be completed before a new tape device that has been added using ADD-IO-UNIT can take up operation:

  1. A depot has to be assigned to the device using the ADD-DEVICE-DEPOT command.

  2. If MAREN is being used and the new device is to be subject to free tape allocation, the MARENUCP subsystem has to be stopped and restarted.

  3. If the new device is being operated by a robot and if it is not contained in the ROBAR configuration file, the ROBAR-SV subsystem has to be stopped and restarted.

A new LAN device has to be configured in BCAM before or after being added. 

The IOTRACE subsystem only considers new input/output units, if it is restarted after changes have been made to the configuration.

Format

ADD-IO-UNIT                                                                                                                                             

UNIT = *CHANNEL(...) / *CONTROLLER(...) / *DEVICE(...)


*CHANNEL(...)



|

TYPE = *IBF (...)



|


*IBF(...)



|



|

MODE = *FCP



|

,CHANNEL-PATH-ID = <x-text 2..3>


*CONTROLLER(...)



|

NAME = <alphanum-name 2..2> / <x-text 4..4>



|

,TYPE = <alphanum-name 3..6>



|

,LOGICAL-ADDRESS = 0 / <integer 0..255>



|

,PATH = list-poss(8): *CHANNEL(...)



|


*CHANNEL(...)



|



|

CHANNEL-PATH-ID = <x-text 2..3>



|



|

,CONTROLLER-ADDRESS = 00 / <x-text 1..2>



|



|

,PATH-STATE = *INCLUDED / *REMOVED



|



|

,PORT-ID = *NONE / <x-text 2..16>



|

,DEVICE-RANGE = list-poss(8): *DEVICE (...)



|


*DEVICE(...)



|



|

FIRST-ADDRESS = 00 / <x-text 2..2>



|



|

,NUMBER-OF-DEVICES = 256 / <integer 1..256>


*DEVICE(...)



|

NAME = <alphanum-name 2..2> / <x-text 4..4> / *RANGE(...)



|


*RANGE(...)



|



|

FIRST-NAME = <alphanum-name 2..2> / <x-text 4..4>



|



|

,NUMBER-OF-DEVICES = <integer 2..256>



|

,TYPE = <x-text 2..4 without-odd>



|

,DEVICE-ADDRESS = <x-text 2..2>



|

,PATH = list-poss(8): *CHANNEL(...) / *CONTROLLER(...)



|


*CHANNEL(...)



|



|

CHANNEL-PATH-ID = <x-text 2..3>



|



|

,PATH-STATE = *INCLUDED / *REMOVED



|


*CONTROLLER(...)



|



|

NAME = <alphanum-name 2..2> / <x-text 4..4>



|



|

,PATH-STATE = *INCLUDED / *REMOVED



|

,PREFERRED-PATH = *NO / *YES(...)



|


*YES(...)



|



|

CHANNEL-PATH-ID = <x-text 2..3>



|

,PAV-ALIAS-DEVICE = *NO / *YES(...)



|


*YES(...)



|



|

DEVICE-ADDRESS = <x-text 2..2>

,STATE = *ATTACHED / *DETACHED

Operands

UNIT = *CHANNEL(...) / *CONTROLLER(...) / *DEVICE(...)
Specifies which input/output unit is to be added to the configuration.

UNIT = *CHANNEL(...)
Specifies the channel to be added to the configuration.

TYPE = *IBF(...) 
A serial type FC channel is to be added.

MODE = *FCP
Specifies the mode in which the IBF channel is to operate:
The channel is operated in “fibre channel” mode (for connecting controllers with FC capability). This is the default value.

CHANNEL-PATH-ID = <x-text 2..3>
The number of the channel.

UNIT = *CONTROLLER(...)
The controller that is to be added to the configuration.

NAME = <alphanum-name 2..2> / <x-text 4..4> 
Mnemonic device code of the controller: either two alphanumeric characters (A...Z, 0...9) or four hexadecimal digits in the range 1000 through FFFF.

TYPE = <alphanum-name 3..6> 
Controller type.

LOGICAL-ADDRESS = 0 / <integer 0..255> 
Specifies a logical address:
0 to 255 for the controller on the type FC channel (MODE=*FCP).

The default is logical address 0.
For the controller on the fibre channel this specifies the more significant byte of the LUNs (Logical Unit Numbers) of the devices connected to this controller. The low order byte of the LUN is defined for the device by the DEVICE-ADDRESS operand.

PATH = list-poss(8): *CHANNEL(...) 
As many as eight input/output paths via which the controller can be accessed can be entered in a list.

CHANNEL-PATH-ID = <x-text 2..3> 
Specifies the number of the channel to which the controller is linked.

CONTROLLER-ADDRESS = 00 / <x-text 1..2> 
Specifies the physical controller address.
The default is address 00.

PATH-STATE = *INCLUDED / *REMOVED 
Specifies whether the link between the channel and the controller is available. The default is *INCLUDED, i.e. the connection is available.

PORT-ID = *NONE / <x-text 2..16>
Specifies whether the controller is connected to a Fibre Channel.
The default is *NONE, i.e. the controller is not connected to a Fibre Channel.

PORT-ID = <x-text 2..16>
When a controller is connected to a Fibre Channel the WWPN (World Wide Port Name) of the controller port (16 hexadecimal characters) must be specified. The /SHOW-DEVICE-CONFIGURATION INF=*INNER command for the controller can then be used to output the WWPN.

DEVICE-RANGE = list-poss(8): *DEVICE(...)
Lists up to eight address areas through which devices linked to the controller can be accessed. Each address area is specified by the first device address and the total number of device addresses that follow it. To determine a device address in the address area, 1 is added for each device, starting from the first address. The value of the final address must not exceed FFFF.

FIRST-ADDRESS = 00 / <x-text 2..2> 
First device address.

NUMBER-OF-DEVICES = 256 / <integer 1..256> 
Number of devices in the address area.

UNIT = *DEVICE(...)
A device that is to be added to the configuration.

NAME = <alphanum-name 2..2> / <x-text 4..4> / *RANGE(...) 
Mnemonic device code of the device: either two alphanumeric characters (A...Z, 0...9) or four hexadecimal digits in the range 1000 through FFFF. A two-character alphanumeric mnemonic can always be selected for devices. A four-digit hexadecimal device mnemonic (1000 - FFFF) is permitted for all disk and tape devices and for devices of the type 6D (HNC).
A group of devices can be added with the aid of the *RANGE operand.

NAME = *RANGE(...)
A range of devices is added. Based on the mnemonics of the first device (FIRST-NAME operand), the mnemonics of the following devices are determined by adding 1 until the maximum number of devices defined in the NUMBER-OF-DEVICES operand is reached. The group can comprise as many as 256 devices. The maximum number has to be chosen so as not to exceed the value FFFF when the mnemonics are calculated.

FIRST-NAME = <alphanum-name 2..2> / <x-text 4..4> 
Mnemonic device code of the first device.

NUMBER-OF-DEVICES = <integer 2..256> 
Number of devices to be added.

TYPE = <x-text 2..4 without-odd> 
Device type code (see “System installation” [46]).

DEVICE-ADDRESS = <x-text 2..2>
Device address.
For a device on the Fibre Channel this specifies the low order byte of the LUN (Logical Unit Number). The more significant byte of the LUN is defined on the controller using the LOGICAL-ADDRESS operand.

PATH = list-poss(8): *CHANNEL(...) / *CONTROLLER(...) 
Up to eight input/output paths can be specified in a list, via which a device or a group of devices can be reached. The entries can refer either on the channel or on the controller. A mixed entry of both is not possible.

PATH = list-poss(8): *CHANNEL(...)
As many as eight channels via which the device can be addressed can be specified in a list.
Channel-specific specifications are not currently supported on SU /390 and S servers. Devices can only be added via a controller (see PATH= *CONTROLLER).

CHANNEL-PATH-ID = <x-text 2..3> 
Number of the channel to which the device is linked.

PATH-STATE = *INCLUDED / *REMOVED 
Specifies whether the link between the channel and the device is available or not. The default is *INCLUDED, i.e. the connection is available.

PATH = list-poss(8): *CONTROLLER(...)
As many as eight controllers via which the device can be accessed can be specified in a list.

NAME = <alphanum-name 2..2> / <x-text 4..4> 
The device code of the controller to which the device is linked.

PATH-STATE = *INCLUDED / *REMOVED 
Specifies whether the link between the controller and the device is available or not. The default is *INCLUDED, i.e. the connection is available.

PREFERRED-PATH = *NO / *YES(...) 
Specifies whether a path is to preferred on input/output if the device can be accessed via different paths. The default setting is *NO, i.e. there is no preferred path.

PREFERRED-PATH = *YES(...)
A specific input/output path is to be used with preference.

CHANNEL-PATH-ID = <x-text 2..3> 
Designates the preferred path (Channel Path Identifier).

PAV-ALIAS-DEVICE = *NO / *YES(...) 
Specifies whether the device is to be defined as an alias device of a PAV volume on the Fibre Channel. The default is *NO, i.e. no alias device is defined.

PAV-ALIAS-DEVICE = *YES(...)
The device is to be defined as an alias device of a PAV volume. The associated PAV base device must already be defined and it may not have a lower device number than the alias device (an assignment table with the mnemonic and device number is contained in the “System Installation” manual [46]).

DEVICE-ADDRESS = <x-text 2..2> 
Alias address of the alias device. The address must be unique in the controller. For an alias device on the Fibre Channel the alias address must differ from the low order byte of the LUN.
Information on generating base and alias devices is provided in the “System Installation” manual [46].

STATE = *ATTACHED / *DETACHED 
Specifies the status (available or not available) in which the input/output unit is added to the configuration. The default is *ATTACHED, i.e. the new input/output unit is available. This status can be changed using the ATTACH-DEVICE or DETACH-DEVICE commands. 

Return codes

(SC2)

SC1

Maincode

Meaning


0

CMD0001

Command executed without error


1

NKR0006

Syntax error


64

CMD0216

Insufficient authorization

1

64

NKR0169

system error

2

64

NKR0169

Wrong parameter

3

64

NKR0169

Dynamic I/O configuration change was rejected

4

64

NKR0169

Dynamic I/O configuration change not supported

6

64

NKR0169

Internal input/output unit not defined

7

64

NKR0169

Input/output unit already defined

8

64

NKR0169

Input/output unit type not supported

10

64

NKR0169

No free table entry for input/output unit

12

64

NKR0169

Dynamic I/O configuration change was not started

14

64

NKR0169

Configuration changes not made in guest system

16

64

NKR0169

Another guest system currently being started

17

64

NKR0169

Another guest system currently being stopped

18

64

NKR0169

Dynamic I/O configuration change is not supported by one or several guest systems

Specification of controller type (UNIT=*CONTROLLER)

For disk and tape controllers on the Fibre Channel no distinction need be made between types. A disk controller is generated with DISK01, a tape controller with TAPE02 and controller for LAN devices with TD0001.

Example

The logical volumes with the LUNs 256 through 505 are configured on 2 ports of a disk controller with the port WWPNs 50060484360A4E8E and 50060484360A4E9A and connected to the two type FC channels with the channel numbers 38 and 3C (via an FC switch). The two controller ports are to be defined as a controller with the name 8800, the logical volumes as devices of the type D3435 with the names 8800 through 88F9. The logical volume with LUN 256 is to be operated as a PAV volume with 8800 as the base device and 88FF as the alias device.

Procedure
  1. Start configuration update:

    /START-CONFIGURATION-UPDATE
  2. Add channels:

    /ADD-IO-UNIT UNIT=*CHANNEL(TYPE=*IBF(MODE=*FCP),CHANNEL-PATH-ID=38)
    /ADD-IO-UNIT UNIT=*CHANNEL(TYPE=*IBF(MODE=*FCP),CHANNEL-PATH-ID=3C)
  3. Add controller:

    /ADD-IO-UNIT UNIT=*CONTR(NAME=8800,TYPE=DISK01,LOGICAL-ADDR=1,
                             PATH=(*CHANNEL(38,00,,50060484360A4E8E),
                                   *CHANNEL(3C,00,,50060484360A4E9A)),
                                DEV-RANGE=*DEV(00,256))
    
  4. Add devices:

    /ADD-IO-UNIT UNIT=*DEV(NAME=*RANGE(8800,250),TYPE=A5,
                           DEV-ADDR=00,PATH=*CONTR(8800)),
                   STATE=*DETACHED
    
  5. Add PAV alias device:

    /ADD-IO-UNIT UNIT=*DEV(NAME=88FF,TYPE=A5,DEV-ADDR=00,
                           PATH=*CONTR(8800),PAV-ALIAS-DEV=*YES(DEV-ADDR=FF)),
                   STATE=*DETACHED
    
  6. Terminate configuration update:

    /STOP-CONFIGURATION-UPDATE IORSF-UPDATE*YES(LEVEL=n)