本章介绍了 VLE 的 MVS 主机软件配置,具体如以下各节中所述:
以下各节介绍了软件配置所需的值,这些值必须与通常在硬件配置中设置以及记录在 IP_and VMVC_Configuration.xls
工作表中的值匹配。
按如下所示指定 VLE 的子系统名称(通过 VLE 安装脚本进行设置):
VTCS CONFIG TAPEPLEX
STORMNGR
参数或 CONFIG STORMNGR NAME
参数
VTCS CONFIG RTD STORMNGR
参数
SMC STORMNGR NAME
参数
SMC SERVER
STORMNGR
参数
HSC STORCLAS
STORMNGR
参数
要通过 CONFIG RTD IPIF
参数配置 VTSS 到 VLE 的 IP 连接,需要 VTSS 以太网端口地址。对于 VSM 5,此值必须与 VSM5 "IFF Configuration Status" 屏幕上指定的值匹配。对于 VSM 6,此值必须对每个 VTSS 唯一,但不对应于 VSM 6 TCP/IP 端口上的实际值。
有关更多信息,请参见“指定 VMVCS 的回收策略”。
STORCLAS DEDUP
参数指定迁移到指定 STORMNGR
的 VMVC 中的 VTV 数据是否删除重复项。例如:
STORCLAS NAME(VLEDEDUP)STORMNGR(VLE1) DEDUP(YES)
此 STORCLAS
语句指定对迁移至 VLE1
的存储类 VLEDEDUP
中的数据执行重复数据删除。有关更多信息,请参见《ELS 7.3 Command, Control Statement, and Utility Reference》。
重复数据删除可增加 VMVC 有效容量,由 VLE 在将 VTV 写入 VMVC 之前执行。因此,Oracle 建议,一开始即启用重复数据删除,然后使用 SCRPT
报告监视结果,并根据需要微调重复数据删除。
ETTFB(也称为并发磁带调回/挂载功能)允许主机应用程序在从 VMVC 或 RTD 调回 VTV 的过程中读取数据。ETTFB 是通过重叠 VTV 调回和挂载阶段实现的,允许应用程序更快地读取 VTV 数据。如果应用程序尝试读取 VTV 中尚未调回的那部分数据,则应用程序的 I/O 请求将被阻止,直到所需的 VTV 数据已调回。通过对 VLE 使用 ETTFB,应用程序能在不到一秒内访问第一个字节,从而使 VLE 真正成为 VTSS 的扩展。因此,VLE ETTFB 对于按顺序访问 VTV 数据的应用程序来说是不错的选择。对于将多个文件堆叠在单个 VTV 上的应用程序(包括 HSM 和映像管理应用程序),VLE ETTFB 通常无法提供此优势。在这些类型的应用程序中,所需的数据通常不位于 VTV 的开头,而是随机分布在 VTV 中的某个位置。
默认情况下,ETTFB 处于禁用状态。可以通过 CONFIG GLOBAL FASTRECL
参数全局启用 ETTFB。全局启用 ETTFB 后,可以通过 CONFIG VTSS NOERLYMNT
参数对单个 VTSS 禁用 ETTFB。
发生了 ETTFB 调回错误的 VTV 将在 CDS 中的 VTV 记录中设置错误标志。随后不会为 ETTFB 选择这些 VTV。如果要重置错误标志,请执行以下任一操作:
为 VTV 输入 VTVMAINT SCRATCH(ON)
命令。
将 VTV 迁移至新的 MVC 副本。
导入 VTV。
创建新版本的 VTV。
擦写 VTV。
要将 VLE 添加到 VSM 系统,需要执行以下各节中所述的任务:
有关本章中引用的命令和控制语句的更多信息,请参见《ELS 7.x Command, Control Statement, and Utility Reference》。
对于 ELS 7.2 及更高版本,包括了基本级别的支持。对于 ELS 7.1,请获取最新的 SMP/E
receive HOLDDATA
和 PTF(L1H16J6、L1H1674)并在使用 GROUPEXTEND
的情况下运行 SMP/E APPLY
。
VLE 要求 SMC 具有一个 OMVS RACF 安全入口,以便与主机建立 TCP/IP 连接。
OMVS 是与 RACF 用户 ID 关联的段。SMC 启动的任务必须在 RACF STARTED
类定义或 ICHRIN03 LNKLST
模块中具有与 OMVS 关联的用户 ID。与 SMC 任务关联的用户 ID 需要在 RACF 中定义与该用户 ID 关联的 OMVS 段,如下所示:
ADDUSER userid DFLTGRP(groupname)OWNER(owner)OMVS(UID(uidnumber))
或者,如果该用户 ID 已存在但不具有 OMVS 段,请执行以下操作:
ALTUSER userid OMVS(UID(uidnumber))
SMC 管理 VTCS 和 VLE 之间的所有通信,因此 SMC 必须了解如何连接到 VLE 服务器。为此,需要为每个 VLE 系统添加一个 SMC STORMNGR
语句,以及一个或多个定义 VLE 的 TCP/IP 控制路径的 SMC SERVER
语句。对于 7.0 及更高版本,您可能希望在 SMC CMDS
文件中执行该操作,如示例 2-1中所示。
TAPEPLEX NAME(TMVSA)LOCSUB(SLS0) SERVER NAME(ALTSERV) TAPEPLEX(TMVSA) + HOSTNAME(MVSX) PORT(8888) STORMNGR NAME(VLE1) SERVER NAME(VLE1)+ STORMNGR(VLE1)IP(192.168.1.10)PORT(60000)
示例 2-1包含:
一个 TAPEPLEX
语句,该语句定义单个 TapePlex(即 TMVSA
)以及在同一 MVS 主机上运行的 HSC/VTCS (SLS0
)。
一个 SERVER
语句,该语句定义在其他主机上运行的备份 HSC/VTCS 子系统 (ALTSERV
)。
一个 STORMNGR
命令,该命令定义了一个 VLE (VLE1)
。
另一个 SERVER
命令,该命令定义到该 VLE 的 UUI 通信路径,其中:
服务器名称为 VLE1
。
STORMNGR
参数值为 VLE1
。
IP
参数值为 UUI 通信的 VLE 端口 IP 地址 192.168.1.10。
PORT
参数值为 60000;此值总是用于 SERVER PORT
参数,以便 SMC 与 VLE 通信。
必须更新 VTCS CONFIG
文件以定义 VLE 以及从 VTSS 系统到 VLE 的连接。VTCS 可以驱动 VLE,如下所示:
对于 VTCS 7.0 及更高版本,CONFIG TAPEPLEX
语句定义将运行 VTCS 的 TapePlex,并在 CONFIG TAPEPLEX STORMNGR
参数中提供已定义 VLE 的列表,如示例 2-2中所示。
TAPEPLEX THISPLEX=TMVSA STORMNGR=VLE1 VTSS NAME=VTSS1 LOW=70 HIGH=80 MAXMIG=8 MINMIG=4 RETAIN=5 RTDPATH NAME=VL1RTD1 STORMNGR=VLE1 IPIF=0A:0 RTDPATH NAME=VL1RTD2 STORMNGR=VLE1 IPIF=0A:1 RTDPATH NAME=VL1RTD3 STORMNGR=VLE1 IPIF=0I:0 RTDPATH NAME=VL1RTD4 STORMNGR=VLE1 IPIF=0I:1 RTDPATH NAME=VL1RTD5 STORMNGR=VLE1 IPIF=1A:0 RTDPATH NAME=VL1RTD6 STORMNGR=VLE1 IPIF=1A:1 RTDPATH NAME=VL1RTD7 STORMNGR=VLE1 IPIF=1I:0 RTDPATH NAME=VL1RTD8 STORMNGR=VLE1 IPIF=1I:1 VTD LOW=6900 HIGH=69FF
在示例 2-2中,请注意:
CONFIG
TAPEPLEX
语句,该语句将 TMVSA
定义为运行 VTCS 的 TapePlex,并定义所有已连接 VLE 的名称(在此示例中是一个名为 VLE1
的 VLE)。
CONFIG RTDPATH
语句,该语句为每个从 VTSS 到 VLE 的路径定义单个 VLE RTD。在本例中,VTSS1
的 CONFIG RTDPATH
语句指定了:
RTDPATH
的名称。
到已定义的 VLE 的连接 (STORMNGR=VLE1
)。
VTSS 到 VLE 端口的每个连接的 IPIF
值(格式为 ci:p),其中:
c 是 0 或 1。
i 是 A 或 I。
p 是 0 到 3。
注意:
对于 VSM 5,此值必须与 VSM5 "IFF Configuration Status" 屏幕上指定的值匹配。对于 VSM 6,该值必须对每个 VTSS 唯一,但不对应于 VSM 6 TCP/IP 端口上的实际值。当然,VTCS 7.1 及更高版本的系统可以像 VTCS 7.0 一样驱动 VLE 1.5.1。但是,在此模式中,VLE RTD 目标的数量受源自 VTSS 的路径数量限制。此外,VLE RTD 将分配给固定的 VTSS 路径。VTCS 始终会保留从 VTSS 到 VLE 的路径,不论是否出现任何 VTSS 到 VLE 的数据传输。
但是,使用 VTCS 7.1 及更高版本时,您可以定义 VLE RTD 目标多于从 VTSS 到 VLE 的路径的 VLE,这意味着:
不会保留从 VTSS 到 VLE 的路径,除非需要进行 VTSS 到 VLE 的数据传输。
可以同时执行更多 VLE RTD 操作。例如,对 VMVC 的审计不需要在 VTSS 和 VLE 之间进行数据传输。
如示例 2-3 中所示,VLE 是通过 CONFIG STORMNGR
语句而不是 CONFIG TAPEPLEX STORMNGR
参数定义的。CONFIG STORMNGR
语句指定 VTCS 连接到的 VLE。此外,对于每个 VLE,CONFIG STORMNGR VLEDEV
参数定义了 VLE 所模拟的 RTD 设备的数量和名称。定义的设备越多(每个 VLE 最多 96 个设备),VTCS 可以在 VLE 上调度并发活动的程度越高。
TAPEPLEX THISPLEX=TMVSC STORMNGR NAME=VLE1 VLEDEV(S000-S05F) STORMNGR NAME=VLE2 VLEDEV(S000-S05F) VTSS NAME=VTSS1 LOW=70 HIGH=80 MAXMIG=8 MINMIG=4 RETAIN=5 RTDPATH NAME=VL1RTD1 STORMNGR=VLE1 IPIF=0A:0 RTDPATH NAME=VL1RTD2 STORMNGR=VLE1 IPIF=0A:1 RTDPATH NAME=VL1RTD3 STORMNGR=VLE1 IPIF=0I:0 RTDPATH NAME=VL1RTD4 STORMNGR=VLE1 IPIF=0I:1 RTDPATH NAME=VL1RTD5 STORMNGR=VLE2 IPIF=1A:0 RTDPATH NAME=VL1RTD6 STORMNGR=VLE2 IPIF=1A:1 RTDPATH NAME=VL1RTD7 STORMNGR=VLE2 IPIF=1I:0 RTDPATH NAME=VL1RTD8 STORMNGR=VLE2 IPIF=1I:1 VTD LOW=6900 HIGH=69FF
在示例 2-3中,请注意:
CONFIG
TAPEPLEX
语句现在仅将 TMVSC
定义为运行 VTCS 的 TapePlex。未定义已连接的 VLE。
CONFIG STORMNGR
语句,该语句定义在此系统中配置的 VLE-VLE1
和 VLE2
,通过 VLEDEV
参数指定 VLE 设备数量。
在此示例中,每个 VLE 最多有 96 个仿真设备,从而允许 VTCS 在每个 VLE 上最多调度 96 个进程。VLE 设备地址的格式为 S
xxx
(其中 xxx
是十六进制值)。
示例:S000-S05F 表示 96 个模仿设备。
针对 VTSS1 的 CONFIG RTDPATH
语句,指定了:
RTDPATH
的名称
到已定义的 VLE 的连接(STORMNGR=VLE1、STORMNGR=VLE2
)
VTSS 到 VLE 端口的每个连接的 IPIF
值(格式为 ci:p),其中:
c 是 0 或 1
i 是 A 或 I
p 是 0 到 3
注意:
对于 VSM5,此值必须与 VSM5 "IFF Configuration Status" 屏幕上指定的值匹配。对于 VSM 6,此值必须对每个 VTSS 唯一,但不对应于 VSM 6 TCP/IP 端口上的实际值。VLE MVC 介质 (VMVC) 会碎片化,必须像真正的 MVC 那样回收。但是,VMVC 回收进程使用的资源远少于标准回收。VMVC 的回收阈值是通过 CONFIG RECLAIM VLTHRES
参数指定的。将 VLTHRES
的值设置得越低,VTCS 在 VMVC 上运行回收的频率越高,因而,VMVS 的有效容量越大(碎片更少)。
必须同时向 MVS 主机软件和 VLE 定义 VMVC 卷序列号。对于 VLE,VMVC 作为 VLE 配置的一部分来定义。以下各节介绍如何向 MVS 主机软件定义 VMVC。
编写 HSC POOLPARM
或 VOLPARM
语句定义 VMVC 池。
例如,为 VLE1 和 VLE2 定义两个单独的池:
POOLPARM NAME(LEPOOL1)TYPE(MVC) VOLPARM VOLSER(VL0000-VL880) POOLPARM NAME(LEPOOL2)TYPE(MVC) VOLPARM VOLSER(VL2000-VL2880)
运行 SET VOLPARM
验证 POOLPARM
或 VOLPARM
语句。
SET VOLPARM APPLY(NO)
APPLY(NO)
将在不装入这些语句的情况下对其进行验证。如果对结果满意,请继续执行下一步。否则,请重新进行卷定义以及执行此步骤,如果定义有效,请继续执行下一步。
运行 SET VOLPARM
装入 POOLPARM
或 VOLPARM
语句。
SET VOLPARM APPLY(YES)
以下各节介绍了如何更新 MVS 主机软件策略以便将数据定向到 VLE 系统。
管理类指定 VTCS 管理 VTV 的方式。HSC MGMTclas
控制语句用于定义管理类及其属性。例如,MGMTclas
语句的 DELSCR
参数指定 VTCS 是否从 VTSS 中删除已擦写的 VTV。管理类也可以指向存储类,存储类指定迁移的 VTV 所驻留的位置。HSC STORclas
控制语句用于定义存储类及其属性。通过 STORCLAS STORMNGR
关键字可将 VLE 系统指定为迁移 VTV 的目标。例如:
STOR NAME(VLOCAL) STORMNGR(VLESERV1) DEDUP(YES) STOR NAME(VREMOTE) STORMNGR(VLESERV2)DEDUP(YES)
上述语句定义了一个 VLE1
上的“本地”存储类 (VLOCAL
) 和一个 VLE2
上的“远程”存储类 (VREMOTE
)。如这些 STORCLAS
语句所指定的那样,所有到存储类 VLOCLAL
或 VREMOTE
的迁移都必须转至指定的 VLE。为两个存储类指定重复数据删除。
如果需要,可以减少限制。例如,如果定义了同时包含 VMVC 和 MVC 的 MVCPOOL,可以设置迁移策略以迁移至 VLE。但是如果 VLE 已满或不可用,则继续迁移至真正的磁带介质 (MVC)。例如,按如下所示定义 MVC 池 DR
:
POOLPARM NAME(DR)TYPE(MVC) VOLPARM VOLSER(VL0000-VL0100) VOLPARM VOLSER(ACS000-ACS099)
因此,池 DR
同时包含 MVC 和 VMVC。存储类指定池 DR 首先迁移至 VMVC;只在 VMVC 不可用时使用 MVC。
示例:
STOR NAME(DRCLASS) MVCPOOL(DR)DEDUP(YES)
如果采用 ACS 和 VLE 同时连接到 VTSS 系统的配置,此方法将十分有用。
接下来,要指定到 VLE 的迁移,应指定通过 MGMTCLAS MIGPOL
参数定义的 VLE 存储类。例如:
MGMT NAME(M1) MIGPOL(VLOCAL,VREMOTE) MGMT NAME(M2) MIGPOL(DRCLASS)
管理类 M1
会将一个 VTV 副本迁移至“远程”VLE,将另一个副本迁移至“本地”VLE。管理类 M2
会将一个 VTV 副本迁移至指向“混合”MVC 池的存储类,该池同时包含 MVC 和 VMVC。
注意:
除了将迁移定向到 VLE,还应考虑以下事项:如果是在 ELS 7.0 或更高版本上运行,可以使用 HSC MIGRSEL
和 MIGRVTV
微调到 VLE 的迁移。通过这些语句,您可以指示管理类中的数据按一定优先顺序迁移至不同的存储类。该方法通常用于确保尽快进行关键 DR 复制。有关更多信息,请参见配置 HSC 和 VTCS。
在 VLE 1.1 及更高版本的系统上,如果多个 VLE 互相连接并连接到 VTSS,则默认情况下 VTCS 将首选 VLE 到 VLE 的连接来创建多个 VTV 副本。您可以控制此行为,如“控制 VLE 到 VLE 复制”中所述。
对于 VLE 到 VLE 连接,如果某个 VTV 副本同时位于一个 VTSS 和一个 VLE 上,并且想要将该副本迁移至连接的 VLE,默认将使用 VLE 到 VLE 的连接。例如,请考虑具有一个本地 VLE (LOCVLE
) 和连接到 VTSSA
的远程 VLE (REMVLE
) 的 DR 方案。您希望迁移以下两个 VTV 副本:
首先是从 VTSSA
向 LOCVLE
迁移一个本地副本。
然后是使用 VLE 到 VLE 复制(而不是使用 VTSS 到 VLE 迁移)从 LOCVLE
向 REMVLE
迁移一个副本。
要创建所需的 VTV 副本,请执行以下操作:
创建一个 STORCLAS
语句,将 VTV 副本发送至 LOCVLE
。
STORCLAS NAME(FORLOCAL) STORMNGR(LOCVLE)
创建一个 STORCLAS
语句,将 VTV 副本发送至 REMVLE
。
STORCLAS NAME(FORREMOT) STORMNGR(REMVLE)
创建 MGRVTV
语句来指定到存储类 FORLOCAL
的迁移在到存储类 FORREMOT
的迁移之前进行。
MIGRVTV STOR(FORLOCAL) INITIAL MIGRVTV STOR(FORLOCAL) SUBSEQNT(360)
最后,创建一个 MGMTCLAS
语句,指定两个 VTV 副本,一个位于本地站点,一个位于远程站点:
MGMTCLAS NAME(DRVLE) MIGPOL(FORLOCAL,FORREMOT)