When running a mainframe, there are reasons why you you want to add new control units and DASD disk devices. Assuming that you already added the hardware configuration to the system, you will find that a still running LPAR with linux will just not see any of the changes.
For example, if you have a configuration like the following in the IO configuration:
CNTLUNIT CUNUMBR=2700,PATH=((CSS(0),41,43,4A,4D,50,51), * UNITADD=((00,256)),CUADD=6,UNIT=2107 IODEVICE ADDRESS=(2700,224),CUNUMBR=(2700),STADET=Y,UNIT=3390B, * UNITADD=00 IODEVICE ADDRESS=(27E0,32),CUNUMBR=(2700),STADET=Y,UNIT=3390A, * UNITADD=E0
The configuration on DS8000 with dscli would look like the following:
dscli> lslcu Date/Time: July 17, 2013 2:50:45 PM CEST IBM DSCLI Version: 184.108.40.206 DS: IBM.XXXX-XXXXXXX ID Group addrgrp confgvols subsys conbasetype ============================================= ... 06 0 0 36 0x0004 3990-6 ...
Several disks and alias devices have been configured already on logical control unit 6 of DS8000. The alias devices are needed for the HyperPAV feature of the DS8000. :
dscli> lsckdvol -lcu 06 Date/Time: July 17, 2013 2:56:25 PM CEST IBM DSCLI Version: 220.127.116.11 DS: IBM.XXXX-XXXXXXX Name ID accstate datastate configstate deviceMTM voltype orgbvols extpool cap (cyl) ======================================================================================= - 0600 Online Normal Normal 3390-9 CKD Base - P12 27825 - 0601 Online Normal Normal 3390-9 CKD Base - P14 27825 - 0602 Online Normal Normal 3390-3 CKD Base - P12 3339 - 0603 Online Normal Normal 3390-3 CKD Base - P14 3339 - 0604 Online Normal Normal 3390-9 CKD Base - P12 10017 - 06E0 - - - - CKD Alias 0600 - 0 ... - 06FF - - - - CKD Alias 0600 - 0
When using z/VM, the only thing to be done when you want to activate the devices is a
vary online 2700-2704 27E0-27FF. However from a linux in LPAR mode, there is no such command available. Even after activating the devices from z/VM they would not be visible inside the linux LPAR. To check this, you can use the command
lscss | grep '0\.0\.2700'.
The solution to make the devices available without rebooting the linux is to vary online one of the chpids that are already online. If you look at the IOCDS, it shows that there are six chpids online:
41,43,4A,4D,50,51. In our case, these are just shared for all DASD devices and are also used for other device ranges. Thus they are just online. This can be seen with the following command:
# lscss | grep 0.0.2600 0.0.2600 0.0.01e6 3390/0c 3990/e9 fc fc ff 41434a4d 50510000
The numbers at the end just represent the use chipids. To activate the chpid with number 41, use the following command:
# chchp -v 1 41 Vary online 0.41... done.
After this, the available disks can be checked again:
# lscss | grep '0\.0\.27' 0.0.2700 0.0.02e6 3390/0c 3990/e9 fc fc 2b 41434a4d 50510000 0.0.2701 0.0.02e7 3390/0c 3990/e9 fc fc 13 41434a4d 50510000 0.0.2702 0.0.02e8 3390/0a 3990/e9 fc fc 07 41434a4d 50510000 0.0.2703 0.0.02e9 3390/0a 3990/e9 fc fc 83 41434a4d 50510000 0.0.2704 0.0.02ea 3390/0c 3990/e9 fc fc 43 41434a4d 50510000
Now, the disks on control unit 2700 are also visible on this LPAR. From that point, it is easy to just configure the disks for linux with
yast2 dasd or the commandline utility