Before you can create a large zFS aggregate (for example, ten full
volumes), you must have the following prerequisites:
- Ten empty volumes
- A DFSMS DATACLASS that provides extended addressability (because
the total size is greater than 4 GB)
- A JOB that defines and formats the aggregate.
Assuming that:
- Each volume is a 3390 with 3338 cylinders, and 3336 of those cylinders
are free,
- There are 15 tracks per cylinder,
- And that you can get six 8-KB blocks per track (15 x 6 = 90 8
KB blocks per cylinder),
you should get 90 x 3336 = 300,240 8-KB blocks per volume and
10 x 300,240 = 3,002,400 8-KB blocks in the aggregate.
Figure 1 is an example job
that defines the VSAM linear data set in the first step and formats
it as a zFS aggregate in the second step. The FORMAT step formats
the primary allocation (3336 cylinders) and then extends the data
set by the
-grow amount (300,240 8-KB blocks)
ten times (one extend for each full volume) until it
reaches the total -size amount (3,002,400 8 KB blocks).
The example in
Figure 1 causes the 10 full
volumes to be allocated and formatted by using the
-size and
the
-grow options on the IOEAGFMT step so that the
result is a 10-volume (empty) file system. The
-grow option
is needed in order to allow the specification of a grow increment
size that is less than the size of a volume.
Figure 1. Example job to create
a multi-volume compatibility mode aggregate //USERIDA JOB ,’Multi-Volume’,
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=H
//SYSUDUMP DD SYSOUT=H
//AMSDUMP DD SYSOUT=H
//SYSIN DD *
DEFINE CLUSTER (NAME(OMVS.VOL10.COMPAT.AGGR001) -
VOLUMES(PRV000 PRV001 PRV002 PRV003 PRV004 -
PRV005 PRV006 PRV007 PRV008 PRV009) -
DATACLASS(EXTATTR) -
LINEAR CYL(3336) SHAREOPTIONS(3))
/*
//FORMAT EXEC PGM=IOEAGFMT,REGION=0M,
// PARM=(’-aggregate OMVS.VOL10.COMPAT.AGGR001 -compat -size 3002400 -gX
// row 300240’)
//SYSPRINT DD SYSOUT=H
//STDOUT DD SYSOUT=H
//STDERR DD SYSOUT=H
//SYSUDUMP DD SYSOUT=H
//CEEDUMP DD SYSOUT=H
//*
As another example, you could define a VSAM linear
data set as before with 10 volumes but with a secondary allocation
size of 3336 cylinders, as shown in
Figure 2.
Then you could format only the first volume by leaving out the
-size and
the
-grow and let zFS dynamic secondary allocation
allocate and format the additional volumes (up to 9 more) as needed.
The IOEPRMxx aggrgrow configuration option must be on.
Figure 2. Example
job to create a multi-volume compatibility mode aggregate, using a
secondary allocation size //USERIDA JOB ,'Multi-Volume',
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=H
//SYSUDUMP DD SYSOUT=H
//AMSDUMP DD SYSOUT=H
//SYSIN DD *
DEFINE CLUSTER (NAME(OMVS.VOL10.COMPAT.AGGR001) -
VOLUMES(PRV000 PRV001 PRV002 PRV003 PRV004 -
PRV005 PRV006 PRV007 PRV008 PRV009) -
DATACLASS(EXTATTR) -
LINEAR CYL(3336 3336) SHAREOPTIONS(3))
/*
//FORMAT EXEC PGM=IOEAGFMT,REGION=0M,
// PARM=('-aggregate OMVS.VOL10.COMPAT.AGGR001 -compat')
//SYSPRINT DD SYSOUT=H
//STDOUT DD SYSOUT=H
//STDERR DD SYSOUT=H
//SYSUDUMP DD SYSOUT=H
//CEEDUMP DD SYSOUT=H
//*