第 2 章 修补 JBoss EAP
您应该选择将补丁应用到 JBoss EAP 的方法取决于您的安装方法。如果使用存档或安装程序方法安装了 JBoss EAP,则必须使用 补丁管理 .zip 文件。如果您使用 RPM 在红帽企业 Linux 上安装 JBoss EAP,则必须使用 RPM 修补程序。
在应用或回滚补丁之前,请备份您的 JBoss EAP 服务器,包括所有部署和配置文件。
如果您有一个本地安装的 JBoss EAP Maven 存储库,还必须将 Maven 存储库补丁 到与 JBoss EAP 服务器相同的累积补丁版本。
2.1. 修复存档或安装程序安装 复制链接链接已复制到粘贴板!
您 可以从红帽客户门户下载 存档或安装程序安装 JBoss EAP 的累积修补程序。如果您在受管域中有多个 JBoss EAP 主机,您可以从 JBoss EAP 域控制器对个别主机进行补丁。
有关存档或安装程序安装补丁的重要备注
在修补存档或安装程序前,您必须记下以下内容:
-
如果您应用了更新模块补丁,则运行时使用的新补丁 JAR 存储在
EAP_HOME/modules/system/layers/base/.overlays/PATCH_ID/MODULE
中。原始 未 修补的文件保留在EAP_HOME/modules/system/layers/base/MODULE
中,且不在运行时使用。 要显著减少 JBoss EAP 7 的累积补丁版本的大小,您必须首先确认没有包括累积补丁更新的问题,然后运行此 CLI 命令
/core-service=patching:ageout-history()
。这会删除所有累积补丁覆盖,但最新和原始基本发行版本除外。例如,如果您有 JBoss EAP 7.0.0 并应用了 CP01,然后应用 CP02。如果运行
/core-service=patching:ageout-history()
,您将无法回滚到 CP01。回滚 CP02 意味着回滚到 JBoss EAP 7.0.0,您必须下载 CP01 并再次应用它。注意- 补丁只适用于归档安装,而不适用于 RPM。
- 您不需要应用中间的累积修补程序。例如,如果您有 JBoss EAP 7.0.0,您可以在不应用 CP01-CP04 的情况下应用 CP05。
- 如果您之前已经安装了之前,您只能回滚到以前的累积补丁。
2.1.1. 使用管理 CLI 修复 JBoss EAP 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 将补丁应用到 JBoss EAP。
您不能使用这些说明来更新您使用 RPM 方法安装的任何 JBoss EAP 服务器。请参阅 RPM 说明以应用补丁。
流程
- 登录红帽客户门户,再从 JBoss EAP 软件下载 下载补丁文件。
在管理 CLI 中使用以下命令应用补丁,包括到补丁文件的适当路径: https://access.redhat.com/documentation/zh-cn/red_hat_jboss_enterprise_application_platform/7.4/html-single/configuration_guide/#management_cli_overview
patch apply /path/to/downloaded-patch.zip
patch apply /path/to/downloaded-patch.zip
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意若要修补受管域中的 JBoss EAP 主机,您可以使用
--host=
参数指定 JBoss EAP 主机名。例如:patch apply /path/to/downloaded-patch.zip --host=my-host
patch apply /path/to/downloaded-patch.zip --host=my-host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果尝试应用补丁,则补丁工具会显示警告消息。如果存在冲突,请为可用的参数输入 patch --help 来解析补丁冲突。
重启 JBoss EAP 服务器以使补丁生效:
shutdown --restart=true
shutdown --restart=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
您可以通过打开管理 CLI 并运行补丁信息来验证是否已成功应用了
补丁
。预期输出:
Version: <PATCH_VERSION_NUMBER>.GA Cumulative patch ID: jboss-eap-<PATCH VERSION NUMBER>.CP One-off patches: none
Version: <PATCH_VERSION_NUMBER>.GA Cumulative patch ID: jboss-eap-<PATCH VERSION NUMBER>.CP One-off patches: none
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这显示了新应用的补丁的版本和累积补丁 ID。
2.1.2. 使用管理控制台修补 JBoss EAP 复制链接链接已复制到粘贴板!
您可以使用管理控制台,将补丁应用到 JBoss EAP。
您不能使用这些说明来更新您使用 RPM 方法安装的任何 JBoss EAP 服务器。请参阅 RPM 说明以应用补丁。
流程
- 登录红帽客户门户,再从 JBoss EAP 软件下载 下载补丁文件。
- 打开管理控制台,再进入到 Patching 选项卡。
使用 Add Patch 向导添加补丁。
对于单机服务器:
- 点 Add 按钮。
- 点 Choose a file or drag it here,选择下载的要应用的补丁,然后点 Next。
- 配置任何附加选项并点完成。
对于受管域:
- 选择要修补的主机,然后点添加 (+)按钮。
- 选择是否关闭主机上的服务器,然后点 Next。
- 点 Choose a file or drag it here,选择下载的要应用的补丁,然后点 Next。
- 配置任何附加选项并点完成。
- 如果补丁应用成功,请重新启动服务器使更改生效。
- 如果补丁应用程序失败,请查看错误消息。如果存在冲突,您可以使用 Add Patch 向导中的 Override All、Override Modules 和 Override 字段来绕过补丁更改的项目的内容验证。当您覆盖冲突时,补丁内容会覆盖您的修改。
验证
- 要验证您是否应用了补丁程序,请打开控制台来应用累计补丁。如果已安装成功,则应在管理控制台的补丁选项卡中列出。对于单机和受管域服务器,这都是相同的。
2.1.3. 回滚到以前应用的补丁 复制链接链接已复制到粘贴板!
您可以使用 管理 CLI 或管理控制台回滚之前应用的 JBoss EAP 补丁。https://access.redhat.com/documentation/zh-cn/red_hat_jboss_enterprise_application_platform/7.4/html-single/patching_and_upgrading_guide/#proc_archive_rollback_management_console
使用补丁管理系统回滚补丁并不适合作为常规卸载功能。它仅应在有良好效果的修补程序应用后立即使用。
当您回滚补丁时,请务必为 重置
配置选项指定正确的值。在回滚补丁前,您必须设置以下两个值之一:
-
如果设置为
TRUE
,则补丁回滚过程会将 JBoss EAP 服务器配置文件回滚到它们的 pre-patch 状态。应用补丁后对 JBoss EAP 服务器配置文件进行的所有更改无法恢复。 -
如果设置为
FALSE
,则无法回滚服务器配置文件。在这种情况下,服务器在回滚后可能不会启动,因为补丁可能会改变配置(如命名空间),您可以手动修复这些配置。
2.1.4. 使用管理 CLI 回滚补丁 复制链接链接已复制到粘贴板!
您可以使用管理 CLI 在 JBoss EAP 上回滚补丁。
流程
使用管理 CLI 中的
patch history
命令查找您要回滚的补丁的 ID。注意如果您使用的是受管域,您必须将
--host=HOSTNAME参数添加到
命令以指定 JBoss EAP 主机。使用上一步中的适当补丁 ID 回滚补丁。
patch rollback --patch-id=PATCH_ID --reset-configuration=TRUE
patch rollback --patch-id=PATCH_ID --reset-configuration=TRUE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果尝试回滚补丁程序,则补丁工具会发出警告。如果存在冲突,请为可用参数输入
patch --help
,并使用参数重新运行命令,指定您要如何解析冲突。重启 JBoss EAP 服务器以使补丁回滚生效:
shutdown --restart=true
shutdown --restart=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
-
您可以验证已成功回滚补丁,打开管理 CLI 并运行
补丁信息
。这显示了以前应用补丁的版本和累积 ID。
2.1.5. 使用管理控制台回滚补丁 复制链接链接已复制到粘贴板!
您可以使用管理控制台在 JBoss EAP 上回滚补丁。
流程
- 打开管理控制台,再进入 Patching 选项卡。
使用 Rollback 向导回滚补丁。
对于单机服务器:
- 选择要回滚的补丁并点 Rollback。
- 配置任何附加选项并点完成。
对于受管域:
- 选择主机,选择要回滚的补丁,然后点 Rollback。
- 选择是否关闭主机上的服务器并点 Next。
- 配置任何附加选项并点完成。
- 如果补丁成功回滚,请重新启动服务器使更改生效。
- 如果补丁回滚失败,请查看错误消息。如果存在冲突,您可以使用向导中的 Override All, Override Modules, and Override 字段来绕过受修补程序影响的项目的内容验证。
验证
- 要验证您是否已成功回滚补丁,请打开管理控制台并导航至补丁选项卡。在左侧,您可以看到之前应用的补丁版本。对于单机和受管域服务器,这都是相同的。