Is your DevOps process making use of IBM Virtual Dev and Test for z/OS (ZVDT), IBM Z Development and Test (ZD&T) or Wazi Image Builder? Do you need to identify and extract disk volumes from on-premise z/OS systems for use on alternate Target environments, like IBM Cloud or other local targets? Do you struggle to identify which z/OS disk volumes are needed to extract and transfer? If you answered yes to any of these questions there's help available!
For most customers it is not possible to extract all z/OS volumes as there could be thousands of disk volumes consuming 100’s or 1000’s of Terabytes. Extracting this amount of data, then transferring across the network could be an immediate roadblock and may prevent customers from using ZVDT, particularly if there is no solution or assistance to help overcome this difficulty. A common scenario would be for systems programmers to manually review and identify needed z/OS disk volumes for their on-premise systems, extract those volumes, transmit them to a new target environment and then try to IPL z/OS. This almost always results in failures during the first, second or perhaps several IPL attempts due to missing data. The sysprog must return to the on-premise system and identify, extract and transfer additional disk volumes. Such trial-and-error processes are tedious, and time consuming. A new tool is now available to help customers identify a minimum set of disk volumes needed to get z/OS up and running, hopefully in the first try! In the near future this new tool will be integrated into the ZVDT, ZD&T and WIB products so that it can be executed automatically, however, in the meantime it is also available as a standalone command line tool that can be executed from Unix System Services.
This volume reduction tool can analyze a source z/OS system using one of two discovery methods, which are:
- IBM Discovery Library Adapter (DLA) combined with Z Open Automation Utilities (ZOAU)
- Discovery programs provided with ZVDT, WIB or ZD&T (feuc).
The discovery method used by the tool can be controlled by a command line parameter, the default is “feuc” discovery.
Using the discovery process (DLA or feuc), the tool will analyze several key areas of z/OS, for example: system link list, authorized program facility list, master catalog, and Unix system services file systems. Using data sets identified from these key areas, a list of critical disk volumes containing these data sets is built. In case the discovery method excludes or includes data that is or is not wanted, there are tool features that allow you to change how the discovery process builds the final volume list. This is done through explicit inclusion or exclusion lists which contain data set high level qualifiers. The inclusion or exclusion lists are then passed to the program at execution time with a parameter and a file name.
A couple of sub-functions of this tool can also provide additional information which could assist in building inclusion or exclusion lists. These functions can produce a list of all z/OS User Catalogs on a system and a list of all current data set High Level Qualifiers (HLQs).
Tool Prerequisites (Discovery):
- IBM Discovery Library Adapter and Z Open Automation Utilities
or
- one of ZVDT, ZD&T or Wazi Image Builder
Security requirements:
- Console authority (only if using the “feuc” discovery method)
for example:
setropts classact(opercmds)
setropts raclist(opercmds)
rdefine opercmds MVS.MCSOPER. uacc(none)
rdefine tsoauth console uacc(none)
permit MVS.MCSOPER.* class(opercmds) id(xxxx) acc(read)
permit console class(tsoauth) id(xxxx) acc(read)
- Read access to system parmlib
- Ability to run the Catalog Search Interface – sys1.linklib(iggcsi00) – read access to catalogs
Installing:
If installing the tool as a standalone utility, then:
See the README at the following GitHub repo => https://github.com/gkeuken/vol_reduction_tool
In future the tool will be provided with ZVDT, ZD&T or Wazi Image Builder
Executing:
You can execute the command line tool (feucvoli) from USS without any parameters to obtain help information.
Some sample executions below:
To identify all HLQs on a system:
feucvoli -t gethlqs
To identify all z/OS User Catalogs:
feucvoli -t getucat
To identify minimum z/OS volume list using DLA and ZOAU discovery:
feucvoli -t iplvols -f dla
To identify minimum z/OS volume list using feuc discovery provided with ZVDT, ZD&T or Wazi Image builder:
feucvoli -t iplvols
To use inclusion or exclusion lists:
feucvoli -t iplvols -s inclusion_file_name -p exclusion_file_name
The program will write logging/debug information into a file in the /tmp directory. Standard output produced by executing the program will provide details on the file name used for logging. There are some statistics produced which provide feedback on how much “reduction” was achieved, for example the following is some sample output from a real customer:
Example Statistics:
Total Online Volumes found: 6,961
Total Space of All Online disk (GB): 360,720
Minimal Volumes to Extract: 537
Minimal Space Requirements (3390 Cyls) : 35,184,240
Minimal Space Requirements (GB): 27,831
Total Space Savings achieved by running this tool (GB) : 332,889
Total Space Savings achieved by running this tool (%) : 92%
While the sample customer statistics above still show a significant size (27,831 GB), further size reduction might be realized using the exclusion parameters to perhaps exclude additional data that may not be required. Unix System Services filesystems can often be a significant area to look for reducing the number of volumes.