第 2 章 修补 JBoss EAP
将补丁应用到 JBoss EAP 的方法取决于您的安装方法。如果您使用 ZIP 或安装程序方法安装 JBoss EAP,则必须使用基于 ZIP 的补丁管理系统。如果您使用 RPM 在红帽企业 Linux 上安装 JBoss EAP,则必须使用 RPM 补丁。
在应用或回滚修补程序之前,您应该备份您的 JBoss EAP 服务器,包括所有部署和配置文件。
如果您有本地安装的 JBoss EAP Maven 存储库,您还必须将 Maven 存储库修补为与 JBoss EAP 服务器相同的累积补丁版本。
2.1. 修补 ZIP/Installer 安装 复制链接链接已复制到粘贴板!
可从红帽客户门户下载 JBoss EAP 的 ZIP 或安装程序安装的累积修补程序。
对于受管域环境中的多个 JBoss EAP 主机,可以从 JBoss EAP 域控制器修补个别主机。
除了应用补丁程序外,您还可以回滚补丁应用程序。
2.1.1. 有关 ZIP/Installer 安装补丁的重要备注 复制链接链接已复制到粘贴板!
-
如果您应用了更新模块的补丁,则运行时使用的新补丁 JAR 将存储在
EAP_HOME/modules/system/layers/base/.overlays/PATCH_ID/MODULE中。原始未修补的文件保留在EAP_HOME/modules/system/layers/base/MODULE中,但这些 JAR 不会 在运行时使用。 为了显著减少 JBoss EAP 7 的累积补丁版本大小,您现在无法执行累积修补程序的部分回滚。对于已应用的补丁,您将只能回滚整个补丁。
例如,如果您将 CP03 应用到 JBoss EAP 7.0.0,您将无法回滚到 CP01 或 CP02。如果您希望能够回滚到每个累积补丁版本,则必须按照发布顺序单独应用每个累积补丁。
2.1.2. 应用补丁 复制链接链接已复制到粘贴板!
使用 RPM 方法安装的 JBoss EAP 服务器无法按照以下说明进行更新。有关应用补丁的 RPM 说明,请参阅 RPM 说明。
您可以使用管理 CLI 或管理控制台将下载的补丁应用到 JBoss EAP 服务器。
您只能使用管理 CLI 管理 JBoss EAP XP 补丁。
有关 JBoss EAP XP 补丁流的详情,请参阅《在 JBoss EAP 中使用 Eclipse MicroProfile 指南》中的 JBoss EAP XP 补丁流管理 JBoss EAP XP 补丁流。
使用管理 CLI 将补丁应用到 JBoss EAP
- 登录红帽客户门户,再从 JBoss EAP 软件下载下载补丁文件。
在管理 CLI 中,使用以下命令应用补丁,包括补丁文件的适当路径:
patch apply /path/to/downloaded-patch.zip注意若要修补受管域中的另一 JBoss EAP 主机,您可以使用
--host=参数指定 JBoss EAP 主机名。例如:patch apply /path/to/downloaded-patch.zip --host=my-host如果尝试应用补丁时存在任何冲突,补丁工具将会发出警告。如果存在冲突,输入
patch --help来使用可用的参数重新运行命令,并指定如何解决冲突。重启 JBoss EAP 服务器以使补丁生效:
shutdown --restart=true
使用管理控制台将补丁应用到 JBoss EAP
- 登录红帽客户门户,再从 JBoss EAP 软件下载下载补丁文件。
- 打开管理控制台,再导航到 Patching 选项卡。
使用 Add Patch 向导添加补丁。
对于单机服务器:
- 单击添加(+)按钮。
- 单击 Choose a file 或在此处拖动,选择要应用的下载补丁,然后单击 Next。
- 配置任何附加选项并单击"完成"。
对于受管域:
- 选择要修补的主机,然后单击添加(+)按钮。
- 选择是否关闭主机上的服务器,然后单击 Next。
- 单击 Choose a file 或在此处拖动,选择要应用的下载补丁,然后单击 Next。
- 配置任何附加选项并单击"完成"。
验证补丁是否已成功应用。
- 如果补丁应用成功,请重新启动服务器使更改生效。
- 如果补丁应用失败,请查看错误消息。如果存在冲突,您可以使用 Add Patch 向导中的Override All 、Override Modules 和 Override 字段来绕过补丁更改的项目的内容验证。覆盖冲突会导致补丁内容覆盖用户的任何修改。
2.1.3. 回滚补丁 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 或管理控制台回滚之前应用的 JBoss EAP 补丁。
使用补丁管理系统回滚补丁并不适合作为常规卸载功能。它仅应在有良好效果的修补程序应用后立即使用。
您只能使用管理 CLI 管理 JBoss EAP XP 补丁。
有关 JBoss EAP XP 补丁流的详情,请参阅《在 JBoss EAP 中使用 Eclipse MicroProfile 指南》中的 JBoss EAP XP 补丁流管理 JBoss EAP XP 补丁流。
先决条件
- 之前应用的补丁。
当回滚补丁时,在指定 Reset Configuration 选项的值时要小心:
如果设置为 TRUE,补丁回滚流程也会将 JBoss EAP 服务器配置文件回滚到其预补丁状态。应用补丁后对 JBoss EAP 服务器配置文件所做的任何更改都将丢失。
如果设置为 FALSE,服务器配置文件将不会回滚。在这种情况下,服务器可能不会在回滚后启动,因为补丁可能会更改了配置,如命名空间,这些配置可能不再有效,必须手动修复。
使用管理 CLI 回滚补丁
在管理 CLI 中,使用
patch history命令查找您要回滚的补丁 ID。注意如果使用受管域,则必须在此流程中的命令中添加
--host=HOSTNAME参数,以指定 JBoss EAP 主机。使用上一步中的适当补丁 ID 回滚补丁。
patch rollback --patch-id=PATCH_ID --reset-configuration=TRUE如果尝试回滚补丁时有任何冲突,补丁工具将会发出警告。如果存在冲突,输入
patch --help来使用可用的参数重新运行命令,并指定如何解决冲突。重启 JBoss EAP 服务器以使补丁回滚生效:
shutdown --restart=true
使用管理控制台回滚补丁
- 打开管理控制台,再导航到 Patching 选项卡。
使用 Rollback 向导回滚补丁。
对于单机服务器:
- 选择要回滚的补丁并单击 Rollback。
- 配置任何附加选项并单击"完成"。
对于受管域:
- 选择主机,选择要回滚的补丁,然后单击 Rollback。
- 选择是否关闭主机上的服务器并单击 Next。
- 配置任何附加选项并单击"完成"。
验证回滚是否成功。
- 如果补丁成功回滚,请重新启动服务器使更改生效。
- 如果补丁回滚失败,请查看错误消息。如果存在冲突,您可以使用向导中的 Override All、Override Modules 和 Override 字段来绕过受修补程序影响的项目的内容验证。
2.1.4. 清除补丁历史记录 复制链接链接已复制到粘贴板!
当补丁应用到 JBoss EAP 服务器时,修补程序的内容和历史将保留下来,以用于回滚操作。如果应用了多个累积补丁,补丁历史记录可能会占用大量磁盘空间。
您可以使用以下管理 CLI 命令删除目前尚未使用的所有较早补丁:使用此命令时,只会保留最新的累积补丁和 GA 版本。仅当之前应用了多个累积补丁时,这仅适用于释放空间。
/core-service=patching:ageout-history
如果您清除了补丁历史记录,您将无法回滚之前应用的补丁。