[技術分享] Hpe NS8/NS4主機程序(Process)及子系統(Subsys)管理(上)
作者/郭哲銘
作者簡歷
作者現職凌群電腦NSK服務總處系統工程師,主要負責HPE Nonstop證券、期貨、銀行客戶交易系統維運服務、軟體產品整合服務,專長為HPE NonStop系統整合。
前言
在 NonStop 系統環境中,有許多程式、工具和子系統應用程式共同執行並控制系統的核心任務運作。本期我們將介紹 NonStop 系統中常用的各種子系統 (SubSystem),並簡要描述這些子系統中許多常見任務的操作方式。
NSK Swap file management
Kernel Managed Swap Facility (KMSF) 提供 HPE NonStop Server Virtual Memory 的管理設定及安裝。
一、KMSF SWAPFILE 環境設定內容
== $SYSTEM.ADDKMSF.ADDKMSF ==
ADD SWAPFILE $SYSTEM.ZSYSSWAP.SWAP00, CPU 0 ,EXT 40000, MAXEXTENTS 400
ADD SWAPFILE $SYSTEM.ZSYSSWAP.SWAP01, CPU 1, EXT 40000, MAXEXTENTS 400
ADD SWAPFILE $DSMSCM.ZSYSSWAP.SWAP02, CPU 2, EXT 40000, MAXEXTENTS 400
ADD SWAPFILE $DSMSCM.ZSYSSWAP.SWAP03, CPU 3, EXT 40000, MAXEXTENTS 400
START SWAPFILE $SYSTEM.ZSYSSWAP.SWAP00
START SWAPFILE $SYSTEM.ZSYSSWAP.SWAP01
START SWAPFILE $DSMSCM.ZSYSSWAP.SWAP02
START SWAPFILE $DSMSCM.ZSYSSWAP.SWAP03
二、KMSF 操作管理 (新增、啟動、停止、刪除)
NSK - ADD SWAPFILE $XXX.ZSYSSWAP.SWAP00,CPU 0,SIZE 64 GB
NSK - START SWAPFILE $XXX.ZSYSSWAP.SWAP00
NSK - ADD SWAPFILE $XXX.ZSYSSWAP.SWAP01,CPU 1,SIZE 64 GB
NSK - START SWAPFILE $XXX.ZSYSSWAP.SWAP01
NSK - STATUS SWAPFILE *
NSK - STOP SWAPFILE $SYSTEM.ZSYSSWAP.CPU0A
NSK - DELETE SWAPFILE $SYSTEM.ZSYSSWAP.CPU0A
NSK - STOP SWAPFILE $SYSTEM.ZSYSSWAP.CPU0B
NSK - DELETE SWAPFILE $SYSTEM.ZSYSSWAP.CPU0B
TMF
TMF (Transaction Monitor Facilities) 提供交易資料檔案的完整性保護,經由 AuditTrail 及 Audit Volumes/Audit Files,將交易過程中的資料異動進行映射 (image),提供交易資料的異動保護,異常回復及 log audit。

《圖一》
一、TMF 環境建置及管理 (COLD START & 環境配置參數)
TMF COLD START FILE 內容
SET AUDITTRAIL auditdump off
SET AUDITTRAIL filesize 10000
SET AUDITTRAIL filespervolume 20
SET AUDITTRAIL ActiveVols $AUDIT
ADD AUDITTRAIL Master
START TMF
Add DataVol $SYSTEM, AuditTrail MAT, IGNOREPREVIOUSCONFIG
Add DataVol $DSMSCM, AuditTrail MAT, IGNOREPREVIOUSCONFIG
Configuration Volume
$SYSTEM
Audittrail Format 2
DisasterRecovery Off
TmpWaitTimer Off
GoRemote Msg
PioBuffer (600,1,100000)
NetDisconnectTimer 30 seconds
NetSessionIdleTimer 0 seconds
HungTxsTimer Off
TransactionProtocol Standard
AuditTrail Configuration:
Master
ActiveVols: $AUDIT
Subvolume ZTMFAT, Prefix AA, filesize 10000, filespervolume 20
auditdump Off, overflowthreshold 80%, begintransdisable 90%
MaxRetainedATFiles 0
OverflowVols: None
RestoreVols: None
Catalog Configuration:
retaindepth 3, released Off, roundrobin Off
BeginTrans Configuration:
TransCountThresh (7500,8000)
TmfLibMemThresh (85,90)
TmpMemThresh (90,95)
TransPerCpu (4096,4096)
AutoAbort 18000 Seconds
RecRMCount 256
RMOpenPerCpu 128
BranchesPerRM 128
ThreshAutoIncrease FALSE
ThreshLowerLimit 80
TransPerCpuThresh (100,100)
二、TMFCOM 指令操作
檢查 TMF 狀態
TACL>TMFCOM
TMF>STATUS TMF
TMF Status:
System: \XXX, Time: 11-Jul-2019 14:02:07
State: started
Transaction Rate: 0.00 TPS
TmpWaitTimer Off
MemHeapUsage:
TMFLIB heap usage by CPU: Heap size 22 Mb
00: 4% 01: 4% 02: 3% 03: 4%
04: N/A 05: N/A 06: N/A 07: N/A
08: N/A 09: N/A 10: N/A 11: N/A
12: N/A 13: N/A 14: N/A 15: N/A
TMP heap usage by CPU: Heap size 1024 Mb
00: 0% 01: 0%
SeqNumLimits:
Sequence Number Limits by CPU
00: 96686766 01: 62672420 02: 22359237 03: 20092950
04: 140000 05: 140000 06: 140000 07: 140000
08: 140000 09: 140000 10: 140000 11: 140000
12: 140000 13: 140000 14: 140000 15: 140000
AuditTrail Status:
Master
Active audit trail capacity used: 3%
First pinned file: $AUDIT.ZTMFAT.AA000046
Reason: Current File
Current file: $AUDIT.ZTMFAT.AA000046
BeginTrans Status: ENABLED
Catalog Status:
Status: up
BeginTrans Status 及 TMF Status 必須為啟動狀態
檢查 DISK DATA VOLUMES 是否受 TMF 正常保護
TMF>STATUS DATAVOLS
Audit Recovery
Volume Trail Mode State
------------------------------------------------------
$DSMSCM Mat Online Started
$SYSTEM Mat Online Started
AUDITTRAIL-FILE 監看
TMF>STATUS AUDITTRAIL ,DETAIL
AuditTrail Status:
Master
Active audit trail capacity used: 3%
First pinned file: $AUDIT.ZTMFAT.AA000046
Reason: Current File
Files:
$AUDIT.ZTMFAT.AA000042( available )
$AUDIT.ZTMFAT.AA000043( available )
$AUDIT.ZTMFAT.AA000044( available )
$AUDIT.ZTMFAT.AA000045( available )
$AUDIT.ZTMFAT.AA000046( active, current )
SPOOLER SUBSYSTEM
SPOOLER 做為 NSK 的印表控制管理系統,提供應用程式的報表輸出及相關檔案或 LOG 的匯出收集功能。

《圖二》
一、Spooler 啟動管理
WARM START (溫啟動:系統環境沿用上次的設定值,不做變動)
TACL>OBEY $SYSTEM.SPL.SPLWARM
SPOOL/IN $SYSTEM.SPL.SPL,NAME $SPLS,OUT $0,PRI 180,NOWAIT,CPU 0,TERM $ZHOME/1
SPOOLCOM;SPOOLER,START
COLD START (冷啟動)
TACL>OBEY $SYSTEM.SPL.SPLCOLD
一般 SPOOLER 啟動會以 WARM START 為主,除非有變動系統相關設定參數或須重新設定環境才會使用 COLD-START
SPLCOLD FILE 內容及參數定義如下:
COMMENT ========================================================
COMMENT = THIS IS $SYSTEM.SPL.SPLCOLD =
COMMENT = IT CREATE A SPOOL SYSTEM FROM THE GROUND UP =
COMMENT = =
COMMENT = PURGE ANY EXISTING FILE HAVING THE SAME NAME AS THE =
COMMENT = DATA FILE WE INTEND TO USE (BETTER MAKE SURE YOU REALLY =
COMMENT = WANT TO DO THIS) =
COMMENT ================================================
PURGE $SYSTEM.SPL.DATAFILE
COMMENT ================================================
COMMENT = PURGE FILES HAVING NAMES WE INTEND TO USE =
COMMENT ================================================
PURGE $SYSTEM.SPL.SPL3
COMMENT ================================================
COMMENT = CREATE THE DATA FILE =
COMMENT = "DATAFILE" FOR ONLINE COLLECTOR, =
COMMENT ================================================
FUP CREATE $SYSTEM.SPL.DATAFILE , EXT (30000,30000)
FUP SECURE $SYSTEM.SPL.DATAFILE,"NCNC"
COMMENT ================================================
COMMENT = RUN THE SUPERVISOR. = =
COMMENT ================================================
SPOOL /IN $SYSTEM.SPL.SPL , OUT $0 , NAME $SPLS , PRI 180 , CPU 0 ,NOWAIT,TERM $ZHOME/1,65534, 32760, 4095, 31, 255, 16, 32765
COMMENT ================================================
COMMENT = CONTROL FILE = $SYSTEM.SPL.SPL[0-9] =
COMMENT = LOG FILE = $0 =
COMMENT = SUPERVISOR PROCESS NAME = $SPLS =
COMMENT = EXECUTION PRIORITY = 180 =
COMMENT = PRIMARY CPU = 0 =
COMMENT = BACKUP CPU = 1 =
COMMENT = MAX. NUMBER OF JOBS = 65534 =
COMMENT = MAX. NUMBER OF LOCATIONS = 32760 =
COMMENT = MAX. NUMBER OF DEVICES = 4095 =
COMMENT = MAX. NUMBER OF COLLECTORS = 31 =
COMMENT = MAX. NUMBER OF PRINT PROCESS = 255 =
COMMENT = MAX. NUMBER OF FONTS = 16 =
COMMENT = MAX. NUMBER OF BATCH JOBS = 32765 =
COMMENT ================================================
DELAY 5 SEC
COMMENT ================================================
COMMENT = THE SPOOLER IS NOW IN THE COLD STATE. THE NEXT COMMAND =
COMMENT = RUNS SPOOLCOM , SPECIFYING A SPOOLER "CONFIGURATION =
COMMENT = FILE" TO INITIALIZE AND START THE SPOOLER =
COMMENT ================================================
SPOOLCOM;SPOOLER,START
DELAY 5 SEC
SPOOLCOM /IN $SYSTEM.SPL.SPLCONF/
Spooler Drain
SPOOLER SHUTDOWN,必須使用 SUPER GROUP
TACL>SPOOLCOM
)SPOOLER,DRAIN
二、Spooler 設定管理
新增 DEVICE/LOCATION
TACL> SPOOLCOM
)DEV $PRXXX , PROCESS $FAST, SPEED 300, WIDTH 200,& HEADER OFF,PARM %2000
)LOC #PRXXX.DEFAULT,DEVICE $PRXXX
)DEV $PRXXX,START
刪除 DEVICE/LOCATION
)DEVICE $PRXXX,DELETE
)LOCATION #PRXXX.DEFAULT,DELETE
三、Spoolcom 指令操作
檢查 DEVICE 狀態
)DEV $PRXXX,STATUS DETAIL
將 DEVICE SHUTDOWN(DRAIN) 停止
)DEV $PRXXX,DRAIN
LIST 所有的 JOB
)JOB
檢查 PRINT PROCESS 的狀態
)PRINT
JOB 的暫停、啟動及刪除
)JOB 88 ,HOLD
)JOB 88 ,START
)JOB 88 ,DELETE !
四、Peruse 指令操作
一般用戶可以使用 PERUSE來管理 SPOOLER 的JOB 的相關屬性,包括:PRIORITY、NUMBER OF COPIES 及 JOB 的狀態及查看 JOB 內容等。
TACL> PERUSE
PERUSE - T9593L01 - (14NOV2018) SYSTEM \XXX
(c) Copyright 2016 Hewlett-Packard Enterprise Development LP
JOB BATCH STATE PAGES COPIES PRI HOLD LOCATION REPORT
2 READY 308 1 4 #PWCOLD FT MGR
3 READY 308 1 4 #PWCOLD FT MGR
4 READY 308 1 4 #PWCOLD FT MGR
5 READY 308 1 4 #PWCOLD FT MGR
6 READY 308 1 4 #PWCOLD FT MGR
JOB 的暫停,啟動及刪除
-J 6
-HOLD
-HOLD OFF
-DEL
JOB 內容的 LIST 查看
-LIST ALL
-LIST 25 , 27 (只列出 Page 25 及 27 內容)
-LIST 20/25 (列出 Page 20 ~ 25 內容)
-LIST/OUT $S.#PR625B/20/25 (列印20~25 頁內容至 印表機位置:$S.#PR625B )
JOB 的 LOCATION 對應輸出
-J 6023
-LOC #PR825B
參考資料
NonStop NS4 Planning Guide
NonStop NS8 Planning Guide
Kernel-Managed Swap Facility (KMSF) Manual
TMF Reference Manual
Spooler Utilities Reference Manual