PDF file

advertisement
OS/390 & ISV RESVOL
(Installation and) Maintenance
Strategies
Putting It All Together
on a RESVOL-set
Session 2829 - SHARE 93 Technical Conference
Steve Schunk
Schunk and Associates, Inc. (SNK)
s.schunk@schunk-associates.com
www.schunk-associates.com
Copyright 1999 Schunk and Associates, Inc. (Permission granted to SHARE, Inc. to distribute.)
08/1999 - Page 1
Disclaimer:
This material is provided for your information, critical analysis and
discussion. You need to evaluate whether the methods and
techniques presented are useful and appropriate for your particular
installation and operation environment.
Trademarks:
IBM (International Business Machines Corporation):
OS/390, MVS/SP, MVS/XA, MVS/ESA, ServerPac, CBIPO, CBPDO, CICS, DB2.
CA (Computer Associates International, Inc.):
CA-APCDOC, CA-1, CA-7, CA-11, CA-90s, CA-Dispatch, CA-DNAM/TLMS, CA-EARL,
CA-Easytrieve, CA-Examine, CA-Intertest, CA-JARS, CA-JCLCheck, CA-LIBRARIAN,
CA-Mutil-Image Manager (MIM), CA-Optimizer/II, CA-Optimizer, CA-Panvalet,
CA-Scheduler, CA-View, CA-Ramis, CA-NetMan.
Team Contributions:
K. Tomiak, H. Sherman, G. Nikovits, B. Sheinin, J. Perlman
08/1999 - Page 2
Agenda
Objectives for this Session
This is a Systems Management Session
Definition of Terms
Goals, Background and Assumptions
Implementation
Summary
Examples
Questions
08/1999 - Page 3
Why are you here?
Are you managing more OS/390 images?
Has the number of installed and supported ISV products in your
shop increased?
Has the IT technical support staff remained at the same (or
reduced) levels?
Are you being asked to do more with less?
Do you repeatedly install the same ISV product only for deployment
on multiple images?
Were the last ISV software deployments less than perfect?
Have you been asked to install or maintain an ISV product with little
notice?
Is Disaster Recovery or Contingency Planning an important
function?
08/1999 - Page 4
Definition of Terms
ISV:
An acronym for Independent Software Vendor, a.k.a. OEM (Original
Equipment Manufacturer), or other non-IBM system software.
RESVOL-set:
Used to logically reference the collection of physical DASD volumes that
collectively contain the OS/390 operating libraries. Sometimes called
the extended RESVOLs.
OS:
Generic term for complete Operating System - OS/390 with all its
elements and ISV products.
VANILLA:
Unmodified code delivered by a software vendor.
BASE:
The starting point for a product's related target and distribution libraries,
where the vanilla code is installed (both SMP/E and non-SMP/E
methods). The base is never modified by the customer.
08/1999 - Page 5
Library Types
Target:
Contains executable load modules and ISPF libraries.
Parm/Control:
Parameter and other statements providing control data for regular
production operation (i.e., PARMLIB, PPOPTION).
Source:
Macros used to specify operating (run-time) information that are
assembled and/or linked into modules and load modules.
Run-Time Data:
Used in normal production operation (like CA-TMS TMC,
Netview/AOC Logs, HSM CDS, XCF CDS, APPC SI and TP
cluster, and various SMS control files).
08/1999 - Page 6
Goals: What We Want to Achieve
Gain process efficiencies (do more with less)
Skilled systems programming and technical resources are
limited
Reduce the total OS install and maintenance cycle time
Improve OS production deployment quality
Reduce inter-product errors among all OS/390 elements and
ISV products
Reduce intra-product errors among ISV product suites
Contained, IPLable system
A limited, contained DASD set for Disaster Recovery
08/1999 - Page 7
Goals: What We Want to Achieve
(continued)
Simplify ISV product installs
Build (install) vanilla product base only once
Design allows systems specific customization isolated from the
vanilla base
Base cloned out to other systems for production deployment
Supports SMP/E and non-SMP/E installation and maintenance
processes
Complete, integrated testing (on a dedicated SYSPROG
development system)
Simple, accurate cloning to other target systems from the base
08/1999 - Page 8
Goals: What We Want to Achieve (continued)
Simplify ISV customization process
Allow distinct, separate product customization by target system
Select and use standard options (whenever possible)
Customized system specific libraries are concatenated before
the vanilla base
Integrated component testing (to improve quality)
ISV products thoroughly tested with all OS/390 elements to
make sure they work and play well with others
08/1999 - Page 9
CONS - the downside considerations
Staff coordination for installation, customization, test and
deployment is increased
Technicians must know ISV product function and operation
Technicians must be proficient with SMP/E and non-SMP/E
processes:
Standard RECEIVE, APPLY and ACCEPT
USERMOD builds
ZONE EDIT, JCLIN, UCLIN
DASD requirements may be increased
A profound culture change for the technical staff is likely
Some ISV products are not sufficiently critical to business to be
included in this process standardization
Reevaluation of the "emergency service" process is suggested
08/1999 - Page 10
Assumptions
OS/390 was installed using ServerPac (modified system
replacement)
Operating target datasets now span more than 1 RESVOL
System symbolics are being used in the target dataset catalog
entries (&SYSR1)
A defined deployment process currently exists
The technical support group owns the complete software
installation process
08/1999 - Page 11
Implementation Strategy Recommendations
Define (review - adjust) dataset naming conventions
No system specific identification is included in a HLQ
Consider a single, unique HLQ for ISV product dataset names
(Example: ISV1 - similar to SYS1)
Use or incorporate vendor supplied DSN HLQ whenever
possible (Example: ISV1.CAI...)
After selecting a convention, build or adjust GLOBAL, TARGET
and DLIB DDDEF entries
Create batch ZONE EDITs from JCL supplied with the
product
DDDEF VOLSER entry uses the hard-coded (not symbolic)
volume serial
Catalog entries in the MCAT
Review and validate security constructs, and access rules
Consider publishing a "SYSPROG" User Guide
08/1999 - Page 12
Implementation Strategy Recommend (continued)
Get more DASD to extend the RESVOL-set
Need sufficient DASD space to contain all ISV products
Recommendations:
1 additional volume per RESVOL-set for target libraries and
SMP/E zone
1 DLIB volume
1 Global volume
Use the same volume naming convention as the existing
RESVOLs by adding a volume sequence identification
(more on naming conventions in a moment...)
08/1999 - Page 13
Implementation Strategy Recommend (continued)
Review and adjust system parameters
Define and adjust system symbolic parameters:
&SYSR1, &SYSR2, &SYSR3...
Master Catalog Entries:
DEF NVSAM(NAME(isv1.product.linklib) VOL(&SYSRSn) DEVT(0000))
Review SYS1.IPLPARM(LOADxx)
Validate the IEASYM statement
SYS1.PARMLIB (IEASYMxx) and (IEASYM00)
Define additional system symbol variables to suit your needs
Segregate library types
Identify libraries that will be modified and determine the correct
volume placement (usually OFF RESVOL)
08/1999 - Page 14
Rules of the Road
BE WARNED: If you don't follow them, you WILL have a
serious accident.
RESVOLs are "Read-only" and contain only:
Target operating libraries, and
SMP/E target zones (CSI) and their related SMP/E control files
Target libraries residing on any volume in the RESVOL-set are
cloned
Read-only: No datasets are updated during normal system
operation
Backup process usually captures CSI and related target libraries
together
Consolidated SMP/E CSIs are not used
Global and DLIB zones need to be stationary, and are not
cloned
08/1999 - Page 15
Rules of the Road (continued)
Use DDDEFs for ALL SMP/E supported products
No instream DD statements allowed in SMP/E process JCL
APPLY, ACCEPT, and BUILDMCS function considerations
Always want SMP/E to select the correct target library copy
SMP/E datasets are cataloged in a UCAT
Allows access and use among systems for query purposes
APPLY and ACCEPT are done only from the driver system
Customized modules MUST be segregated to system specific
libraries
Parm/Control (manual text) go to the CATVOL or UTLVOL,
Target (UMOD, assemble or link process) on the RESVOL-set,
Data (end-user or operating) on other data volumes.
08/1999 - Page 16
Rules of the Road (continued)
Customized modules - library placement example:
ISV1.CAI.sysid.CAILIB
= RESVOL
ISV1.CAI.CAILIB
= RESVOL
ISV1.CAI.sysid.PPOPTION
= CATVOL
userdept.CAI.sysid.CA7.CALENDAR
= UTLVOL
08/1999 - Page 17
Naming Conventions and Examples
Purpose: Common understanding only - "Red means Stop", "Green
means Go". Examples are shown for illustrative purposes - choose what
is meaningful for your environment!
RESVOL (DASD VOLSER convention for RESVOL-set)
scRSlq
sc = 2 letter &SYSCLONE value (also used in PARMLIB member suffix)
RS = constant "RS" for (RESVOL-set)
l = single numeric maintenance level indicator (1, 2, 3, ...)
q = single alphabetic volume sequence (A, B, C, ...)
RSscl#
RS = constant "RS" (for RESVOL-set)
sc = 2 letter &SYSCLONE value
l = single alphabetic maintenance "level" indicator
# = single number volume sequence (1, 2, 3,...)
08/1999 - Page 18
Naming Conventions and Examples (continued)
SMP/E Environment:
CSI DSNs:
SMPE.vendor.[product.]Tresvol.CSI
ZONENAMEs:
Tresvol (Target), Dvolser (Distribution), GLOBAL (Global Zone)
(lower case indicates a variable)
vendor: 3 to 8 character vendor name or acronym
product: 3 to 8 character sub-product name or acronym
Whenever possible, use dataset names supplied by the vendor.
The SMP/E CSI DSN contains the SMP/E zonename providing an
internal to external link.
08/1999 - Page 19
Naming Conventions and Examples (continued)
SMP/E CSI and Related Dataset Placement:
Target
RESVOLn:
CSI, SMPLDS, SMPLOG, SMPLOGA,
SMPMTS, SMPSCDS, SMPSTS.
DLIB
DLIB VOLn:
CSI, SMPLOG, SMPLOGA, and product
DLIB datasets.
Global
GLOBAL VOL:
CSI, SMPLOG, SMPLOGA, SMPPTS (TLIB),
perhaps RELFILEs.
Objective:
Related SMP/E datasets kept on the same volume as the CSI,
Target and DLIB CSI's on a volume with related target or DLIB files
HFS DFDSS Backup:
Is placed on the last ServerPac RESVOL..
08/1999 - Page 20
CAI Product Examples
This vendor selected for concept illustration only because:
most products are installed using SMP/E
most products are easily contained in a single or multiple
GLOBAL,
operating options are selected using different methods
(assembled loadmods, PARMLIB)
(We do not offer or imply any endorsement, positive or negative, nor have
these techniques been approved or disapproved by CAI.)
08/1999 - Page 21
CAI Product Examples (continued)
Standard target library set (HLQ: ISV1.CAI. or CAI.)
...CAICLIB
...CAIHELP
...CAIISPL
...CAIISPM
...CAIISPP
...CAIISPS
...CAIISPT
...CAIOLIBE
...CAILIB
...CAILPA
...CAIMAC
...CAISRC
...CAIPROC
...CAICICS
...SAMPJCL
...PPOPTION
TSO CLIST
TSO Help
ISPF Load
ISPF Menu
ISPF Panel
ISPF Skeleton
ISPF Table
SAR Panels & JCL Skeletons
(Utility to Load into SAR DB)
LINKlib
LPAlib
Macro
Source
PROCLIB
CICS Loadlib
Sample JCL & Installation Procedures
PARMLIB
08/1999 - Page 22
CAI Product Examples (continued)
System specific target library set (HLQ: CAI.sysid)
...CAILIB
...CAIPROC
...CAISRC
...PPOPTION
Not necessarily limited to these, usage determines volume
placement.
08/1999 - Page 23
CAI Product Examples (continued)
DSN Samples (with exceptions):
HLQ:
Panvalet
Optimizer
Ramis
ISV1.CAI.**
ISV1.CAI.PAN.**
ISV1.CAI.OPT.**
ISV1.CAI.RAM.**
Panvalet
Optimizer
Ramis
SMPE.CAI.GLOBAL.CSI
SMPE.CAI.PAN.resvol.CSI
SMPE.CAI.OPT.resvol.CSI
SMPE.CAI.RAM.resvol.CSI
SMP/E:
for target and DLIBs
tzn: Presvol
tzn: Oresvol
tzn: Rresvol
lower case indicates
variable
08/1999 - Page 24
Implementation Checklist
1. Select and prioritize ISV products for rebuild or reinstall.
For each product or vendor product suite:
Review vendor installation documentation
Select ISV products to combine or separate
Review USERMOD application and other customization techniques
2.
3.
4.
5.
6.
7.
8.
Establish additional RESVOL(s) - minimally 1 to start.
Establish additional DLIBVOL(s).
Verify GLOBAL volume free space.
Establish (or adjust) dataset naming conventions.
Validate security.
Allocate vanilla base libraries for the primary install.
Allocate system specific (SYSID) target libraries on appropriate
volume(s) to accommodate system specific customization.
9. Segregate SMP/E CSIs.
10. Update SMP/E target and DLIB zone DDDEFs.
11. Update system cloning procedure for additional RESVOLs.
08/1999 - Page 25
Implementation Checklist (continued)
12. Update (alter) master catalog entries for all target libraries:
Add new convention names using system symbolic VOLSER (&SYSRS3),
Delete old, existing name (only after new setup if fully deployed).
13. Update SYS1.PARMLIB (PROGxx) entries - DSN & VOLSER
parameters:
Remove duplicate entries for APF authorization,
Order/Pair system specific libraries before vanilla,
Add VOLSER to use appropriate system symbolic (like &SYSRS3).
14. Review and update all existing DSNs for ISPF allocation CLISTs.
15. Review and update target DSNs in system started procedures (STCs).
16. Test and correct, and re-test.
08/1999 - Page 26
Summary
Know and understand your ISV product and its associated library
types
Develop or enhance DSN conventions
Only vanilla code is allocated on the RESVOL-set
Modified code must be located off the RESVOL-set, or installed in
system specific libraries
Keep associated SMP/E CSIs (and related control datasets)
together with the libraries they represent
Think logical container
Develop scheduled release cycles
Plan for emergency service process
08/1999 - Page 27
EXAMPLES
08/1999 - Page 28
BEFORE
Dataset Copy #3
ISV-VOL#1
Product "A"
ISV-VOL#1
Product "A"
ISV-VOL#2
Product "B"
Product "B" Reinstall #2
ISV-VOL#3
Product "C"
Datatset
Copy#1
ISV-VOL#2
Product "B"
ISV-VOL#3
Product "C"
RES-VOL#2
RES-VOL#2
OS/390 "CLONE"
RES-VOL#1
RES-VOL#1
08/1999 - Page 29
(TRANSITION)
CAT-VOL
ISV-VOL#1
Product "A"
UTL-VOL
ISV-VOL#2
Product "B"
RES-VOL#2
RES-VOL#1
ISV "CLONE"
OS/390
"CLONE"
RES-VOL#4
Product "C" & "D"
RES-VOL#3
Product "A" & "B"
RES-VOL#2
RES-VOL#1
08/1999 - Page 30
AFTER
CAT-VOL
RES-VOL#4
Product "C" &
"D"
UTL-VOL
RES-VOL#3
Product "A" & "B"
RES-VOL#4
Product "C" &
"D"
RES-VOL#3
Product "A" & "B"
OS/390 "CLONE"
RES-VOL#2
RES-VOL#2
RES-VOL#1
RES-VOL#1
08/1999 - Page 31
The System Volume - Logical Container
RESVOL: Read-only target operating libraries (RESVOL-Set)
CATVOL: MCAT, with minimal page datasets, JES2 Spool, and
critical customized product libraries (ISPF, SDSF) for emergency use
IPLVOL: Required run-time data files for major subsystems (i.e.,
TMC, HSM CDS)
HFSVOL: Operating libraries for UNIX System Services
UTLVOL: Unique product (or subsystem) data files that are system
specific -- utility
08/1999 - Page 32
USERMOD Customization Example
++USERMOD(UMTLMS1) REWORK(9902182)
/*
LIB: CAIBASE.USERMODS(UMTLMS1)
DOC: THIS USERMOD CREATES 2 CA-TLMS V5.4 OPTION LMODS (TLTPOPTS)
FOR SEPARATE SYSTEMS.
*/ .
++VER (Z038)
FMID(CD15400).
++JCLIN
.
//UMTLMS1 JOB
//*
//LKED1
EXEC PGM=IEWL,PARM='LIST,XREF,LET,NORENT'
//SYSPRINT DD SYSOUT=*
//CDO53LLD DD DISP=SHR,DSN=CAI.OMS.CDO53LLD,DISP=SHR
//SYSLMOD DD DISP=SHR,DSN=CAIBASE.CAILIB(TLTPOPT1),DISP=SHR
//SYSLIN
DD *
INCLUDE CDO53LLD(TLTPOPT1)
ENTRY
TLTPOPTS
NAME
TLTPOPT1(R)
/*
08/1999 - Page 33
USERMOD Customization Example (continued)
//LKED2
//SYSPRINT
//CDO53LLD
//SYSLMOD
//SYSLIN
INCLUDE
ENTRY
NAME
/*
//*
EXEC PGM=IEWL,PARM='LIST,XREF,LET,NORENT'
DD SYSOUT=*
DD DISP=SHR,DSN=CAI.OMS.CDO53LLD,DISP=SHR
DD DISP=SHR,DSN=CAIBASE.CAILIB(TLTPOPT2),DISP=SHR
DD *
CDO53LLD(TLTPOPT2)
TLTPOPTS
TLTPOPT2(R)
08/1999 - Page 34
USERMOD Customization Example (continued)
++SRC(TLTPOPT1)
DISTLIB(CDO53SLD)
DISTMOD(CDO53LLD) .
*
*
CA-TLMS OPTIONS FOR SYSTEM #1
*
TLTPOPTS START
CAIDTOPT USER=DEFAULT,PRODUCT=TLMS,
PFKEYS=(HELP,,END,RETURN,,,BACKWARD,FORWARD,,,,CANCEL)
CAIDTOPT USER=LIBRMGR,PASSWRD=MGR,ACCESS=UPDATE
CAIDTOPT USER=LIBR1,PASSWRD=TAPE1,ACCESS=UPDATE
CAIDTOPT USER=LIBR2,PASSWRD=TAPE2,ACCESS=UPDATE
CAIDTOPT USER=LIBR3,PASSWRD=TAPE3,ACCESS=UPDATE
CAIDTOPT USER=APPL1,PASSWRD=APPL1,ACCESS=INQUIRY
CAIDTOPT USER=APPL2,PASSWRD=APPL2,ACCESS=INQUIRY
CAIDTOPT USER=APPL3,PASSWRD=APPL3,ACCESS=INQUIRY
CAIDTOPT USER=PC01AN,PASSWRD=APPL1,ACCESS=INQUIRY
CAIDTOPT USER=TS01LW,PASSWRD=GOD2,ACCESS=UPDATE
CAIDTOPT USER=INQR,PASSWRD=INQR,ACCESS=INQUIRY
CAIDTOPT
END
X
08/1999 - Page 35
USERMOD Customization Example (continued)
++SRC(TLTPOPT2)
DISTLIB(CDO53SLD)
DISTMOD(CDO53LLD) .
*
*
CA-TLMS OPTIONS FOR SYSTEM #2
*
TLTPOPTS START
CAIDTOPT USER=DEFAULT,PRODUCT=TLMS,
PFKEYS=(HELP,,END,RETURN,,,BACKWARD,FORWARD,,,,CANCEL)
CAIDTOPT USER=TAPELB1,PASSWRD=LIBRARY1,ACCESS=UPDATE
CAIDTOPT USER=TAPELB2,PASSWRD=LIBRARY2,ACCESS=UPDATE
CAIDTOPT USER=MANAGER,PASSWRD=CSCUPDT,ACCESS=UPDATE
CAIDTOPT USER=INQR,PASSWRD=INQR,ACCESS=INQUIRY
CAIDTOPT
END
X
08/1999 - Page 36
USERMOD Customization Example (continued)
//*
//*
//SMPE1
//SMPPTFIN
//SMPCNTL
SET
RECEIVE AND APPLY TLMS CUSTOM USERMODS
INVOKE CA-PRODUCT SMP PROCEDURE
EXEC CAISMPEU
DD DISP=SHR,DSN=CAIBASE.USERMODS(UMTLMS1)
DD *
BDY
(GLOBAL).
RECEIVE S
(UMTLMS1)
LIST
SYSMODS.
RESETRC .
SET
BDY
(CAIBASE).
APPLY
S
(UMTLMS1)
/*
CHECK
*/
/*
REDO
*/
ASSEM.
/*
*
08/1999 - Page 37
USERMOD Customization Example (continued)
//*
//*
//
//STEP2
//SYSPRINT
//IPFILE
//OPFILE1
//OPFILE2
//SYSIN
COPYMOD
SELECT
COPYMOD
SELECT
/*
//*
COMMENT JCL TERMINATOR (//) FOR APPLY
EXEC PGM=IEBCOPY
DD SYSOUT=*
DD DISP=SHR,DSN=CAIBASE.CAILIB
DD DISP=SHR,DSN=CAIBASE.MVS1.CAILIB
DD DISP=SHR,DSN=CAIBASE.MVS2.CAILIB
DD *
I=((IPFILE,R)),O=OPFILE1,LIST=YES
M=((TLTPOPT1,TLTPOPTS,R))
I=((IPFILE,R)),O=OPFILE2,LIST=YES
M=((TLTPOPT2,TLTPOPTS,R))
I/P COMMON LIB
O/P SYSTEM #1
O/P SYSTEM #2
08/1999 - Page 38
PARMLIB Customization Example
SYS1.IPLPARM(LOADP1)
************************************************************************
*---+----1----+----2----+----3----+----4----+----5----+----6----+----7-IODF
13 SYS3
OS390
IEASYM
(P1,00,L)
NUCLST
P1
NUCLEUS 1
SYSCAT
CTLGP1113CCATALOG.MASTER.NPP1
SYSPLEX PLEXP
PARMLIB SYS1.PARMLIB
PARMLIB SYS1.IBM.PARMLIB
SYSPARM 00
SYS1.PARMLIB(IEASYMP1)
/*----------------------HISTORY--------------------------------------*/
SYSDEF SYSNAME(NPP1)
SYMDEF(&NPJESPLX='JPLX1')
SYMDEF(&HSMID='E')
SYMDEF(&HSMASTER='Y')
SYMDEF(&NPSUBA='02')
08/1999 - Page 39
PARMLIB Customization Example (continued)
SYS1.PARMLIB(IEASYM00)
/*-------------------------------------------------------------------*/
SYSDEF SYMDEF(&NPSYSID='&SYSNAME(-1:1)')
SYMDEF(&NPSUFFIX='&SYSNAME(-2:2)')
SYMDEF(&NPSYSPLX='&SYSPLEX')
SYMDEF(&SYSR2='&SYSR1(1:3)2&SYSR1(-2:2)')
SYMDEF(&SYSR3='&SYSR1(1:3)3&SYSR1(-2:2)')
SYMDEF(&SYSR4='&SYSR1(1:3)4&SYSR1(-2:2)')
SYMDEF(&RESVSET='&SYSR1(1:3)&SYSR1(-2:2)')
SYMDEF(&RESVTGT='T&SYSR1(1:3)&SYSR1(-2:2)')
SYSDEF LPARNAME(PRBLP1)
SYMDEF(&NPLPAR='B1')
SYSDEF LPARNAME(PRBLP2)
SYMDEF(&NPLPAR='B2')
SYSDEF LPARNAME(PRBLP3)
SYMDEF(&NPLPAR='B3')
/*-------------------------------------------------------------------*/
08/1999 - Page 40
Download