SMC 的主要功能是影响操作系统在分配过程中对磁带机的选择,以确保在 StorageTek TapePlex 和虚拟环境中选择可接受的设备。此外,SMC 还会根据特定的卷位置、暂存负载平衡和用户策略,创建一个可接受设备首选列表。虽然在 JES2(或无装置的 JES3)与有磁带装置的 JES3 之间对分配进行影响的机制不同,但所有系统用来选择可接受和首选设备的逻辑是相同的。
一般情况下,SMC 分配不能向根据作业的 JCL 创建的原始列表中添加设备。它只能消除不可接受的设备并使剩余的可接受设备成为首选设备。但是,通过使用 SMC IDAX 接口(请参见IDAX 上的 SMC 专用设备组替换)或 SMC DFSMS 接口(请参见"SMC DFSMS 处理"),可以将 JCL 中的原始专用设备组替换为任何其他专用设备组,而这可能会有不同的设备或设备类型。
SMC 通过对初始设备集应用一系列标准(称为“排除级别”)并移除不符合标准的那些设备,来确定每个磁带分配可接受的磁带机列表。这个过程称为磁带机排除。
如果 SMC 尝试应用某个特定的排除标准并因此排除了所有剩余的合格磁带机,则将显示消息 SMC0045
和 SMC0046
,指示不能应用某个特定的排除标准。但是,排除过程会继续,如果可能,SMC 会应用后续标准。
如果看起来向可用列表中的任何磁带机进行挂载都将失败,则 SMC 分配可能会故意导致作业在分配时失败。例如,无法在 9490 磁带机上以物理方式挂载包含介质 STK1R 的卷,并且无标签磁带不能是虚拟的。
此外,有些客户也可能倾向于使作业在分配时失败,而不是使用非预期的暂存介质,或者要求某个特定的卷弹出并进入一个不同的 ACS。可以使用 SMC ALLOCDEF
(或 ALLOCJOB
)MINLVL
参数使作业在分配时失败,或者反过来,覆盖使作业在分配中失败这一 SMC 默认行为。
设置 MINLVL=0
将指定 SMC 决不应当使作业在分配时失败。
默认的 MINLVL
值为 2,指示只有对于不兼容的介质或虚拟标签类型,才应当使作业在分配时失败。
如果需要,客户可以要将 MINLVL
设置为更高的值。有关特定卷和暂存卷的 SMC 排除级别的详细信息,请参见磁带机排除。
在应用所有排除标准之后,将根据策略、卷位置或暂存计数以及最后挂载时间,将剩余的磁带机按其需求度进行排列。这个过程称为磁带机优先级确定。在此过程中,SMC 还会在 MVS 控制块中设置标志,指示应将挂载延迟到 OPEN
(除非某个策略指定不应延迟挂载)。
注:
在选择满足分配请求的磁带机时,SMC 分配不考虑磁带机的状态(例如,脱机、繁忙)。如果 SMC 选择的所有磁带机都不可用,则作业将进入分配恢复状态。磁带机排除过程包括以下步骤:
SMC 在每个作业步骤(或动态分配)中检查每个磁带 DD 的合格设备初始列表,并从各种来源(包括 DFSMS ACS 例程:SMC POLicy
命令与 TAPEREQ
控制语句以及用户出口的组合)收集策略信息。
SMC 使用该策略信息来选择每个磁带分配的“属主 TapePlex”。如果某个 POLICY
指定了 TapePlex 名称或者指定了包含受单个 TapePlex 控制的设备的专用设备组,则会选择该 TapePlex 作为分配的所有者。
如果有多个 TapePlex 有资格获得分配的所有权,则会选择第一个返回成功状态的 TapePlex 作为所有者。对于某个特定的卷请求,成功的响应表示卷在磁带库中,或者卷被定义为虚拟卷。对于暂存请求,成功的响应表示 TapePlex 有可用于所请求的介质和暂存子池的暂存卷。
除了与可用的暂存卷进行通信之外,SMC 还通过与一个或多个 TapePlex 进行通信并收集有关特定卷特征和位置的信息来执行“卷查找”。如果 SMC 无法从 TapePlex 获取此信息,可使用 ALLOCDef
FAILnoinfo
参数来控制是允许作业在分配时失败,还是仅根据可用的策略继续进行。
SMC 应用通过卷查找获得的信息和使用一组有序级别的策略,并且最早(编号最小)的级别先应用,较不重要的级别后应用。例如,级别 2 被认为更重要,并且在级别 3 之前应用。
每当应用某个特定的排除会消除所有磁带机时,SMC 会忽略该标准并继续使用下一个排除级别。
注:
有关 SMC 策略规范的说明,请参见第 4 章 策略。
有关用户出口的更多信息,请参阅《ELS Legacy Interfaces Reference》。
对于特定的卷分配,SMC 会根据下表中的标准按排除级别从低到高的顺序排除磁带机。级别编号越低,排除标准的重要性越高。
消息 SMC0043
和 SMC0046
中显示的排除标准中指定了与每个排除级别关联的关键字。
级别 |
特定卷标准 |
关键字 |
---|---|---|
MultipleTape PlexPre-Req 1 |
排除不在所请求的 TapePlex 中的磁带机 主要来源: 第二级来源:特定卷用户出口 (08/13) TAPEPLEX |
无 |
MultipleTape PlexPre-Req 2 |
当专用设备组仅包含一个 TAPEPLEX 中的设备时,根据 ESOTERIC 排除磁带机。 主要来源: 第二级来源:特定卷用户出口 (08/13) ESOTERIC |
无 |
MultipleTape PlexPre-Req 3 |
根据不成功的卷查找排除磁带机。 只有卷查找成功的第一个 TapePlex 中的磁带机仍然合格。 如果任何 TapePlex 的卷查找都不成功,则使用所定义的第一个 TapePlex。 |
无 |
1 |
对于无标签 (NL) 的特定卷请求,将排除所有虚拟磁带机。排除所有 主要来源:外部卷标签 第二级来源: 可通过卷标签或者通过 HSC |
|
2 |
仅限于虚拟卷,排除位于不可访问的 VTSS 中的虚拟磁带机,或者位于无法将迁移的虚拟卷重新调用到其中的 VTSS 中的虚拟磁带机。这是默认的最低级别。 |
AVAILVTSS |
3 |
根据所需的录制技术排除磁带机。 来源: |
VOLATTRRECTECH |
4 |
根据用户位置策略排除磁带机。 主要来源: 第二级来源:特定的卷用户出口 (08/13) 或关联隔离出口 (10/12) 返回代码。 |
USERPOLICY |
5 |
根据 SMC |
EXTVOLESOT |
6 |
根据卷位置类型(即磁带库或非磁带库)排除磁带机。 |
LOCTYPE |
7 |
根据卷的 ACS 位置(对于磁带库卷)和虚拟卷的驻留 VTSS 排除磁带机。 |
ACSORVTSS |
8 |
根据所请求的录制技术排除磁带机。 主要来源:DFSMS 数据类录制技术。 第二级来源: |
POLRECTECH |
以下示例展示了 SMC 如何应用排除级别来影响特定卷的分配。
JCL:
//DDNAME DD DSN=ABC.DEF,DISP=OLD
策略规范:
POLICY NAME(POL1) VOLTYPE(SPECIFIC) ESOTERIC(A19840B,A19840A) RECTECH(STK1RB) TAPEREQ DSN(ABC.*) POLICY(POL1)
卷查找信息:
特定卷 VOL123
SMC 卷查找指示 VOL123
的介质类型为 STK1R
单密度,在 TapePlex HSCLIB
ACS 0
中。
分配排除处理:
从排除级别 1 开始,SMC 排除所有非 9840 设备(与卷介质不兼容的那些设备)。
级别 2 没有影响。
SMC 不排除级别 3 的任何设备,因为没有 HSC VOLATTR
将卷限制到单密度磁带机。
SMC 排除不在专用设备组 A19840B
或 A19840A
中的所有磁带机。
SMC 不排除级别 5 的任何设备,因为卷在 TapePlex 中。
SMC 排除所有非磁带库磁带机(如果有任何剩余的磁带机)。
SMC 尝试排除不在 ACS 0 中的所有磁带机。但是,由于此时剩余的设备仅包括 ACS1 中的 9840 磁带机(基于专用设备组 A19840B
和 A19840A
),因此在此次排除后,EDL 中没有任何剩余的磁带机。
然后,SMC“返回”到其在级别 7 排除前时的 EDL,并发出消息 SMC0045
或 SMC0046
将 ACSORVTSS
指定为冲突标准。
根据排除级别 4,只有专用设备组 A19840B
和 A19840A
中的磁带机仍然合格。
级别 8 没有影响。
分配优先级处理:
在磁带机优先级确定过程中,SMC 会将一个较高的优先级值分配给专用设备组 A19840B
中的磁带机,将一个较低的优先级值分配给 A19840A
中的磁带机。
对于暂存卷分配,SMC 根据表 5-2 中的标准按排除级别从低到高的顺序排除磁带机。级别编号越低,排除标准的重要性越高。
消息 SMC0043
和 SMC0046
中显示的排除标准中指定了与每个排除级别关联的关键字。
级别 |
特定卷标准 |
关键字 |
---|---|---|
MultipleTape PlexPre-Req 1 |
排除不在所请求的 TapePlex 中的磁带机 主要来源: 第二级来源:用户出口 (02/04) 中的 TAPEPLEX 名称 |
无 |
MultipleTape PlexPre-Req 2 |
当专用设备组仅包含一个 TAPEPLEX 中的设备时,根据 ESOTERIC 排除磁带机。 主要来源: 第二级来源:暂存卷用户出口 (02/04) ESOTERIC |
无 |
MultipleTape PlexPre-Req 3 |
根据基于介质类型和子池的不成功暂存查找排除磁带机。 只有暂存查找成功的第一个 TapePlex 中的磁带机仍然合格。 主要来源:DFSMS 数据类介质规范。 第二级来源: 第三级来源:暂存卷用户出口 (02/04) 子池 如果任何 TapePlex 的暂存查找都不成功,则使用所定义的第一个 TapePlex。 |
无 |
1 |
对于无标签 (NL) 暂存卷请求,排除所有虚拟磁带机。排除所有 |
VIRTUALLABEL |
2 |
仅限于虚拟卷,排除位于不可访问的 VTSS 中的虚拟卷,以及位于不支持所请求的 VTCS 管理类的 VTSS 中的所有磁带机。 |
AVAILVTSS |
3 |
根据所请求的介质排除磁带机。 主要来源:DFSMS 数据类介质规范。 第二级来源: 第三级来源:暂存卷用户出口 (02/04) 虚拟介质返回代码或虚拟专用设备组。 |
POLMEDIA |
4 |
根据用户位置策略排除磁带机。 主要来源: 第二级来源:暂存卷用户出口 (02/04) 或关联隔离出口 (10/12) 返回代码。 |
USERPOLICY |
5 |
根据子池中的可用暂存卷的介质排除磁带机。 主要来源: 第二级来源:暂存卷用户出口 (02/04) 子池名称或编号。 |
SUBPOOL |
6 |
根据可用磁带库或虚拟暂存卷的位置,排除磁带库、非磁带库或虚拟磁带机。 |
LOCTYPE |
7 |
根据 SMC |
ZEROSCRATCH |
8 |
根据所请求的录制技术排除磁带机。 主要来源:DFSMS 数据类录制技术。 第二级来源: |
POLRECTECH |
以下示例展示了 SMC 如何应用排除级别来影响暂存卷的分配。
JCL:
//DDNAME DD DSN=DEF.GHI,DISP=NEW
策略规范:
POLICY NAME(POL2) VOLTYPE(SCRATCH) SUBPOOL(SP1) MEDIA(ECART) MODEL(9490) TAPEREQ DSN(DEF.*) POLICY(POL2) SMC ALLOCDEF ZEROSCR(ON)
暂存用户出口返回使用 SUBPOOL(SP2)
和 ESOTERIC(XYZ)
。
卷查找信息:
SMC 卷查找报告 TapePlex HSCLIB
在子池 SP1
中有暂存卷。
分配排除处理:
从排除级别 1 开始,SMC 排除具有指定了 MODEL=IGNORE
的 SMC UNITATTR
命令的磁带机。
级别 2 没有影响。
SMC 排除不支持介质 ECART
的所有设备。
因为指定了 POLicy
,因此将忽略用户出口专用设备组 XYZ
,级别 4 没有影响。将发出消息 SMC0197
以指明此情况。
SMC 排除与子池 SP1
中的暂存卷不兼容的所有磁带机(TAPEREQ
策略覆盖用户出口策略)。
SMC 排除所有非磁带库磁带机。
如果 SP1
的暂存卷仅存在于单个 ACS 中,则 SMC 将排除其他 ACS 中的磁带机。
SMC 排除 MODEL
不是 9490 的所有剩余磁带机。
以下示例展示了 SMC 如何应用排除级别来影响虚拟暂存卷的分配。
JCL:
//DDNAME DD DSN=GHI.JKL,DISP=NEW
策略规范:
POLICY NAME(POL3) VOLTYPE(SCRATCH) ESOTERIC(VTSS1) SUBPOOL(VIRT1) MGMTCLAS(MGMT1) TAPEREQ DSN(GHI.*) POLICY(POL3) SMC ALLOCDEF SMS(ON) SMC SMSDEF MGMTPOL(ALL) VTVMGMT(ON)
DFSMS 例程返回管理类 MGMT2
。
因为 MGMT2
不是有效的策略名称,因此将被忽略;将使用来自 TAPEREQ POL3
的策略。
卷查找信息:
SMC 卷查找返回可用于暂存分配的 VTSS 列表。在此示例中,要求返回能够访问 ACS 且其 RTD 录制技术与 MGMT1
兼容的联机 VTSS,根据这一条件,返回的列表是 VTSS2
和 VTSS3
。
分配排除处理:
从排除级别 1 开始,SMC 排除具有指定了 MODEL=IGNORE
的 SMC UNITATTR
命令的磁带机。
SMC 排除不在 VTSS2
或 VTSS3
中的所有虚拟磁带机。
SMC 排除所有非虚拟磁带机,因为 POLICY
专用设备组 VTSS1
仅包含虚拟磁带机。
SMC 排除不在 VTSS1
中的所有磁带机。
由于 VTSS1
不是由 HSC/VTCS 返回的,因此 SMC 会“撤消”级别 4 排除并发出消息 SMC0045
或 SMC0046
,但会继续其他处理。根据排除级别 2,只有 VTSS2
和 VTSS3
中的磁带机仍然合格。
在此示例中,剩余的排除级别没有影响。
显式单元关联是一种 MVS 工具,允许在同一个磁带机上按顺序挂载与两个单独的 JCL DD 语句(即分配请求)关联的卷。对一个 GDG 组的所有世代(GDG ALL 链)的请求可以被视为 GDGALL 关联。
SMC 不区分这两种类型的关联。在处理关联链时,磁带机排除过程会单独检查链中的每个分配,直到达到最低排除级别(含)。当最低排除级别处理得到的结果是适用于两个或更多个链成员且不包含共有磁带机的合格磁带机列表时,链始终是隔离的。
例如:
//DD1 DD UNIT=CART,DSN=MY.STK1R.DATASET,DISP=OLD //DD2 DD UNIT=AFF=DD1,DSN=MY.LONGI.DATASET,DISP=OLD
DD1
指定 9840 或 T9840B 介质上的数据集,DD2
指定纵向介质上的数据集。特定卷的磁带机排除级别 1 会根据所需的卷介质为每个 DD 创建一个合格磁带机列表。这两个列表不包含共有磁带机。因此,SMC 会打破 DD1
与 DD2
之间的关联链,两个 DD 语句不再代表一个磁带机分配,而是代表两个单独的分配请求。
SMC 磁带机优先级是根据以下标准分配的:
对于特定卷,首选最靠近卷的 LSM 中的磁带机。对于与特定卷相隔相同数量的通道的磁带机,SMC 会为其设置相同的优先级值。
对于暂存卷,首选与策略所请求的介质及录制技术匹配的暂存卷数量最多的 LSM 中的磁带机。
POLicy
ESOTeric
列表会导致根据在专用设备组列表中指定的顺序来首选磁带机。
POLicy
PREFer
参数指示 LSM 位置(特定卷的位置)、专用设备组(暂存卷和特定卷的专用设备组)列表以及暂存计数(暂存卷的计数)在确定每个设备的优先级值时的相对优先级。
注:
有关其他优先级确定因素,请参阅《ELS Legacy Interfaces Reference》。在选择了用于分配的最终磁带机列表之后,将根据“最后使用”算法(在考虑 LSM 和磁带机类型首选之后)选择合格磁带机的优先顺序。
为了避免对分配的磁带机造成过度磨损,SMC 会根据每个磁带机的“最后挂载时间”以轮流方式分配磁带机优先级值。将针对最终磁带机列表中的每个磁带机检查此值。将定位具有最近挂载的磁带机,选择列表中紧随其后的磁带机作为当前分配的最优先磁带机。
注:
此算法不适用于虚拟磁带机。默认情况下,SMC 会延迟所有自动磁带挂载。可以设置 SMC ALLOCDef
命令 DEFER
参数来覆盖此默认设置。为了实现最佳性能,建议使用默认的 DEFER(ON)
。有关 SMC ALLOCDef
命令的更多信息,请参阅《ELS Command, Control Statement, and Utility Reference》。
注:
虚拟挂载始终会延迟。SMC 不会影响以下类型的盒式磁带分配:
按需分配(即对特定磁带机的请求)
注:
SMC 为按需分配执行DEFER
处理。通过输入 ALLOCJob
命令 BYPASS
参数显式排除的分配。有关 SMC ALLOCDef
命令的更多信息,请参阅《ELS Command, Control Statement, and Utility Reference》。
其中的合格设备列表仅包含“未知”(即非虚拟、非磁带库并且未在 SMC UNITAttr
命令中定义)设备的分配。
DFSMS 管理的分配。SMS 管理的数据集是作为定义了存储类的数据集定义的。在以下情况下会分配存储类:
在 DD 语句上指定了 STORCLAS
参数。
安装时写入的 ACS 例程为新数据集选择了存储类。
SMC 会检查 JES2 系统上的所有 I/O 设备分配以确定是否要处理分配请求。
在执行磁带分配事件期间,SMC 使用 MVS 子系统接口 (subsystem interface, SSI) IEFJFRQ
子系统功能请求出口来获取控制权。SMC 在 JES2 环境中获取以下子系统功能的控制权:
SSI55-DFSMS 解释器/动态分配出口 (Interpreter/Dynamic Allocation Exit, IDAX)
SSI24-通用分配
SSI78-磁带分配
在 MVS JCL 解释处理过程中,IDAX 提供了机会来替换 JCL 单元参数、卷计数、保留期或到期日期以及 DISP=NEW
(以及可选的 DISP=MOD
)数据集的其他特定 JCL 属性。
注:
此功能是可选的。有关实施 SMC IDAX 处理以及指定 IDAX 策略属性的信息,请参见IDAX 上的 SMC 专用设备组替换。以下各节介绍了一些重要的 JES3 注意事项。
如果 JES3 未管理任何设备,并且在 JES3 STANDARDS
初始化语句上指定了 SETUP=NONE
,则 SMC 的运行方式与其在 JES2 环境中的运行方式相同。
如果 JES3 未管理任何盒式磁带机,但在管理其他类型的设备,请在 SMC START
过程的 EXEC
语句中指定 J3NOSET
参数。有关更多信息,请参见创建 SMC START 过程。指定了 J3NOSET
时,SMC 的运行方式与其在 JES2 环境中的运行方式相同。
如果指定了 SETUP=NONE
或 J3NOSET
,则不需要在 JES3 系统上安装 Type 1 修改。
SMC 支持 JES3 管理的磁带机。JES3 通过 SETUP
处理来管理磁带机;当在 JES3 STANDARDS
初始化语句的 SETUP
参数中指定了 JOB
、HWS
(high watermark setup,高水位设置)或 THWS
(tape high watermark setup,磁带高水位设置)时,该处理将分配在 SETNAME
语句上标识的磁带机。在此环境中,JES3 必须管理所有盒式磁带机,SMC 才能正确运行。
SMC 支持可在以下 MVS 子系统接口 (subsystem interface, SSI) 和 JES3 组件阶段中运行:
SSI55 解释器/动态分配出口 (Interpreter/Dynamic Allocation Exit, IDAX)
JES3 转换器/解释器 (Converter/Interpreter, C/I)
SSI23 JES3 动态分配
JES3 主设备调度程序 (Main Device Scheduler, MDS)
SSI24 通用分配
SMC SSI55 处理在 JES2 和 JES3 中完全相同。有关更多信息,请参见SSI55 IDAX(Interpreter/Dynamic Allocation Exit,解释器/动态分配出口)。
在 JES3 C/I POSTSCAN
处理过程中,SMC 会替换一个专用设备组以从分配中消除不可接受的磁带机。SMC 执行以下过程以获得最佳合格磁带机集:
磁带机排除
关联隔离
用于排除不可接受的设备的专用设备组单元名称替换
在 JES3 C/I POSTSCAN
处理结束时,SMC 可以根据 SMC ALLOCDef
命令 DEFER
参数来延迟分配,直到作业进入启动器为止。此外,在此处理点上,可以根据 ALLOCDef
命令 FETCH
参数抑制提取消息。
在 SSI23 JES3 动态分配处理过程中,SMC 对动态分配执行与对通用分配的 POSTSCAN C/I
处理相同的功能:
磁带机排除
GDGALL
关联隔离
专用设备组单元名称替换
挂载延迟
在 JES3 MDS 处理开始时,SMC 允许根据 SMC ALLOCDef
命令 FETCH
参数抑制动态分配请求的提取消息。
在 MDS 设备选择过程中,SMC 根据磁带机的相对需求度设置磁带机的优先级值;也就是说,JES3 选择具有最高优先级值的可用磁带机进行分配。
在成功完成磁带机排除和关联隔离后,每个分配都可能有一个新的合格磁带机列表。搜索开始查找包含磁带机确切列表的专用设备组。SMC 将中间作业摘要表 (Intermediate Job Summary Table, IJS) 中的原始 JCL 单元名称替换为此新的专用设备组。
对“完美”专用设备组的搜索从原始 JCL 单元名称开始,或者从该数据集的目录条目中的单元名称开始。例如,假设要分配的数据集已使用单元名称 3490 编入目录。下表列出了系统中所有的 "3490" 磁带机。
JES3 按 XTYPE
名称为设备分组,并且按专用设备组为 XTYPE
名称分组。以下示例显示了 JES3 初始化参数中编码的 DEVICE
语句:
DEVICE,TYPE=TA33490,XTYPE=(ACS09490,CA),JNAME=CA10, JUNIT=(A10,MVS1,TAP,ON),XUNIT=(A10,MVS1,TAP,ON) DEVICE,TYPE=TA33490,XTYPE=(ACS09840,CA),JNAME=CA11, JUNIT=(B10,MVS1,TAP,ON),XUNIT=(B10,MVS1,TAP,ON) DEVICE,TYPE=TA33490,XTYPE=(ACS19490,CA),JNAME=CC10, JUNIT=(C10,MVS1,TAP,ON),XUNIT=(C10,MVS1,TAP,ON) DEVICE,TYPE=TA33490,XTYPE=(ACS19490,CA),JNAME=CC11, JUNIT=(C11,MVS1,TAP,ON),XUNIT=(C11,MVS1,TAP,ON) DEVICE,TYPE=TA33490,XTYPE=(NLIB9490,CA),JNAME=CE10, JUNIT=(E10,MVS1,TAP,ON),XUNIT=(E10,MVS1,TAP,ON) DEVICE,TYPE=TA33490,XTYPE=(NLIB9490,CA),JNAME=CE11, JUNIT=(E11,MVS1,TAP,ON),XUNIT=(E11,MVS1,TAP,ON)
每个唯一的位置和设备类型对都有一个唯一的 XTYPE
名称。例如,ACS0 中的 9490 磁带机有一个唯一的 XTYPE
名称,因为它是该位置中唯一的 9490。两个非磁带库 9490 磁带机共享一个 XTYPE
名称,因为它们是同一个位置中的同类型设备。XTYPE
应始终包括单个设备类型或多个兼容的设备类型。例如,9840A 和 9840B 是兼容的设备类型,可以分配到相同的 XTYPE
。
XTYPE
名称与 JES3 初始化参数中的专用设备组名称关联,如下所示:
SETNAME,XTYPE=ACS09490,NAMES=(CART,3490,LIBDRVS,ACS0DRVS,A09490) SETNAME,XTYPE=ACS09840,NAMES=(CART,3490,LIBDRVS,ACS0DRVS,A09840) SETNAME,XTYPE=ACS19490,NAMES=(CART,3490,LIBDRVS,ACS1DRVS,A19490) SETNAME,XTYPE=NLIB9490,NAMES=(CART,3490,NLIBDRVS,NL9490)
假设在磁带机排除处理过程中,SMC 确定了为此分配指定的卷位于 ACS0 中并且需要一个 9490 磁带机。磁带机排除过程按 XTYPE
消除磁带机组。
在上面定义的环境中,以下 XTYPE
组不再可用于分配:
ACS09840
-在级别 1 被排除,因为 T9840 磁带机与卷介质不兼容
NLIB9490
-在级别 6 被排除,因为卷在磁带库中,而这些磁带机不在磁带库中
ACS19490
-在级别 7 被排除,因为卷在 ACS0
中,而这些磁带机在 ACS1
在磁带机排除结束时,剩余一个 XTYPE
(即 ACS09490
)仍可用于分配。
现在,SMC 专用设备组单元名称替换在 SETNAME
定义中搜索仅包含 XTYPE ACS09490
的专用设备组。在此分配中,SMC 选择了专用设备组 A09490
,因为它仅包含 XTYPE ACS09490
。A09490
专用设备组替换了该作业的中间作业摘要 (Intermediate Job Summary, IJS) 表中的原始单元名称 3490
。
如果该示例需要两个磁带机用于分配(例如,UNIT=(3490,2)
),并且要挂载的第一个卷位于 ACS0 中,则磁带机排除结果将如下所述:
ACS09840
-在级别 1 被排除,因为 T9840 磁带机与卷介质不兼容。
NLIB9490
-在级别 6 被排除,因为卷在磁带库中,而这些磁带机不在磁带库中。
排除级别 7 失败。
在级别 7 入口仍有三个磁带机,两个磁带机定义为 XTYPE ACS19490
,另一个磁带机定义为 XTYPE ACS09490
。如果由于 ACS 位置而排除了 XTYPE ACS19490
,则将仅剩余一个磁带机。此分配需要两个磁带机。因此,排除级别 7 不会排除 ACS1 中的磁带机。
在磁带机排除结束时,剩余两个 XTYPE
(即 ACS09490
和 ACS19490
)仍可用于分配。现在,SMC 专用设备组单元名称替换确定 XTYPE ACS09490
无法用于分配。
IBM APAR
OW38427
到 JES3 引入了以下限制:多单元分配使用在相同 XTYPE
中定义的设备。由于 XTYPE ACS09490
仅包含一个磁带机,因此无法满足分配要求。现在,SMC 专用设备组单元名称替换在 SETNAME
定义中搜索仅包含 XTYPE ACS19490
的专用设备组。A19490
专用设备组替换该作业的 IJS 中的原始单元名称 3490
。
在 SMC 更新 IJS 后,JES3 C/I 处理继续进行。JES3 根据 IJS 表创建一个“作业摘要表”(Job Summary Table, JST),并执行任何高水位设置 (high watermark setup, HWS) 链接。在进行 HWS 链接期间,JES3 还可以在 SMC 更改专用设备组后,更改 JST 中的专用设备组单元名称。HWSNAME
初始化语句定义哪些专用设备组单元名称是其他专用设备组单元名称的子集。这将允许 JES3 在后续步骤中重复使用设备。
有关为您的安装设置 JES3 DEVICE
、SETNAME
和 HWSNAME
语句的更多信息,请参见JES3 初始化参数注意事项。
在 JES3 C/I 处理完成时,IJS 将成为代表其剩余存在期间的作业的 JST。JST 会反映由 SMC 和 JES3 所做的专用设备组替换。该作业的下一个阶段是主设备调度程序 (Main Device Scheduler, MDS)。
在 MDS 处理开始时,JES3 开始为分配准备作业。要求操作员提取卷是 MDS 中的一个可选阶段。当作业需要某个当前未挂载的卷,并且 SETPARAM
语句 FETCH
参数设置为 YES
(默认设置)时,JES3 会发出一条提取消息。如果 SETPARAM
语句还指定了 ALLOCATE=MANUAL
,则作业将被置于卷等待队列中,直到操作员检索卷并发出 *START SETUP
命令。
客户的安装可能不希望接收磁带库中的卷的提取消息。为此,对于通用分配请求(JCL 语句分配),请安装 SMC 版的 JES3 用户出口 IATUX09
。对于动态分配请求,请安装对 IATMDFE
的 SMC Type-1 修改。
可使用 SMC ALLOCDef
FETCH
参数控制提取消息的发出。FETCH(OFF)
是默认设置,将抑制要在磁带库磁带机上挂载的任何卷的提取消息。如果要在磁带库磁带机上挂载的非磁带库卷需要提取消息,则应输入 FETCH(NONLIB)
。
注:
FETCH(NONLIB)
会导致再一次对 TapePlex 执行卷查找请求,这可能会影响性能。如果您的系统在 ALLOCATE=MANUAL
的情况下运行(如上所述),当为卷分配抑制了提取消息时,该分配不会进入卷等待队列。
如果您的系统在 SETPARAM
语句设置为 FETCH=NO
的情况下运行,或者您希望接收所有卷的提取消息,则不需要向您的系统应用 IATMDFE
Type-1 修改。此外,IATUX09
用户出口还会执行其他功能,应该应用。
主设备调度程序 (Main Device Scheduler, MDS) 中的下一步骤将分配作业所需的设备。
借助对 IATMDAL
的 SMC Type-1 修改,SMC 可以查看可用于每个磁带分配的磁带机列表。该磁带机列表包含联机且可用的磁带机,并且这些磁带机是在磁带机排除处理后放在作业摘要表 (Job Summary Table, JST) 中的专用设备组中定义的磁带机组的成员。
必须使用以下参数语句将 TapePlex 和非磁带库磁带机环境定义到初始化 Deck 中的 JES3:
用于定义磁带机地址、设备类型和 XTYPE
的 DEVICE
语句
用于定义专用设备组名称并将其与 XTYPE
关联的 SETNAME
语句
用于定义在 HWS 处理过程中使用的专用设备组名称关系的 HWSNAME
语句
本节介绍了这些语句,并说明了如何针对配置样例对这些语句进行编码。此配置包含以下磁带机地址以及与两个系统(MVS1
和 MVS2
)连接的专用设备组。
非磁带库 |
ACS0 | ACS1 | 虚拟 |
---|---|---|---|
120-127 3480 |
220-223 4490 |
320-327 9490 |
A20-A5F VTSS1 |
140-143 3490 |
240-243 9490 |
440-447 9490 |
A60-A9F VTSS2 |
180-189 9840 |
280-289 9840 |
280-289 9840 |
NA |
注:
此示例中的磁带机地址和专用设备组并不是随意的,其用意在于展示可以使用 JES3 定义的设备类型的多样性。确切的 JES3 初始化语句取决于具体配置。DEVICE
语句定义 JES3 可以用来满足分配请求的磁带机。这些语句定义以下项目:
磁带机地址
可以访问磁带机的 JES3/MVS 系统
初始磁带机联机状态
磁带机的设备类型
XTYPE
参数对 SMC 分配尤其重要。XTYPE
将具有相同 XTYPE
值的设备连接到一组专用设备组单元名称。例如:
DEVICE,XTYPE=(DEV0220,CA),XUNIT (220,MVS1,TAP,ON,220,MVS2,TAP,ON), NUMDEV=4,...
表 5-4中列出的 ACS0
中的设备 220
-223
已与 XTYPE
名称 DEV0220
关联。在以下情况下,JES3 可以通过此名称分配组 200
-223
中的设备:当在 JCL 或目录条目中指定了在与 XTYPE
DEV0220
关联的 SETNAME
语句中列出的任何专用设备组单元名称时。
SMC 要求每个 XTYPE
组从真实磁带机类型和位置方面而言是唯一的。在 ACS0
的磁带机列表中,不应当为 4490 磁带机定义与 9490 磁带机相同的 XTYPE
。此外,也不应当为位于 ACS0
中的 T9840 磁带机定义与非磁带库 T9840 磁带机相同的 XTYPE
。不同 VTSS 中的设备应当具有不同的 XTYPE
。
在 SMC 初始化过程中,将检查 XTYPE
分组以验证这些 XTYPE
限制。如果某个 XTYPE
包含混合设备类型或混合位置,则该 XTYPE
组中第一个磁带机的特征将定义剩余的磁带机。
SMC 配置报告实用程序可用于显示 XTYPE
、专用设备组和磁带机信息。有关配置报告的更多信息,请参阅《ELS Command, Control Statement, and Utility Reference》。
以下示例说明了如何针对此配置样例对 DEVICE
语句进行编码。
注:
必须先将磁带机定义到 MVS,然后再将其定义到 JES3。使用硬件配置定义 (Hardware Configuration Definition, HCD) 工具在 I/O 配置中向设备分配 MVS 单元地址。SETNAME
语句定义与 JES3 管理的设备关联的所有专用设备组单元名称和设备类型名称。这些专用设备组单元名称和设备类型名称可通过 DD 语句中的 UNIT
参数指定,也可指定为已编录的数据集条目中的单元类型。
DEVICE
语句将一组磁带机与某个 XTYPE
相关联。SETNAME
语句将 XTYPE
与一组专用设备组单元名称相关联。
在 SMC 专用设备组单元名称替换过程中,SMC 可以利用设备、XTYPE
和专用设备组单元名称之间的关系选择最佳专用设备组单元名称。
注:
在特定卷的分配过程中,SMC 将尝试替换仅包含与卷兼容的磁带机的专用设备组。如果属于原始专用设备组子集的所有专用设备组都包含一些与卷不兼容的磁带机(在 SMCUNITAttr
命令中定义为 MODEL=IGNORE
的磁带机除外),则 SMC 将发出消息 SMC0068
并且不对原始专用设备组执行替换。因此,要确保 SMC 能够执行专用设备组替换,必须在每个 TapePlex 中至少定义一个仅包含兼容磁带机类型的专用设备组。例如,如果有一个包含 ECART
和标准卷以及 9490、4490 及 4480 磁带机的 TapePlex,则必须至少定义一个仅包含与 ECART
卷兼容的磁带机(9490、4490 和 4480 磁带机)的专用设备组。此外,还可以定义包含这些磁带机类型的任何所需组合的其他专用设备组。
为了获得最佳 SMC 性能,请为每个位置中的每个磁带机类型定义一个唯一的专用设备组。例如,名为 A09840 的专用设备组可以定义为仅包含位于 ACS0
中的 T9840 磁带机。
以下示例说明了如何针对此单 TapePlex 配置对 SETNAME
语句进行编码。NAMES
参数值列表中指定的专用设备组单元名称包含以下内容:
CART
-环境中的所有盒式磁带机
NLCART
-不在磁带库 ACS 中的所有盒式磁带机
A0CART
-ACS0 中的所有盒式磁带机
A1CART
-ACS1 中的所有盒式磁带机
ALL
xxxx
-同一设备类型 (xxxx
) 的所有盒式磁带机,不考虑其位置。
LIB
xxxx
-同一设备类型 (xxxx
) 的所有盒式磁带机,在任何磁带库位置中。
yyxxxx
-同一设备类型 (xxxx
) 的所有盒式磁带机,在位置 yy
中。
zzzzzzzz
-VTSS zzzzzzzz
中的所有虚拟设备。
NAMES
列表中还指定了通用设备类型名称(如 3480
或 SYS3480R
)。
* 3480/NONLIBRARY SETNAME,XTYPE=DEV120,NAMES=(SYS3480R,CART,3480,NLCART,NL3480) * * 3490/NONLIBRARY SETNAME,XTYPE=DEV0140,NAMES=(SYS3480R,SYS348XR,CART,3490,NLCART, ALL3490, NL3490) * * 9840/NONLIBRARY SETNAME,XTYPE=DEV0180,NAMES=(SYS3480R,SYS348XR,CART,3490,NLCART, ALL9840,NL9840) * * 4490/ACS0 SETNAME,XTYPE=DEV0220,NAMES=(SYS3480R,SYS348XR,CART,3490,A0CART, A04490,A0DEVT90) * * 9490/ACS0 SETNAME,XTYPE=DEV0240,NAMES=(SYS3480R,SYS348XR,CART,3490,A0CART, ALL9490,LIB9490,A09490,A0DEVT90) * * 9840/ACS0 SETNAME,XTYPE=DEV0280,NAMES=(CART,3590-1,A0CART,ALL9840,A09840) * * 9490/ACS1 SETNAME,XTYPE=ACS19490,NAMES=(SYS3480R,SYS348XR,CART,3490,A1CART, ALL9490,LIB9490,A19490) * * 9940/ACS1 SETNAME,XTYPE=DEV0460,NAMES=(CART,3590-1,A1CART,ALL9940,A19940) * * VIRTUAL DRIVES/VTSS1 SETNAME,XTYPE=DEV0A20,NAMES=(CART,3490,VIRTCART,VTSS1) * * VIRTUAL DRIVES/VTSS2 SETNAME,XTYPE=DEV0A60,NAMES=(CART,3490,VIRTCART,VTSS2)
有关 SETNAME
语句 NAMES
参数的专用设备组单元名称值的更多信息,请参阅相应版本的《IBM JES3 Initialization and Tuning Reference》。
HWSNAME
语句定义哪些专用设备组单元名称是其他专用设备组单元名称的子集。在 JES3 高水位设置 (high watermark setup, HWS) 过程中使用,这些语句确定是否可在各步骤中重复使用某个设备。
第一个 HWSNAME TYPE
参数指定在 HWS 处理过程中使用的专用设备组单元名称(称为主要名称)。接下来的专用设备组单元名称(称为次要名称)可用作主要名称的备用项。
HWSNAME
语句中列出的次要名称的顺序是其可用来替代主要名称的顺序。
例如:
HWSNAME TYPE=(3490,ALL4490,ALL9490,ALL3490)
以及:
//STEP1 EXEC PGM... //DD1 DD UNIT=3490,... //STEP2 EXEC PGM... //DD1 DD UNIT=ALL3490,... //DD2 DD UNIT=ALL4490,...
JES3 HWS 处理为此作业分配两个磁带机。作业在 HWS 后的作业摘要表 (Job Summary Table, JST) 显示了每个 DD 分配请求的以下专用设备组:
STEP1 DD1
和 STEP2 DD2
JST 条目包含 ALL4490
,因为 ALL4490
在次要名称列表中出现在 ALL3490
之前。
STEP2 DD1
JST 条目包含 ALL3490
。
另一个示例说明了在跨步骤边界进行分配时如何使用 HWS 名称:
//STEP1 EXEC PGM... //DD1 DD UNIT=ALL9490,... //DD2 DD UNIT=ALL4490,... //STEP2 EXEC PGM... //DD1 DD UNIT=3490
JES3 HWS 开始于 STEP1
的 DD1
,在 STEP2
中查找可使用相同设备的分配。STEP2
的 DD1
指定了 3490
。主要名称 3490
的以上 HWSNAME
指示 ALL9490
是 3490
的一个备用(即次要)名称。因此,STEP1 DD1
和 STEP2 DD1
分配相同的磁带机。STEP2
的 DD1
的 JST 条目未更新来反映新的专用设备组。为 STEP1 DD2
分配的磁带机在 STEP1
结束时释放。
次要名称不应包含未定义到主要名称的任何设备。
例如:
HWSNAME TYPE=(A0CART,ALL9840,...)
假设:
A0CART
包含磁带机 220-223、240-243 和 280-289。
ALL9840
包含磁带机 180-189 和 280-289。
ALL9840
包含不在 A0CART
中的磁带机 (180-189)。在这种情况下,请求 T9840 磁带机的 TapePlex 内的卷在 JES3 进行 HWS 处理后可能会尝试分配到 TapePlex 外的磁带机。HWS 处理发生在 SMC 专用设备组单元名称替换之后。因此,如果 JES3 也像第一个示例中那样更改专用设备组单元名称,则 HWSNAME
定义可能会影响最终分配决策。
这种情况的最佳解决方案是创建唯一的专用设备组单元名称(按位置和设备类型),使 SMC 可以选择一个没有次要名称的专用设备组单元名称。请参见以下示例中为配置样例编码的 HWSNAME
条目。
* GENERIC MAJOR NAMES HWSNAME TYPE=(SYS3480R) HWSNAME TYPE=(SYS348XR) HWSNAME TYPE=(3480,NL3480) HWSNAME TYPE=(3490,SYS348XR, ALL3490,ALL9490,LIB9490,A0DEVT90, A04490,A09490,A19490,NL3490,NL9840) HWSNAME TYPE=(3590-1, ALL9940, A09840,A19940) * * ALL DRIVES IN THE COMPLEX HWSNAME TYPE=(CART,SYS3480R,SYS348XR,3490,3480,3590-1, ALL3490,ALL9840,ALL9490,ALL9940,LIB9490, A0CART,A1CART,NLCART,A0DEVT90, A04490,A09490,A09840,A19490,A19940, NL3480,NL3490,NL9840) * * DRIVES BY DEVICE TYPE HWSNAME TYPE=(ALL3490,LIB9490,A0DEVT90,A09490,A19490,NL3490, VIRTCART,VTSS1,VTSS2) HWSNAME TYPE=(ALL9840,A09840,NL9840) HWSNAME TYPE=(ALL9490,LIB9490,A09490,A19490) HWSNAME TYPE=(ALL9940,A19940) * * DRIVES BY LOCATION HWSNAME TYPE=(LIB9490,A09490,A19490) HWSNAME TYPE=(NLCART,ALL3490,ALL3480,3480, NL3480,NL3490,NL9840) HWSNAME TYPE=(A0CART,A04490,A09490,A09840,A0DEVT90) HWSNAME TYPE=(A1CART,ALL9940,A19940,A19490) * * DRIVES BY LOCATION AND DEVICE TYPE HWSNAME TYPE=(A0DEVT90,A04490,A09490) HWSNAME TYPE=(NL3480) HWSNAME TYPE=(NL3490) HWSNAME TYPE=(NL9840) HWSNAME TYPE=(A04490) HWSNAME TYPE=(A09490) HWSNAME TYPE=(A09840) HWSNAME TYPE=(A19490) HWSNAME TYPE=(A19940) * * VIRTUAL DRIVES HWSNAME TYPE=(VIRTCART,VTSS1,VTSS2) HWSNAME TYPE=(VTSS1) HWSNAME TYPE=(VTSS2)
POLicy ESOTeric
列表允许用户为某个专用设备组中的设备请求高于另一个专用设备组的优先级。
要实现此处理,可定义一个包含指定列表中所有专用设备组的专用设备组。例如,在配置样例中,专用设备组 A0DEVT90
用于以下策略的专用设备组替换:
POLICY NAME(P1) ESOTERIC(A09490,A04490)
利用 SMC TAPEREQ
语句的 DEVTpref
参数,用户可以在磁带机优先级确定处理过程中,为某种类型的 StorageTek 36 磁轨磁带机请求较高的优先级。可以将第二种或第三种型号的 36 磁轨磁带机指定为备选项。此设备首选方式适用于包含 4490、9490 和 9490EE 盒式磁带机混合的 TapePlex 配置。
要实现此处理,可定义一个专用设备组以包括 ACS 位置所需的所有设备类型或者整个 TapePlex 配置中所需的所有设备类型。在配置样例中,专用设备组 A0DEVT90
为 ACS0
实现此目的。
在磁带机排除过程中,如果某个 TAPEREQ
指示了 DEVT(9490,4490)
用于分配,则当 A0DEVT90
是一个子集(例如,UNIT=3490
)时,SMC 可以将原始单元名称替换为 A0DEVT90
。
注:
在各个步骤间重复使用磁带机时,JES3 HWS 处理可以将此专用设备组更改为A09490
或 A04490
。当指定了值为 ON 的 SMC ALLOCDef
命令参数 ZEROSCR
时,请创建跨 ACS 边界的专用设备组单元名称。例如,可以将以下专用设备组添加到安装样例中:
CA0A1
-包含 ACS0
和 ACS1
中所有磁带机的专用设备组
A0A1X490
-包含 ACS0
和 ACS1
中所有 4490 和 9490 磁带机的专用设备组
假设这两个 ACS 都包含暂存卷。
如果暂存请求未指定介质或录制技术,则 SMC 可以用 CA0A1
替代 CART
。
如果暂存请求要求使用 36 磁轨录制技术,则 SMC 可以用 A0A1X490
替代 3490
。
这样,两个 ACS 都仍可用于分配。
注:
如前所述,JES3 HWS 可以在 SMC 做出其选择后更改专用设备组单元名称。SMC 在 JES3 全局和本地环境中处于活动状态的所有处理器上运行。在全局和本地处理器中,先启动 SMC 及任何磁带库子系统(HSC 或 MVS/CSC),然后再启动需要盒式磁带机的作业。
当 SMC 和磁带库子系统在全局处理器上初始化并进行通信后,SMC 将为通用和动态盒式磁带机分配执行磁带机排除、关联隔离、专用设备组单元名称替换、提取消息抑制、磁带机优先级确定以及挂载延迟。如果 SMC 在作业进入 JES3 C/I DSP
之前未完成初始化,则不会执行此处理。如果 SMC 未初始化,则 SMCEHOOK
宏的 NOSMC
参数上的 PROMPT
值将延迟一个 C/I DSP
,并提醒操作员启动 SMC。
当 SMC 和磁带库子系统在本地处理器上初始化并进行通信后,SMC 将为动态盒式磁带机分配执行磁带机排除、关联隔离和专用设备组单元名称替换。
注:
有关 SMCEHOOK
宏及其参数的更多信息,请参阅出版物安装 ELS。
有关与 SMC、磁带库子系统和 JES3 相关的恢复过程,请参见第 7 章 监视功能和恢复过程。
请考虑以下 JES3 限制:
C/I 处理与 MDS 处理之间存在一个时间窗口。所请求的卷的位置或暂存子池计数在这两个过程之间的间隔中可能会发生变化。出现这种情况时,一个或多个卷可能需要从某个 ACS 弹出或者进入某个 ACS。
如果某个作业包含多个步骤,则 JES3 HWS 处理将尝试尽可能减少所需的设备数量。因此,对于包含多个步骤且每个步骤请求一个磁带机的作业,可以为整个作业分配一个磁带机。以下示例说明了可能会对直通处理产生的影响。
下图展示了包含四个 LSM 的磁带库配置。磁带库中的所有磁带机都已联机并可用。
//STEP1 EXEC //DD1 DD DSN=DSN.IN.LSM0,UNIT=3490,VOL=SER=(EX0001,EX0002) //* //STEP2 EXEC //DD1 DD DSN=DSN.IN.LSM1,UNIT=3490,VOL=SER=EX0003 //* //STEP3 EXEC //DD1 DD DSN=DSN.IN.LSM2,UNIT=3490,VOL=SER=EX0004 //* //STEP4 EXEC //DD1 DD DSN=DSN.IN.LSM0,UNIT=3490,VOL=SER=(EX0001,EX0002)
卷 EX0001
和 EX0002
在 LSM0
中,EX0003
在 LSM1
中,EX0004
在 LSM2
中,并且所有卷都是相同的介质,需要相同的录制技术。SMC 磁带机排除过程选择了相同的专用设备组用于分配。
在 SMC 磁带机排除过程完成后,JES3 HWS 分析确定运行作业所需的最大磁带机数量为一个。MDS 处理分配设备。直通处理执行方式如下所述:
如果分配的磁带机连接到 LSM0
,则直通数量为两个(卷 EX0003
从 LSM1
移出,卷 EX0004
从 LSM2
移出)。
如果分配的磁带机连接到 LSM1
或 LSM2
,则直通的数量为三个(卷 EX0001
和 EX0002
从 LSM0
移出,并且 EX0003
或 EX0004
移动,具体取决于哪个 LSM 包含磁带机)。
如果分配的设备连接到 LSM3
,则直通的数量为四个(所有卷移到 LSM3
)。
SMC 磁带机优先级确定过程在设置磁带机优先级时要使用直通计数。但是,如果“首选”磁带机不可用,则可选择其他可用的磁带机。