使用應用程式伺服器和 wsadmin 工具,來設定、查詢和管理您在
DataPower® 設備管理程式中所配置的 DataPower 設備。DataPower
設備是一些為特定目的而建置且易於部署的網路裝置,可以簡化、協助保護並加速您的 XML 和 Web 服務部署。
開始之前
在開始之前,請先驗證您想管理的每一部設備都具備 3.6.0.4 或更高層次的韌體。此外,請驗證每一部設備都啟用了「設備管理通訊協定 (AMP)」端點。在安裝期間,如果停用了「XML 管理」介面 AMP 端點,請利用 DataPower WebGUI 來啟用 AMP 端點。
DataPower
主要憑證位於 app_server_root/profiles/profile_name/etc/DataPower-root-ca-cert.pem,隨附於預設金鑰儲存庫中。在建立設定檔期間,這份憑證只能新增至檔案型金鑰儲存庫。由於 SAF 金鑰環不是檔案型,必須手動將憑證新增至 RACF 金鑰儲存庫。
關於這項作業
請按照這個主題,將 DataPower 設備新增至 DataPower 設備管理程式、建立受管理集,以及將設備指派給您環境中的受管理集。您可以視需要新增大量或少量的設備和受管理集。
這個主題中的範例是將 DataPower 設備管理程式設定成管理
DataPower 設備的兩個受管理集、更新設備韌體,以及配置網域。第一個受管理集代表正式作業環境,其中使用三部 DataPower 設備。第二個受管理集代表測試環境,其中使用一部 DataPower 設備。藉由設定這項配置,您可以使用測試環境中的第二個受管理集,先修改和測試 DataPower 設備的設定,再將測試設備網域匯入到正式作業環境。請修改範例,將您的環境配置得更妥善。
如果要檢視這個主題中指令的其他資訊和範例,請參閱「AdminTask 物件的 dpManagerCommands 指令群組」說明文件。
程序
- 啟動 wsadmin Scripting 工具。
- 將 DataPower 設備新增至 DataPower 設備管理程式配置。
使用
dpAddAppliance 指令,將設備新增至 DataPower 設備管理程式。每次呼叫指令時,就會在 DataPower 設備管理程式中建立一項作業,並傳回作業 ID 作為指令輸出。下列指令是在您的配置中新增
ProductionAppliance1、
ProductionAppliance2、
ProductionAppliance3 和
TestAppliance1 設備,並指派作業 ID 給特定變數:
app1Task=AdminTask.dpAddAppliance('[-hostname ProductionAppliance1.ibm.com -hlmPort
5550 –name ProductionAppliance1 -userId admin -password mypassword]')
app2Task=AdminTask.dpAddAppliance('[-hostname ProductionAppliance2.ibm.com -hlmPort 5550 –name
ProductionAppliance2 -userId admin -password mypassword]')
app3Task=AdminTask.dpAddAppliance('[-hostname ProductionAppliance3.ibm.com -hlmPort
5550 –name ProductionAppliance3 -userId admin -password mypassword]')
testAppTask=AdminTask.dpAddAppliance('[-hostname TestAppliance1.ibm.com -hlmPort 5550 –name
TestAppliance1 -userId admin -password mypassword]')
DataPower 設備管理程式會提交作業,以便將設備新增至配置中。如果作業使用的資源,剛好有另一項作業正在使用,系統會將新作業排入佇列中,直到另一項作業完成為止。請使用下列範例指令,來監視作業的狀態:
param = '-taskId '+app1Task; print AdminTask.dpGetTask(param)
指令會以
result 屬性值的形式,傳回作業資訊和設備的設備 ID,如下列範例輸出所示:
[ [currentStep 0] [totalSteps 0] [taskDescription [Add appliance ProductionAppliance1 to
the DataPower appliance manager]] [currentStepTimestamp [Jan 18, 2008 2:32:25 PM]]
[creationDate [Jan 18, 2008 2:32:23 PM]]
[taskStatus 2] [taskId 1] [hasError false] [createdByUser defaultWIMFileBasedRealm/admin]
[isComplete true] [result [00605 20356]] ]
當系統將每一部設備新增至配置之後,這些設備是未受管理的設備。如果要管理每一部設備,請將每一部設備指派給受管理集。
- 將韌體版本新增至 DataPower 設備管理程式。
使用 dpAddFirmwareVersion 指令,將
ProductionAppliance2 設備使用的韌體版本新增至 DataPower 設備管理程式。這個主題後面會將
ProductionAppliance2 設備設為主要設備。因此,位於與
ProductionAppliance2 設備相同受管理集中的每一部設備,都會使用相同的韌體版本。
firmwareTask=AdminTask.dpAddFirmwareVersion('[-file
"C:\temp\dptestFW\dev-xs-143863-3_6_0_15.scrypt2" -userComment "my new firmware"]')
避免困難: 請勿對受管理集使用 DataPower 3.6.0.28、3.6.0.29 或 3.6.0.30 層次的韌體。
gotcha
一般而言,當建立 DataPower 設備的受管理集時,DataPower 設備管理程式會完成下列程序:
- 從主要設備的可共用設備設定,建立可共用設備設定版本。
- 使整個受管理集的設定同步化。每當主要設備的可共用設備設定變更時,就會重複執行這項同步化程序。
同樣地,當網域新增至 DataPower 設備管理程式的受管理集時,DataPower 設備管理程式通常也會完成下列程序:
- 從主要設備的網域建立網域版本。
- 將整個受管理集的網域版本同步化。每當主要設備的網域變更時,就會重複執行這項同步化程序。
如果對受管理集使用 DataPower 3.6.0.28、3.6.0.29 或 3.6.0.30 層次的韌體,韌體層次可能導致 DataPower 設備管理程式在非必要情況下建立新的可共用設備設定版本或網域版本,然後在整個受管理集之中將這些新版本同步化。
指令會將作業提交給系統,以新增韌體,並將作業 ID 指派給 firmwareTask 變數。
- 將受管理集新增到 DataPower 設備管理程式配置中。
使用 dpAddManagedSet 指令,將受管理集新增到 DataPower 設備管理程式。每次呼叫指令時,就會在 DataPower 設備管理程式中建立一項作業,並傳回作業 ID 作為指令輸出。下列指令會在您的配置中建立
testSet 和
productionSet 受管理集。
AdminTask.dpAddManagedSet('-name testSet')
AdminTask.dpAddManagedSet('-name productionSet')
指令會將作業提交給
DataPower 設備管理程式。
- 請驗證系統已將每一部設備和受管理集新增至配置。
dpAddAppliance 和 dpAddManagedSet
指令不見得立即完成。將設備新增至受管理集之前,請先驗證系統已完成先前指令中的作業。如果您在先前步驟中,未將指令輸出設定給變數,請使用下列指令,顯示 DataPower
設備管理程式中的每一個作業 ID:
AdminTask.dpGetAllTaskIds()
否則,請使用 dpGetTask 指令,判斷系統是否已完成作業。請針對每一項作業執行這個指令,如下列指令所示:
AdminTask.dpGetTask('-taskId '+app1Task)
AdminTask.dpGetTask('-taskId '+app2Task)
AdminTask.dpGetTask('-taskId '+app3Task)
AdminTask.dpGetTask('-taskId '+testAppTask)
AdminTask.dpGetTask('-taskId '+prodSetTask)
AdminTask.dpGetTask('-taskId '+firmwareTask)
AdminTask.dpGetTask('-taskId '+prodSetTask)
指令會傳回您屬意之非同步作業的相關資訊。如果作業已完成,isComplete 屬性會顯示值 true。如果未完成,請記下 taskStatus 屬性的值。如果回覆值是 0,表示作業位於佇列中,且系統尚未啟動作業。如果回覆值是 1,表示作業進行中。如果回覆值是 2,表示作業已順利完成。如果回覆值是 3,表示作業遇到異常狀況。
如需指令所傳回的其他屬性的說明,請參閱「AdminTask 物件的 dpManagerCommands 指令群組」說明文件。
- 將正式作業設備指派給正式作業受管理集。
如果要將設備指派給受管理集,您必須知道您屬意設備的設備 ID。請使用 dpGetAllApplianceIds 指令,顯示您配置中每一部設備的設備 ID,如下列範例所示:
AdminTask.dpGetAllApplianceIds()
使用
dpGetAppliance 指令,來顯示特定設備 ID 的其他資訊,如下列範例所示:
AdminTask.dpGetAppliance('[-applianceId "00605 20356"]')
使用
dpManageAppliance 指令,將每一部設備新增至受管理集,並指定每一部設備的設備 ID 以新增至受管理集。
避免困難: 如果要指派多部設備給受管理集,每一部設備的設備類型(例如 XI50 或 XS40)和機型都必須相同。此外,這些設備所安裝的必要特性也必須相同。藉由驗證每一部設備完全相同,可確保 DataPower 設備管理程式能夠將受管理集中每一部設備的相同韌體、網域和設定同步化。
gotcha
下列指令範例是將
ProductionAppliance1、
ProductionAppliance2 和
ProductionAppliance3 設備新增至
productionSet 受管理集,並指定
ProductionAppliance2 設備作為主要設備。如果您未指定設備作為主要設備,系統會自動指派受管理集中的第一部設備作為主要設備。
manageTask1=AdminTask.dpManageAppliance('[-managedSetId productionSet -applianceId "00605 20351"]')
manageTask2=AdminTask.dpManageAppliance('[-managedSetId productionSet -applianceId "00605 20352" -asMaster]')
manageTask3=AdminTask.dpManageAppliance('[-managedSetId productionSet -applianceId "00605 20353"]')
指令會將作業提交給系統,並將對應的作業 ID 設定給
manageTask1、manageTask2 和 manageTask3 變數。
- 將測試設備指派給測試受管理集。
下列指令使用
dpManageAppliance 指令,來將
TestAppliance1 設備新增至
testSet 受管理集,並指定
TestAppliance1 設備的設備 ID:
manageTask4=AdminTask.dpManageAppliance('[-managedSetId testSet -applianceId "00605 20354"]')
指令會將作業提交給系統,並將對應的作業 ID 設定給 manageTask4 變數。
- 驗證系統已將設備新增至受管理集。
繼續配置
DataPower 設備管理程式之前,使用 dpGetTask 指令,判斷 manageTask1、manageTask2、manageTask3 和 manageTask4 作業的狀態。
結果
在本例中,測試環境受管理集和正式作業環境受管理集存在於 DataPower
設備管理程式配置中。測試環境受管理集會管理
TestAppliance1 設備。正式作業環境受管理集會管理 ProductionAppliance1、ProductionAppliance2 和
ProductionAppliance3 設備。這兩個受管理集中的每一部設備都使用預設網域。
下一步
如果網域尚未存在,您可以使用 DataPower WebGUI,來設定測試環境中之 testAppliance1 設備的網域。在配置和測試網域之後,您可以使用 wsadmin 工具,將測試環境的設備配置複製到正式作業環境受管理集中。
您也可以使用 wsadmin 工具,來管理設備、韌體、網域、受管理集和設備專用的設定。此外,系統會為網域、韌體和設備專用的設定建立版本。您可以使用 wsadmin 工具,來修改網域、韌體和設備專用設定的現行版本,或回復成舊版。