You are on page 1of 9

Lascon StorageCookie PolicyContact usSearch this Site

HOME
Backups

CLOSE






Hardware

CLOSE






Mainframe

CLOSE





Windows

CLOSE




Databases

CLOSE





Strategy
CLOSE


Click on the grey buttons above to open an overlay menu that shows the areas in each major section.
Click on the yellow buttons to the right to move between pages in this area.

DFSMS, ZOS SYSTEM MANAGED STORAGE


DFSMS is a policy based storage management system used by IBM mainframes. The purpose of DFSMS
is to automate as much as possible the management of physical storage. DFSMS can reduce user
concerns about physical details of performance, space, and device management. SMS was designed to:
 Make storage more efficient
 Automate data management
 Allow users to allocate data by service requirements, without needing to know the physical
implementation of those requirements
 Improve performance management
 Automate disk space management
 Improve management of data availability
 Simplify data movement
By and large, those design requirements were met. This section will not tell you everything about DFSMS,
there are plenty of IBM manuals out there. What it will give you, is a general introduction, then some hints
and tips on how to make SMS work.
SMS can decide what files look like, when they migrate between various types of storage, what type of
performance they should get and what storage they are initially allocated to. These policies are
determined by four constructs, the Data Class, Management Class, Storage Class and Storage Group,
managed by ACS routines. Each of these constructs are detailed in the five sub-pages. To change the
constructs, you need to use either ISMF or console commands.
SMS tape manages the tape volumes, the tape devices, and the tape libraries, but not the data on the
volumes. This is usually done by an external tape management system like CA1 or TLMS.
Tape libraries are defined to SMS via the ISMF Library Define panel. You do not define tape volumes in
tape storage groups as you do for DASD. Volumes are added to storage groups dynamically as they are
opened for output.

Changing DFSMS with ISMF


The Interactive System Management Facility is an ISPF menu driven application used to control SMS.
If you use the Data Set or Volume options from the menu, then ISMF can be used for space monitoring
and dataset reporting, and also to delete, backup, release free space, migrate, recall, copy and change
the security access to datasets.
Your site will probably have ISMF as a menu item somewhere, but the TSO command TSO ISMF seems
to work everywhere. The first time you use ISMF you will see a restricted panel with a limited number of
options. Most people have been using SMS for so long, they forget that if new users want to see the full
Storage Users menu list, you must take option '0', then option '0' again to change the user mode. You will
then see a panel like
Change your user mode to '2 For a Storage Administrator (SA)', press enter, then use PF3 until you get
right out of ISMF. Go back in again, and you will see the full set of options. Most sites restrict access to
this, either by restricting access to the change user panel (DGTDPPF5) with RACF, or with some local
coding. The full set of menu options looks like this, for SMS 2.3.

So what does ISMF do? Most of the options are self explanatory, and have good help screens behind
them. Options 1 and 2 are used to report on datasets and volumes. Options 3-6 are used to change the
SMS constructs, details of this are in the construct subpages which you can find in the index on the right
(below for mobiles).
Option 7 is used to manage the ACS routines, the menu system should be easy to follow, and is
discussed on the ACS routines page. A couple of tips are;
When you translate or validate the ACS routines, you have to specify the output file for the messages.
When you come out of the validation page, you get a message.
Its always best to select the Delete option. Why? Because it will probably be a few months before you do
this again. By then, your output listing file will have migrated off to tape, and your screen will be locked up
while you wait for it to come back.
The display option will tell you who last updated each of the four routines. This is useful when things go
wrong, especially if it wasn't you.
Option 'S' is relatively new and is used to manage cloud tiering. When you select 'S', you will see two
further panels;
The Cloud Application Selection panel is used for administrative functions such as List, Display, Define, or
Alter.
The Cloud Define/Alter panel is used to create or alter a cloud definition.

Control Datasets
SMS has three control datasets, the Active Control Dataset (ACDS) the Source Control Dataset (SCDS)
and the Communications Dataset (CommsDS). The CommsDS is used to communicate SMS information
between LPARS and contains information like storage pool occupancy statistics, SMS status and the
name of the ACDS.
Updates are normally made to the SCDS, tested then promoted to the ACDS at activation time. This is
explained more in the ACS routine page.
Option 8 is used to manage the control datasets. Your control datasets are defined in
SYS1.PARMLIB(IGDSMS00) If you are not using the default '00' IGDSMS member, the actual member
will be set in the ID Member in SYS1.PARMLIB(IEFSSN00), the image below shows an extract from this
file, with the IGDSMS member set to the default.

When you first set DFSMS up you need to define a base configuration. Option 8 on the ISMF panels is
used to define and update the base configuration. Things you can expect to find in there are
 The default management class
 The Default Device Geometry, which should be 56664 (bytes per track) and 15 (tracks per
cylinder), unless you are still using 3380 disks.
 The JCL UNIT parameter which is usually set to SYSDA, but you could also code 3380 or 3390.
 The DS Separation Profile is used to keep a list of critical datasets on separate disks. You specify
the dataset name of the profile here
If you want to use the coupling facility for VSAM RLS, then you need some definitions in the DFSMS base
configuration. One use for CF cache structures is as a system buffer pool for VSAM RLS data when that
data is modified on other LPARs. A CF cache structure is defined by your sysprogs and is held within a
single CF. You can have several CFs and several CF structures. A CF Lock structure contains the
dataset and record level locks that maintain serialisation between LPARs. You will need to define lock set
names and CF lock structures to DFSMS.
You need to associate these cache structures with a cache set name in both the DFSMS base
configuration and in a storage class definition. You can have several CF structures within a cache set
name, and then the system will select the best cache structure within the cache set defined for the
storage class.
To defined a cache set with its associated cache structures;
Select option 8, Control Data Set, from the ISMF Primary Option Menu for Storage Administrators. Within
the Control Data Set (CDS) Application Selection panel, supply the CDS name then select option 7,
Cache Update
This displays the CF Cache Set Update panel and on this panel you can enter up to 256 cache set names
and up to 8 CF cache structures for each cache set.
To update the CF Lock set, select option 9, Lock Update from the CDS update panel and this will display
the CF Lock Set Update panel. From here you can define up to 256 lock set names and associate a CF
lock structure with each lock set.
Finally, naming standards for SMS constructs. There are two opposing views here, and both have their
merits.
1. Make the naming standards meaningful, then you can tell what the construct does by its name.
For example, you want a production management class which stays on primary disk for 7 days
unused, migrates to ML1 for 10 days, then goes to ml2 for 2 years (or 730 days). A possible
name for the management class is P071002Y. You can easily work out from the name exactly
what that management class does. However, if you decide you want to change it to stay on ML1
for 20 days, you need to change the name, then run IDCAMS ALTERS to bind all existing files to
the old name.
2. Make the naming standards vague, and use ISMF to find out what they do. So you could call the
above management class M0000001. The name means absolutely nothing, and you can change
the attributes at will, without any issues.
Which is best? I like names which have some meaning, but there are times when too much meaning is a
bad idea. For management classes, I would probably go for something like PRYEAR2, which simply
means the file gets deleted after 2 years non-use, and the rest of the migration timings can be changed
without affecting the name. Data classes are almost fixed by definition, so I'd probably make the
dataclasses names meaningful. Storage classes can also be meaningful, while storage groups are
usually a mixture of specific and general purpose, so the names should reflect that mixture.

Changing DFSMS with console commands


You need to issue these commands from a z/OS console or an ISPF console log screen. Console
commands are usually restricted, so you may not have the correct access level to allow you to issue the
commands below.
DISPLAY SMS

D SMS,SG(poolname),LISTVOL
D SMS,SG(ALERT)
D SMS,SG(ALERT),LISTVOL

is the display command that I find most useful. It will list out all the volumes defined to a storage pool, and
show their status for every LPAR. A new feature was added in DFSMS R2V2, the ability to alert when a
storage pool reaches a total space threshold. This is especially useful for thin allocation pools. To
manage this, a new ALERT keyword is available as shown above. If you use the ALERT keyword, then
the DISPLAY SMS command will just display the storage groups that have reached one of their alert
thresholds.

D SMS,ACTIVE

will list out the names of the three SMS control datasets and the active LPARS in the SMS complex

D SMS,CACHE

will list out the cache statistics for SMS device

D SMS,LIBRARY(ALL)

will show the status of SMS managed tape or optical libraries

D SMS,TRACE

will show the current SMS trace options


SETSMS is used to change SMS runtime parameters
SETSMS ACDS(file.name)

will refresh the SMS data in storage with the data in the ACDS

SETSMS SCDS(file.name)

will activate a new SMS configuration, as changed in the SCDS file


VARY SMS is used to change the status of SMS constructs. You can specify one LPAR, you can select
ALL LPARS or the command will just default to the LPAR that you are logged in to.
The first command will change the status of a volume called 'volser' to be in 'QUIESCE NEW' status for all
LPARS, which means that existing allocations will work and extend as normal, but z/OS will not allocate
any new files to this volume.
The second command will change the status of a volume called 'volser' to be in 'DIS NEW' status for all
LPARS, which means that existing allocations will work, but will not get any new extents. Also, z/OS will
not allocate any new files to this volume.
The third command will change the status of a volume called 'volser' to be in 'ENABLE' status for an
LPAR called SYSB, which means that the volume is fully available for all new and existing allocations.
The final command will change the status of an entire storage group to be in 'QUIESCE NEW' status for
the current LPAR.

V SMS,VOL(volser,ALL),Q,N
V SMS,VOL(volser,ALL),D,N
V SMS,VOL(volser,SYSB),E
V SMS,SG(poolname),Q,N

The following two commands are used to process logical z/OS volumes, and while they are not SMS
commands, they are very useful and this seems to be a good place to mention them
DEVSERV is used to display the status of volumes

Devserv commands
Querying a disk address by volume name

Querying disks by address, and getting path, PPRC and disk type status. This command will list 16
addresses starting with address 1970, but only the first two addresses are shown in the sample output.
There is a wealth of information in this display including; There are two paths to these disks, D8 and C4,
and both are enabled as indicated by the '+' symbol. These are both 3390-9 disks and are in SIMPLEX
state, that is they are not mirrored. Cache fast write and Dasd Fast Write are both active and neither disk
has pinned data.
Querying disks by address, and getting SMS status. The SYSRES volume is not SMS managed.

Querying address and getting the PAV status. Both these addresses are real disks, they are not PAV
aliases

Querying tape systems and getting a list of all defined tape drives

Querying tape libraries to get a list of defined libraries

DEVSERV QLIB,LIST
IEE459I 10.59.03 DEVSERV QLIB 859
The following are defined in the   ACTIVE configuration:
*19966 *17440 *32991 *17441 *02001 *02002

Querying tape libraries, and getting a list of libraries complete with defined tape drives

Querying a range of tape drives by unit address using the display command
The 04=GTA means that 0A39 is online and in use to another LPAR
Querying a range of disk volumes by unit address using the display command

Varying volumes on and off line to all attached LPARS using the route command. This is useful for
initialising volumes, but you must check the syslog after issuing the command and make sure the volume
comes offline to every LPAR before proceeding

RO *ALL,V B10B,OFFLINE
RO *ALL,V B10B,ONLINE

Varying a range of volumes offline to current LPAR (be very careful with this one!)

V 2280-229E,OFFLINE

z/OS Storage and Datasets


 z/OS file structures
 DFSMS on z/OS
 Data Class
 Management Class
 Storage Class
 Storage Group
 ACS routines
 z/OS performance
 z/OS file utilities
 z/OS SMF statistics
 z/OS RMF reporting

z/OS Batch Tuning


 Batch Principles
 Reliability
 Parallelism
 Performance

Lascon updTES
I retired 2 years ago, and so I'm out of touch with the latest in the data storage world. The Lascon site has
not been updated since July 2021, and probably will not get updated very much again. The site hosting is
paid up until early 2023 when it will almost certainly disappear.
Lascon Storage was conceived in 2000, and technology has changed massively over those 22 years. It's
been fun, but I guess it's time to call it a day. Thanks to all my readers in that time. I hope you managed
to find something useful in there.
All the best
back to top

DISCLAIMER - By entering and using this site, you accept the conditions and limitations of use
Click here to see the Full Site Index       Click here to see the Cookie Policy       Click here to see
the Privacy Policy                             ©2019 and later, A.J.Armstrong

You might also like