下面是Hercules配置文件HERCULES.CNF范本(#后面的为注释):
# Sample configuration file for Hercules ESA/390 emulator
ARCHMODE z/Arch #System architecture:z/Arch(64Bit),S/370, ESA/390 or ESAME
ALRF ENABLE #
CNSLPORT 3270 # TCP port number to which consoles connect
CONKPALV (3,1,10)
CPUMODEL 3090 # CPU model number
CPUSERIAL 012345 # CPU serial number
DIAG8CMD ENABLE # DIAG 8 interface
ECPSVM NO
LOADPARM 0A8299M1 # IPL parameter LOADDP FOR BASE SYSTEM,IPL参数
# 启动加载基本系统参数,后面有介绍
LPARNAME HERCULES # LPAR Name
MAINSIZE 1024 # Main storage size in megabytes,主存,给大机用的内存
# 越大越好,但建议不大于实际电脑的空余物理内存数
MOUNTED_TAPE_REINIT DISALLOW # Low mounted tape re-initialize
NUMCPU 2 # Number of CPUs,虚拟CPU数,双核CPU时最好设置为2
OSTAILOR Z/OS # OS tailoring
PANRATE 80 # Panel refresh rate
PGMPRDOS LICENSED # LICENSED OS/390 V2R9
SHCMDOPT NODIAG8
SYSEPOCH 1900 # TOD clock
TIMERINT 50 # TOD update rate
TZOFFSET +1400 # TOD clock offset
YROFFSET 0 # TOD year offset
HERCPRIO 0 #Hercules priority
TODPRIO -20 #TOD clock priority
DEVPRIO 8 #Device I/O priority
CPUPRIO 0 #CPU priority
PANTITLE "z/OS 1.9 IPL A80" #Panel Title
# Display Terminals 3270 TERMINAL
0700.3 3270
# DASD Devices
# .----------------Device number,设备号(可以是多个),16进制,一般用文件名的扩展名即可
# | .----------Device type,设备类型,一般为3390
# | | .--File name and parameters,下载解压后的大机卷文件名,包括路径名
# | | | 其它参数
# | | | |
# V V V V
#--- ---- --------------------- ------------------------------------------------------
0A80 3390 H:\zOS1.9\Z9RES1.CCKD sf=H:\zOS1.9\Z9RES1_Shadow.CCKD
0A81 3390 H:\zOS1.9\Z9RES2.CCKD sf=H:\zOS1.9\Z9RES2_Shadow.CCKD
0A82 3390 H:\zOS1.9\Z9SYS1.CCKD sf=H:\zOS1.9\Z9SYS1_Shadow.CCKD
0A83 3390 H:\zOS1.9\Z9RES3.CCKD sf=H:\zOS1.9\Z9RES3_Shadow.CCKD
0A84 3390 H:\zOS1.9\Z9USS1.CCKD sf=H:\zOS1.9\Z9USS1_Shadow.CCKD
0A85 3390 H:\zOS1.9\Z9PRD1.CCKD sf=H:\zOS1.9\Z9PRD1_Shadow.CCKD
0A86 3390 H:\zOS1.9\Z9DIS1.CCKD sf=H:\zOS1.9\Z9DIS1_Shadow.CCKD
0A87 3390 H:\zOS1.9\Z9DIS2.CCKD sf=H:\zOS1.9\Z9DIS2_Shadow.CCKD
0A88 3390 H:\zOS1.9\Z9DIS3.CCKD sf=H:\zOS1.9\Z9DIS3_Shadow.CCKD
0A89 3390 H:\zOS1.9\Z9DIS4.CCKD sf=H:\zOS1.9\Z9DIS4_Shadow.CCKD
0A8A 3390 H:\zOS1.9\Z9DIS5.CCKD sf=H:\zOS1.9\Z9DIS5_Shadow.CCKD
0A8B 3390 H:\zOS1.9\Z9DIS6.CCKD sf=H:\zOS1.9\Z9DIS6_Shadow.CCKD
0A8C 3390 H:\zOS1.9\SARES1.CCKD sf=H:\zOS1.9\SARES1_Shadow.CCKD
0A8D 3390 H:\zOS1.9\Z9CIC1.CCKD sf=H:\zOS1.9\Z9CIC1_Shadow.CCKD
0A8E 3390 H:\zOS1.9\Z9DB81.CCKD sf=H:\zOS1.9\Z9DB81_Shadow.CCKD
0A8F 3390 H:\zOS1.9\Z9DB82.CCKD sf=H:\zOS1.9\Z9DB82_Shadow.CCKD
0A90 3390 H:\zOS1.9\Z9DB91.CCKD sf=H:\zOS1.9\Z9DB91_Shadow.CCKD
0A91 3390 H:\zOS1.9\Z9DB92.CCKD sf=H:\zOS1.9\Z9DB92_Shadow.CCKD
0A92 3390 H:\zOS1.9\Z9IMS1.CCKD sf=H:\zOS1.9\Z9IMS1_Shadow.CCKD
0A93 3390 H:\zOS1.9\Z9WAS1.CCKD sf=H:\zOS1.9\Z9WAS1_Shadow.CCKD
0A94 3390 H:\zOS1.9\Z9WAS2.CCKD sf=H:\zOS1.9\Z9WAS2_Shadow.CCKD
0A95 3390 H:\zOS1.9\Z9WAS3.CCKD sf=H:\zOS1.9\Z9WAS3_Shadow.CCKD
# CTC Adapters
# TCP/IP CTCI Ports, emulate 3 network adapters.
# OS/390 IP PC's IP
0E20.2 LCS -n 192.168.1.2 -m 00-00-5E-90-09-5D 192.168.1.5
# | | | | |
# | | | | V
# | | | V Host IP
# | V Gateway(PC) Host MAC(Option)
# V Emulate Mode
# Device Number(Must be two)
注意:
设备号有多种方法表示,如:
0530-0531 指定范围
0530.2 指定数量
0530,0531
以上三种写法都是一样的!
sf=镜像文件 :使用镜像文件可以保持原文件不变(Read Only),所有的写操作只发生在镜像文件内,
在Hercules控制台内用sf+DEVNUM先创建一个镜像,DEVNUM为设备号,可以创建多个
DASDCOPY可以把镜像文件合并回原文件
1, VOLUME的内容(z/OS 1.6)
VOLUME UCB Contents
Z6RES1 A80 - Res Volume 1 - Required for IPL
Z6RES2 A81 - Res Volume 2 - Required for IPL
Z6SYS1 A82 - IPLPARM, JES2 Spool, Public Work Volume, Mastercat required for IPL
Z6USS1 A83 - USS Root and accompanying HFS files - required for IPL
Z6USS2 A84 - Supplemental HFS files - required for IPL
Z6DIS1 A85 - Distribution Lib volume 1
Z6DIS2 A86 - Distribution Lib volume 2
Z6DIS3 A87 - Distribution Lib volume 3
Z6DIS4 A88 - Distribution Lib volume 4
Z6DIS5 A89 - Distribution Lib volume 5
Z6WAS1 A8A - Websphere Application Server Distribution Libs
Z6WAS2 A8B - Websphere Application Server Target Libs
Z6DB81 A8C - DB2 V8.1 Target Libs
Z6DB82 A8D - DB2 V8.1 Distribution Libs
Z6CIC1 A8E - CICS TS 2.3 Target and Dlibs
Z6IMS1 A8F - IMS 8.1 Target and Dlibs
SARES1 A90 - Stand Alone IPL volume
2, LOADPARMS
LOADPARM Description(z/OS 1.6)
CS CLPA and cold start of JES2. Base z/OS system functions i.e. no CICS, DB2, IMS, WAS, etc.
00 Warm start of JES2. Base z/OS system functions i.e. no CICS, DB2, IMS, WAS, etc.
WS Warm start of JES2. Base z/OS system functions i.e. no CICS, DB2, IMS, WAS, etc.
DC CLPA, brings in CICS LPA modules, cold start of JES2, starts up DB2 and CICS.
DB Warmstart of JES2 and starts the DB2 and CICS.
DI CLPA and cold start of JES2 and loads the IMS Libraries. IMS must be manually started.
CC CLPA and cold start of JES2, loads the CICS Libraries, starts up CICS, no DB2.
CW Warm start of JES2, and starts up CICS.
7C CLPA, cold start of JES2, starts up DB2 V7, no CICS.
7W Warm start of JES2, starts up DB2 V7, no CICS.
8C CLPA, cold start of JES2, starts up DB2 v8, no CICS.
8W Warm start of JES2, starts up DB2 v8, no CICS.
IC CLPA and cold start of JES2 and load the IMS Libraries, start IMS, no DB2 or CICS.
IW Warm start of JES2 start IMS, no DB2 or CICS.
AC CLPA and cold start of JES2 load IMS and CICS libraries, start IMS, DB/2, and CICS.
AW Warmstart of JES2. start IMS, DB/2, and CICS.
BC CLPA and cold start of JES2, load WAS libraries, WAS is manually started
BW Warmstart of JES2. WAS is manually started.
99 Points to IODF99 for IPL on MP3000. Reply 00,SYSP=xx were xx is any of the above options i.e. for cics only xx=cc or cw.
添加新卷(新建虚拟的卷)的方法:
1、使用DASDINIT命令(Hercules 自带,HercGUI菜单有),产生一个卷,例如卷标USR001, PC 文件名:C:\ZOS\VOLUMES\USR001.DAT
代码:
DASDINIT -bz C:\ZOS\VOLUMES\USR001.DAT 3390 USR001
2、使用下面的MVS 命令找到没有使用的3390 UCB 地址:
代码:
D U,DASD,,,1024 DASD为磁盘,TAPE为磁带,CTC为adapter,1024为最大显示数(包括其它设备类型,不写时为指定设备类型所有)
例如08AF.
注意:MVS必须在SDSF的LOG中输入,并且用“/”开头,当命令比较长时,可以先输入"/",回车后再输入命令。
3、定义卷到z/OS:
在Hercules配置文件(zOS16.cnf)中,加入刚刚建好的PC 文件:
代码:
08AF 3390 C:\ZOS\VOLUMES\USR001.DAT
4、在Hercules Console命令行(不是MVS console)attach命令定义该卷,或者重新IPL z/OS.
代码:
attach 08AF 3390 C:\ZOS\VOLUMES\USR001.DAT
或在HercGUI左边窗口DASD Device点右键,选Add device
然后使用下面MVS命令:
代码:
V 08AF,OFFLINE
5、在z/OS中,使用ICKDSF 初始化该卷,这里是例子:
代码:
//INIT EXEC PGM=ICKDSF,PARM='NOREPLYU'
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
INIT NOVALIDATE OWNER(MYSELF) VERIFY(USR001) VOLID(USR001) -
UNIT(08AF) VTOC(1,0,75) INDEX(6,0,15)
/*
OWNER为所有者,VOLID为卷名,VERIFY为检验,同VOLID,UNIT为UCB地址,VTOC为Catalog,1指第一个Cyline,0指第0磁道,75指占75个磁道,Index为索引,同VTOC
然后使用下面MVS命令:
代码:
V 08AF,ONLINE
6、看看你现在的数据都放在那个卷上。在DFSMS的ISMF中,你可以然后再ISMF中找到对应的VOLUME GROUP。将该卷USR001加入到次VOLUME GROUP中。然后激活SMS SCDS。
这样你就可以使用该卷了。
7. 主机用一段时间后会提示LOGREC满了,可以用以下Job清空,千万别删除SYS1.LOGREC,否则下次无法启动,SYS1.LOGREC为PSU格式的,是无法用其它工具编辑的
//* CLEAR SYS1.LOGREC
//IEFPROC EXEC PGM=IFCDIP00,COND=(0,NE)
//SERERDS DD DSN=SYS1.LOGREC,DISP=SHR
//*
8. 加载网卡
(1). 下载和安装TunTap32和WinPCap
(2). Hercules配置,在控制台上用d u,ctc察看你的CTC设备的可用地址(下面以0E20、0E21两个为例),然后在hercules配置文件中加入如下参数:
0E20-0E21 LCS -n 192.168.2.2 -m 00-00-5E-90-09-5D 192.168.2.5
第一个IP为主机用的IP,第二个要运行主机的PC机的IP,两IP必须在同一网段内。
其中的设备地址和IP地址要根据你的实际情况修改。
(3). TCPPROF文件的配置,有如下参数需要修改(tcpprof不同系统不同,ADCD v1.6为ADCD.Z16.TCPPARMS(PROFILE),修改前建议先备份一个):
TCPPROF查找方法:
在SDSF的DA里用PRE **显示所有JOB,找到TCPIP的JOB,用?进去,用S选第二个JESJCL,找到PROFILE的DD语句,后面的DSN就是TCPPROF了。
最后在TCPPROF里找到相应的地方改为以下(以主机IP:192.168.0.5,PC机IP:192.168.0.2为例):
DEVICE LCS1 LCS E20 AUTORESTART
LINK LCS1L ETHERNET 0 LCS1
HOME
192.168.2.5 LCS1L
PRIMARYINTERFACE LCS1L
BEGINROUTES
ROUTE 192.168.2.0 255.255.255.0 = LCS1L MTU 1492
ROUTE DEFAULT 192.168.2.1 LCS1L MTU 1492
ENDROUTES
GATEWAY
192.168.2.2 = LCS1L 1492 HOST
DEFAULTNET 192.168.2.1 LCS1L 1492 0
START LCS1
说明:
1492为MTU,如果是ADSL,建议用1492,如果是局域网,建议用1500,最大为1500
TCPIP.PROFILE.TCPIP 并不能直接编辑,因为TCPIP正在使用,要先停止TCPIP,用控制台或MVS命令:P TCPIP,修改完后再用S TCPIP启动。
最后,修改TCPIP.HOSTS.LOCAL
加上主机IP的DNS信息,如:
HOST : 192.168.2.5 : www.XiaoCai.com, XiaoCai:
修改完后在TCPIP.HOSTS.LOCAL前打命令:MAKESITE,以生成TCPIP.HOSTS.ADDRINFO
也可以用TSO命令行方式:MAKESITE HLQ=TCPIP,VOLSER=vvvvvv,UNIT=uuuu
(4). 启动TCPIP时如果没显示错误就表示成功了!
如果PC机PING不了主机,则PC机上要连主机还得加上主机的路由
ROUTE -P ADD 主机IP PC机IP
如上例:
ROUTE -P ADD 192.168.0.5 192.168.0.2
这样就可以在PC机和主机上互Ping一下,看能不能Ping通,主机PING是在START 6
如果主机PING不能PC机,有可能是PC机的防火墙,可试一下把防火墙关掉再PING
(5). 其它可能问题
如果你d u,ctc看不到任何输出的话,证明你的当前使用的iodf没有定义ctc设备,所以你必须到HCD里面定义一下。
首先在控制台D IOS,CONFIG确认你当前使用的IODF,然后进入12.2对这个IODF进行修改,加入ctc设备
注意:当前使用的是不能修改的,另外建立一个新的!
(6). 无法在本机(安装Hericules的机器)上使用FTP连接主机,但在其它机器却可以连到主机的FTP
这是CTCI最新版的一个BUG,在网卡驱动里关掉Checksum Offloading就可以了。
注意网卡在Hercules要设置为两个连续的,并且参数要一样,但在主机上只要设置第一个,因为主机使用第一个时,会自动启用每二个,但写第二时反而会出错说什么不一致。
CICS的Loadlib:ADCD.Z16.PROCLIB(CICSA)下的DDNAME:DFHRPL