Back to my favorite topic of using open source tools on z/OS. I wanted to install zopen.community on my system. And I did not have enough space in the file system. Worse than that, I did not have volumes with enough space.
So I allocated a new volume and now I need to create my linear VSAM dataset that would hold the ZFS file system.
Another obstacle presented itself immediately. I wanted my ZFS dataset to be 8000 cylinders large with additional 1000 cylinders for new extents. The following IDCAMS job failed.
//DEFZFS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//AMSDUMP DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER ( -
NAME(<data.set.name>) -
STORCLAS(<storcls>) -
ZFS CYL(8000 1000) -
SHAREOPTIONS(3,3) -
)
/*
It turned out that in order to have a dataset to be over 4GB it has to be an extended format which requires a data class definition.
When I specified the STORCLASS and DATACLASS in my job, it failed.
//DEFZFS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//AMSDUMP DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER ( -
NAME(<data.set.name>) -
STORCLAS(<storcls>) -
DATACLASS(<datacls>). -
ZFS CYL(8000 8000) -
SHAREOPTIONS(3,3) -
)
/*
SMS did not honor the data class and ther result was an allocation error. Checking the job SYSPRINT, this is what I got
IGD01008I DATACLAS DC <datacls>
IGD01008I STORCLAS SC <storcls>
IGD01008I ALLOCATION SET TO <storcls> XXXXX
IGD01010I IN SG STORCLAS SG SC DC <stgcls> <datcls>
IGD01010I ALLOCATION SET TO <stgcls> STORAGE GROUP
IGD17103I CATALOG ERROR WHILE DEFINING VSAM DATA SET
<data.set.name>
RETURN CODE IS 140 REASON CODE IS 110 IGG0CLEV
The resulting <stgcls>
was different from the <storcls>
I specified.
The IGD0100xI
messages are result of WRITE
diagnostic statements in the ACS routines:
IGD01007I
- data class WRITEIGD01008I
- storage class WRITEIGD01009I
- management class WRITEIGD01010I
- storage group WRITEsee z/OS MVS System Messages Vol 8.
And the IGD17103I
message shows an allocation error.
So I went to ISPF and found the ISMF screens. I only had this menu:
Select one of the following options and press Enter:
0 ISMF Profile - Change ISMF User Profile
1 Data Set - Perform Functions Against Data Sets
2 Volume - Perform Functions Against Volumes
3 Management Class - Specify Data Set Backup and Migration Criteria
4 Data Class - Specify Data Set Allocation Parameters
5 Storage Class - Specify Data Set Performance and Availability
9 Aggregate Group - Specify Data Set Recovery Parameters
L List - Perform Functions Against Saved ISMF Lists
R Removable Media Manager - Perform Functions Against Removable Media
X Exit - Terminate ISMF
And option 7 that allows the display and manipulation of ACS routines was missing.
To get the full storage admin panel I did:
User Mode
to 2
(For a Storage Administrator)Then quit ISMF & re-login to ISMF and I finally saw all the menu options.
Selection or Command ===>
More: +
0 ISMF Profile - Specify ISMF User Profile
1 Data Set - Perform Functions Against Data Sets
2 Volume - Perform Functions Against Volumes
3 Management Class - Specify Data Set Backup and Migration Criteria
4 Data Class - Specify Data Set Allocation Parameters
5 Storage Class - Specify Data Set Performance and Availability
6 Storage Group - Specify Volume Names and Free Space Thresholds
7 Automatic Class Selection - Specify ACS Routines and Test Criteria
8 Control Data Set - Specify System Names and Default Criteria
9 Aggregate Group - Specify Data Set Recovery Parameters
10 Library Management - Specify Library and Drive Configurations
11 Enhanced ACS Management - Perform Enhanced Test/Configuration Management
C Data Collection - Process Data Collection Function
G Report Generation - Create Storage Management Reports
L List - Perform Functions Against Saved ISMF Lists
P Copy Pool - Specify Pool Storage Groups for Copies
R Removable Media Manager - Perform Functions Against Removable Media
Use HELP Command for Help; Use END Command or X to Exit.
The ISMF panels required me to specify
To find out where they are, I was told to run D SMS
operator commandd
D SMS
IGD002I 11:58:20 DISPLAY SMS 439
SCDS = <hlq>.DFSMS.SCDS
ACDS = <hlq>.DFSMS.ACDS
COMMDS = <hlq>.DFSMS.COMMDS
ACDS LEVEL = z/OS V3.1
DINTERVAL = 150
REVERIFY = NO
ACSDEFAULTS = NO
SYSTEM CONFIGURATION LEVEL INTERVAL SECONDS
LOCAL ---------- -------- N/A
MINIPLEX 2025/03/17 08:09:55 15
MOSSPLEX ---------- -------- N/A
7 Automatic Class Selection - Specify ACS Routines and Test Criteria
Allows working with the ACS routine. The panels are mostly self explanatory once you know what SCDS and ACDS stands for, see SMF control data sets
The process is as follows:
One last thing that surprised me was when I wanted to test the routine, I was asked for a ACS Test Library and ACS Test Member. This is a regular FB80 PDS member where ISMF stores the test you define/modify/run on its ACS TEST *
panels.
The syntax of ASC routines is documented in DFSMSdfp Storage Administration manual in chapter Writing ACS routines.
After verify and test I Activate the routines, meaning copying them from SCDS to ACDS.
There is a separate menu option 8 for this on the ISFM panel:
8 Control Data Set - Specify System Names and Default Criteria
Then select option 5
5. Activate - Activate the CDS
after activation you will get a confimration TSO messages
IGD008I NEW CONFIGURATION ACTIVATED FROM SCDS <hlq>.DFSMS.SCDS BY PROD001
IGD403I CURRENT SYSTEM CONFIGURATION
ACTIVATION LEVEL: 86
ACTIVATION TIME(UTC): 16:11:12.30
ACTIVATION DATE: 2025/03/12
ACTIVATION SOURCE: APPL
***