[z/OS]

暫停應用程式伺服器接聽器,以手動方式更新高可用性應用程式

您無須停止應用程式伺服器,只要使用 MVS™ 主控台 Modify 指令,就能暫停該應用程式伺服器的接聽器、執行應用程式更新,然後回復接聽器。如果您使用這項技術,就無須在執行應用程式更新時,停止然後啟動伺服器。

開始之前

判定哪些應用程式伺服器所管理的叢集成員需要更新。

關於這項作業

如果您要手動控制高可用性應用程式的更新項目,但又不想停止受影響的伺服器,則可使用 MVS Modify 指令來暫停每一部伺服器的接聽器,然後再更新應用程式。

避免困難 避免困難: MODIFY server,PAUSELISTENERS 指令可停止控制器接聽所有埠,但 IIOP(ORB_TCP_SECURE 和 ORB_TCP_LISTENER)除外。如果是 IIOP,當發出這個 modify 指令時,常駐程式會停止傳送要求至 IIOP 傳輸通道。不過,如果您正在執行會進行快取(例如 Bean 快取)的用戶端應用程式,則可能會將來自這些應用程式的要求,直接傳送至開啟的 IIOP 埠。發生這種狀況的原因,是 IIOP 接聽器在伺服器啟動程序剛開始就啟動,因此可能在發出此 modify 指令之前即開啟了 IIOP 埠。gotcha

如果要在高可用性環境中,暫停接聽器並手動控制應用程式依序套用:

註:

程序

  1. 在 Cell 的所有節點上停用各種形式的自動同步化,並儲存變更。 執行下列其中一個程序以完成此步驟:
    • 在管理主控台中:
      1. 按一下系統管理 > 節點代理程式 > node_agent_name > 檔案同步化服務
      2. 取消選取自動同步化啟動同步化選項。
      3. 選取與節點同步變更選項。
      4. 按一下儲存
    • 使用 wsadmin Scripting 來指定下列指令,然後重新啟動所有受影響的節點代理程式:
      set node NODE
      set na_id [$AdminConfig getid /Node:$node/Server:nodeagent/]  
      set syncServ [$AdminConfig list ConfigSynchronizationService $na_id]  
      $AdminConfig modify $syncServ {{autoSynchEnabled false}}  
      $AdminConfig modify $syncServ {{synchOnServerStartup false}}
      $AdminConfig save 
      set nodeSync [$AdminControl completeObjectName type=NodeSync,node=$node,*] 
      $AdminControl invoke $nodeSync sync 
      註: 若為正式作業環境,一律在停用自動同步化的情況下執行節點代理程式是合理的。不過,建議您為節點代理程式啟用啟動同步化,使節點代理程式可取得在其關閉時所進行的配置更新。只要您確定不會在應用程式更新程序中,以手動、自動方式,或透過自動重新啟動管理程式來重新啟動節點代理程式,便可以保留「啟動同步化」的啟用狀態。
  2. 在部署管理程式伺服器上的主要配置儲存庫中更新應用程式。 執行下列其中一個程序以完成此步驟:
    • 在管理主控台中:
      1. 按一下應用程式 > 企業應用程式
      2. 選取您要更新的應用程式。
      3. 完成應用程式更新處理程序。
      4. 將您所做的變更儲存到主要配置中。不要選取與節點同步變更選項。
    • 使用 wsadmin Scripting 來發出下列指令:
      set app_loc /path/to/app
      set app_options {application options ie: -appname app}
      set options [list -update]  lappend options $app_options 
      $AdminApp install $app_loc $options
      $AdminConfig save

      現在您的「主要配置」中,已有更新版應用程式(下圖中的 App 第 2 版)。不過,應用程式的原始版本(下圖中的 App 第 1 版)仍然在叢集(該叢集在 LPAR1 和 LPAR2 上有叢集成員)上執行。

      圖 1. 安裝應用程式更新項目. 下圖說明在高可用性環境中進行的應用程式更新第一階段。安裝應用程式更新項目
  3. 在 LPAR1 上暫停應用程式伺服器的接聽器,並以手動方式,將節點同步化為更新版應用程式。 在暫停接聽器之後,等待目前指定給伺服器的所有工作項目全部完成,然後從 MVS 主控台發出下列指令:
    MODIFY short_server_name,PAUSELISTENERS
    比方說,如果您要暫停的伺服器的簡稱為 BBOS001,請發出下列指令:
    MODIFY BBOS001,PAUSELISTENERS
  4. 將節點同步化。 執行下列其中一個程序以完成此步驟:
    • 在管理主控台中:
      1. 按一下系統管理 > 節點代理程式
      2. 選取您要同步化的節點,然後按一下完整重新同步化
    • 使用 wsadmin Scripting 來發出下列指令:
      set node NODE 
      set nodeSync [$AdminControl completeObjectName type=NodeSync,node=$node,*] 
      $AdminControl invoke $nodeSync sync 

    如下圖所示,更新版應用程式(App 第 2 版)現在位於 LPAR1 上的節點中。

    圖 2. 更新 LPAR1 上的節點. 下圖說明在具有兩個 LPAR 的高可用性環境中進行的應用程式更新第一階段。更新 LPAR1 上的節點
  5. 在 LPAR1 上回復應用程式伺服器的接聽器。 從 MVS 主控台發出下列指令:
    MODIFY short_server_name,RESUMELISTENERS
    比方說,如果您要暫停的伺服器的簡稱為 BBOS001,請發出下列指令:
    MODIFY BBOS001,RESUMELISTENERS
  6. 在 LPAR1 上執行新版本應用程式的情況下,針對叢集中的其他 LPAR 重複前述三個步驟,以使用新版本應用程式更新這些 LPAR。 下圖顯示您的配置在具有兩個 LPAR 的叢集中的情形。
    圖 3. 更新 LPAR2 上的節點. 下圖說明在高可用性環境中進行的應用程式更新第二階段。更新 LPAR2 上的節點

結果

當新版本應用程式在叢集中的所有 LPAR 上執行時,應用程式更新程序就已完成。


指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_ha_pauselist
檔名:trun_ha_pauselist.html