進行手動應用程式依序套用時,工作量遞送的控制方式,是停止正在更新之叢集成員所在的應用程式伺服器。這會導致該伺服器靜止。伺服器中所有現有的要求可以完成作業,但不接受新的要求。Sysplex 系統配送器和WebSphere® Application Server Web 伺服器外掛程式在遞送工作時,都會避開靜止的伺服器。所有工作都完成之後,您即可在這部伺服器上啟動應用程式更新處理程序。
開始之前
判定哪些應用程式伺服器所管理的叢集成員需要更新。
關於這項作業
如果您想要手動控制某個高可用性應用程式的更新項目,您可以使用此處理程序,或是使用 MVS™ Modify 指令,暫停受影響的應用程式伺服器的接聽器。請參閱「暫停應用程式伺服器,以手動方式更新高可用性應用程式」的相關資訊。
如果要在高可用性環境中,手動控制應用程式依序套用和工作量遞送:
程序
- 在 Cell 的所有節點上停用各種形式的自動同步化,並儲存變更。 執行下列其中一個程序以完成此步驟:
- 在管理主控台中:
- 按一下node_agent_name > 檔案同步化服務。
- 取消選取自動同步化及啟動同步化選項。
- 選取與節點同步變更選項。
- 按一下儲存。
- 使用 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
避免困難: 若為正式作業環境,一律在停用自動同步化的情況下執行節點代理程式是合理的。不過,建議您為節點代理程式啟用啟動同步化,使節點代理程式可取得在其關閉時所進行的配置更新。只要您確定不會在應用程式更新程序中,以手動、自動方式,或透過自動重新啟動管理程式來重新啟動節點代理程式,便可以保留「啟動同步化」的啟用狀態。
gotcha
- 在部署管理程式伺服器上的主要配置儲存庫中更新應用程式。 執行下列其中一個程序以完成此步驟:
- 在管理主控台中:
- 按一下應用程式 > 企業應用程式。
- 選取您要更新的應用程式。
- 完成應用程式更新處理程序。
- 將您所做的變更儲存到主要配置中。不要選取與節點同步變更選項。
- 使用 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. 安裝應用程式更新項目.
下圖說明在高可用性環境中進行的應用程式更新第一階段。
- 在 LPAR1 上停止應用程式伺服器,並以手動方式,將節點同步化為已更新版本的應用程式。 由於伺服器必須等到目前指派的所有工作項目都完成之後才能關機,因此這個步驟可能需要一點時間才能完成。
執行下列其中一個程序以完成此步驟:
- 將節點同步化。 執行下列其中一個程序以完成此步驟:
如下圖所示,更新版應用程式(App 第 2 版)現在位於 LPAR1 上的節點中。
圖 2. 更新 LPAR1 上的節點.
下圖說明在具有兩個 LPAR 的高可用性環境中進行的應用程式更新第一階段。
- 重新啟動 LPAR1 上的伺服器。 執行下列其中一個程序以完成此步驟:
- 在管理主控台中:
- 按一下。
- 選取您要啟動的伺服器,然後按一下 START。
- 使用 wsadmin Scripting 來發出下列指令:
set node NODE
set server SERVER
$AdminControl startServer $server $node
- 從 MVS 主控台發出下列指令:
START procname,JOBNAME=server_short_name.ENV=cell_short_name.node_short_name.server_short_name
例如:
START BBO6ACR,JOBNAME=BBOS001,ENV=PLEX1.SY1.BBOS001
此伺服器在進行備份時,會執行新版本的應用程式(App 第 2 版)。圖 3. 重新啟動 LPAR1 上的伺服器.
下圖說明在高可用性環境中完成應用程式更新的第一階段。
- 在 LPAR1 上執行新版本應用程式的情況下,針對叢集中的其他 LPAR 重複前述三個步驟,以使用新版本應用程式更新這些 LPAR。 下圖顯示您的配置在具有兩個 LPAR 的叢集中的情形。
圖 4. 更新 LPAR2 上的節點.
下圖說明在高可用性環境中進行的應用程式更新第二階段。
結果
當新版本應用程式在叢集中的所有叢集成員上執行時,應用程式更新程序就已完成。下圖顯示在您重新啟動 LPAR2 上的伺服器之後,具有兩個 LPAR 的叢集的情形。
圖 5. 重新啟動 LPAR2 上的伺服器.
此圖顯示在您重新啟動 LPAR2 上的伺服器之後,具有兩個 LPAR 的叢集的情形。