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),
In the following example, 10 full volumes are 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.
//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) -
ZFS 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 the following example. 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.
//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) -
ZFS 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
//*