[技術分享] NonStop Lan Spooler設定與問題處理經驗分享

作者/劉啟峰

作者簡歷 作者擁有超過11年IT服務資歷,現職凌群電腦NSK服務處維護工程師,主要負責台灣證券交易所交易系統與維運系統、NonStop系統維運服務。專長為HPE NonStop系統、硬體整合及系統架構管理。 前言 NonStop具備完整的子系統與解決方案,可有效的解決各企業組織的維運需求,其Spooler是為了解決印表需求所提供的子系統,可以滿足使用者列印報表、製表等需求。本文章將著眼於SPOOLER中FASTCNFG設定與其常見問題實務分享,並簡單描述設定中常見的問題與如何建立印表機連線。 此篇範例是以點矩陣印表機為例,目前使用常見的型號為:

《圖一》
SPOOLER SUBSYSTEM架構與常用故障排除指令 SPOOLER做為NonStop系統的印表控制管理系統,提供應用程式報表輸出、相關檔案或LOG的匯出收集功能。

《圖二》
一、使用DEV $PRINT1,STATUS DETAIL指令查看該印表機的相關資訊,可協助工程人員釐清問題以利處理故障排除。 ) DEV $PRINT1,STATUS DETAIL DEVICE: $PRINT1 STATE: WAITING LAST ERROR: %004001 EKCLUSIVE: OFF FIFO: OFF HEADER: OFF TRUNCATION:OFF DRAINING: NO PRINTING JOB:NONE PARM: O PROCESS: $SPROC RETRY: 5 TIMEOUT: 360 SPEED: 100 WIDTH: -1 FORM: RESTART: OFF DEVRESET: OFF DEVTYPE: STARTFF: OFF ENDFF: OFF CHARMAP: NONE PREXLATE: OFF LUTOFVALUE:CRFFCR LUEOLVALUE:CRLF LUEOIWHEN:LT132 二、錯誤碼可提供工程人員判斷問題依據,下列為錯誤碼分類,細部的支碼可參考下述:※或參閱手冊:Spooler Programmer's Guide Manual %1000 = File-system errors %2000 = Collector file errors %3000 = Spool control file errors %4000 = Device errors %5000 = Print errors %100000 = NEWPROCESS errors or PROCESS_CREATE_ errors 而其DEV中裝置的STATE也是判斷方向之一,以下列舉可能顯示的狀態: 1. BUSY:該設備正在列印一個Job。 2. WAITING:這個設備正等待一個Job進入進行列印程序.。 3. OFFLINE:這設備無法進行列印,須手動將設備切換為Online狀態。 4. SUSPENDED:一個Job正進行列印,卻發生無預期錯誤停止。 5. DEVERROR:當Job正在列印時Guardian file-system發生。 6. PROCERROR:Supervisor發生錯誤。

《圖三》
TCP/IP LAN Print Spooler架構與常用故障排除指令

《圖四》
一、FASTCNFG是用於TCP/IP LAN Print Spooler產品的設定檔,其內容用於設定印表機參數 設定範例如下: >FUP COPY $SYSTEM.SYSTEM.FASTCNFG device $PRINT1 contype =TCP/IP protocol =LPD1179 address =10.10.10.10 port =515 timeout =9999999 TCP/IP-A =$TCPIPA TCP/IP-B =$TCPIPB 二、參數定義說明 1.device $PRINT1 指定對應的SPOOLER DEV。 2.contype =TCP/IP 預設值為TCP/IP對應為一般使用的Lan printer。 3.protocol =LPD1179 預設值為none,其LPD1179為使用行列式的點矩陣印表機協定。 4.address =10.10.10.10 指定對應印表機的IP位址。 5.port =515 其port對應可參考HPJETDIRECT = 9100, LPD1179 = 515, LEXMARK = 9400,需與印表機的設定一致才可建立其連線。 6.timeout =9999999 其設定為缺紙或其他問題中斷時,允許臨時暫停不會offline的時間。 7.TCP/IP-A =$TCPIPA 指定主要印表機對應的TCPIP Process。 8.TCP/IP-B =$TCPIPB 指定次要印表機對應的TCPIP Process。 常見問題與故障排除經驗分享 CASE1:Job無法列印 可能原因: 1. Printer未開機,處於離線狀態或為ERROR狀態。 2. Printer硬體卡紙。 3. Print process呈現Down or ERROR state。 4. Command錯誤,將資料傳送至虛擬或不存在的位置。 5. Job on hold。 6. FORM屬性定義與JOB或Device不符。 7. Supervisor process狀態為Down。 CASE2:Printer列印亂碼或空白頁面 可能原因: 1. 文件中包含不可列印的數據。 2. 無碳粉或色帶毀損。 3. Collector序列中的檔案為滿的。 CASE3:Spooler will not accept jobs 可能原因: 1. Collector is down。 2. Supervisor is down。 3. Syntax was incorrect。 CASE4:Stopping and Starting Print Devices 步驟: 1. 檢查 DEVICE 狀態: )DEV $PRINT1,STATUS DETAIL 2. 將DEVICE SHUTDOWN(DRAIN)停止: )DEV $PRINT1,DRAIN 3. 將DEVICE再度啟動: ) DEV $PRINT1,START 4. 檢查 DEVICE回復的狀態: )DEV $PRINT1,STATUS ※若原先有JOB將會自動列印 CASE5:Clearing a Nonprintable Job 步驟: 1. 使用Super Group檢查printer的狀態
2. 確認目前的列印狀態:
3. 確認Job的Owner:
4. 將Job Hold住: ) JOB 88,HOLD 5. Delete Job ) JOB 88,DELETE 6. 將Printer Drain: ) DEV $PRINT1,DRAIN 7. 重新啟動Printer: ) DEV $PRINT1,START CASE6:Clearing a Paper Jam 步驟: 1.檢查printer的狀態
2. 將printer Suspend: ) DEV $PRINT1,SUSPEND 3. 確認目前的列印狀態:
4. 移除實體印表機夾紙問題 5. 重新啟動Printer: ) DEV $PRINT1,START CASE7:印表機連線建立失敗 步驟: 1.檢查$SYSTEM.SYSTEM.FASTCNFG中設定 > FUP COPY $SYSTEM.SYSTEM.FASTCNFG 2.確認Spooler中DEV的設定是否一致 ) DEV $PRINT1, STATUS DETAIL 3.確認實體印表機端的IP與config是否正確 因印表機類型不同,部分使用Printer Server或內建網卡,如何檢查個別印表機設定,請詳閱各廠牌印表機手冊。 由於各設定需互相對應,如FASTCNFG中的IP與Device均需與Spooler中DEV的設定相同,因此檢查工作中實體印表機的IP、子遮罩或Gateway都要留意。 參考資料 (1)Manual:Spooler FASTP Network Print Processes Manual (2)Manual:Spooler Programmer's Guide Manual