使用应用程序服务器和 wsadmin 工具来设置、查询以及管理您在 DataPower 设备管理器中配置的 DataPower® 设备。DataPower 设备是易于部署的特别用途网络设备,可简化、帮助保护以及加快 XML 和 Web Service 部署。
开始之前
在开始之前,请验证要管理的每个设备是否都具有 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 脚本编制工具。
- 将 DataPower 设备添加到 DataPower 设备管理器配置。
使用
dpAddAppliance 命令,将设备添加到 DataPower 设备管理器。每个命令调用都会在 DataPower 设备管理器中创建一个任务,并将任务标识作为命令输出返回。以下命令会在配置中添加
ProductionAppliance1、
ProductionAppliance2、
ProductionAppliance3 以及
TestAppliance1 设备,并将任务标识指定给特定变量:
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 属性的值返回,如以下样本输出中所示:
[ [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 设备管理器不必要地创建新的可共享设备设置版本或域版本并使这些新版本在受管集合中同步。
此命令会将任务提交到系统以添加固件,并将任务标识指定给 firmwareTask 变量。
- 在 DataPower 设备管理器配置中添加受管集合。
使用 dpAddManagedSet 命令,将受管集合添加到 DataPower 设备管理器。每个命令调用都会在 DataPower 设备管理器中创建一个任务,并将任务标识作为命令输出返回。以下命令会在配置中创建
testSet 和
productionSet 受管集合:
AdminTask.dpAddManagedSet('-name testSet')
AdminTask.dpAddManagedSet('-name productionSet')
此命令会将该任务提交到 DataPower 设备管理器。
- 验证系统是否已将每个设备和受管集合添加到配置。
dpAddAppliance 和 dpAddManagedSet 命令可能不会立即完成。在将设备添加到受管集合前,请验证系统是否已完成来自先前命令的任务。如果未在先前步骤中将命令输出设置为变量,请使用以下命令来显示 DataPower 设备管理器中的每个任务标识:
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 命令组”的文档。
- 将生产设备指定给生产受管集合。
要将设备指定给受管集合,您必须知道相关设备的标识。使用 dpGetAllApplianceIds 命令来显示配置中每个设备的标识,如以下示例所示:
AdminTask.dpGetAllApplianceIds()
使用 dpGetAppliance 命令来显示特定设备标识的其他信息,如以下示例所示:
AdminTask.dpGetAppliance('[-applianceId "00605 20356"]')
使用 dpManageAppliance 命令,并指定要添加到受管集合中的每个设备的标识,以将此类设备添加到受管集合。
避免故障: 为了将多个设备指定给受管集合,每个设备必须为相同的设备类型(例如 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"]')
此命令会将任务提交到系统,并将相应的任务标识设置为 manageTask1、manageTask2 以及 manageTask3 变量。
- 将测试设备指定给测试受管集合。
以下命令使用 dpManageAppliance 命令,并指定
TestAppliance1 设备的标识,以将
TestAppliance1 设备添加到
testSet 受管集合:
manageTask4=AdminTask.dpManageAppliance('[-managedSetId testSet -applianceId "00605 20354"]')
此命令会将任务提交到系统,并将相应的任务标识设置为 manageTask4 变量。
- 验证系统是否已将设备添加到受管集合。
使用 dpGetTask 命令来确定 manageTask1、manageTask2、manageTask3 以及 manageTask4 任务的状态,然后再继续配置 DataPower 设备管理器。
结果
测试环境受管集合和生产环境受管集合便存在于本示例的 DataPower 设备管理器配置中。测试环境受管集合会管理 TestAppliance1 设备。生产环境受管集合会管理 ProductionAppliance1、ProductionAppliance2 以及 ProductionAppliance3 设备。两个受管集合中的每个设备都使用缺省域。
下一步做什么
如果测试环境中的 testAppliance1 设备尚不存在域,那么您可以使用 DataPower WebGUI,为该设备设置域。在配置并测试这些域后,您可以使用 wsadmin 工具,将测试环境设备配置复制到生产环境受管集合。
您也可以使用 wsadmin 工具来管理设备、固件、域、受管集合以及特定于设备的设置。另外,系统会创建域、固件以及特定于设备的设置的版本。您可以使用 wsadmin 工具来修改当前版本,或将域、固件以及特定于设备的设置还原至先前版本。