第322期 / August 5, 2024

分享到臉書!分享到維特!分享到噗浪!分享到Google+!分享到微博!轉寄友人友善列印

[技術分享] Hpe NS8/NS4主機程序(Process)及子系統(Subsys)管理(上)

作者/郭哲銘

[發表日期:2024/8/5]

作者簡歷

作者現職凌群電腦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
  •