Creating a multi-volume compatibility mode aggregate
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),
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
//*