使用 JBoss 服务器迁移工具
对于 Migrating Server configuration to Red Hat JBoss Enterprise Application Platform 7.4
摘要
提供有关 JBoss EAP 文档的反馈
要报告错误或改进文档,请登录到 Red Hat JIRA 帐户并提交问题。如果您没有 Red Hat Jira 帐户,则会提示您创建一个帐户。
流程
- 单击以下链接 以创建 ticket。
- 请包含 文档 URL、章节编号 并描述问题。
- 在 Summary 中输入问题的简短描述。
- 在 Description 中提供问题或功能增强的详细描述。包括一个指向文档中问题的 URL。
- 点 Submit 创建问题,并将问题路由到适当的文档团队。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 简介
1.1. About Red Hat JBoss Enterprise Application Platform 7
Red Hat JBoss Enterprise Application Platform 7(JBoss EAP)是一个基于开放标准构建的中间件平台,与 Jakarta Enterprise Edition 8 规格兼容。
JBoss EAP 的 7.4 版本是 Web Profile 和 Full Platform 规格的 Jakarta EE 8 兼容实现。7.4 发行版本也是 Jakarta EE 8 Web Profile 和 Full Platform 规格的经过认证的实现。
JBoss EAP 为服务器实例提供了两种操作模式。
- 独立服务器
- 单机服务器工作模式表示将 JBoss EAP 作为单一服务器实例运行。
- 受管域
- 受管域工作模式允许从单一控制点管理多个 JBoss EAP 实例。
JBoss EAP 包括 API 和开发框架,可用于快速开发安全、可扩展的 Jakarta EE 应用程序。公开给部署到 JBoss EAP 服务器的应用程序的许多 API 和功能都组织成服务器配置文件中配置的子系统。例如,您要在 datasources
子系统中配置数据库访问信息,使它能被部署到 JBoss EAP 单机服务器或托管域的应用访问。引进其他功能的新功能和弃用可能需要从一个 JBoss EAP 版本升级到另一个配置。
有关 Red Hat JBoss Enterprise Application Platform 的更多信息 ,请参阅红帽客户门户网站上的 JBoss EAP 产品文档。
1.2. 关于 JBoss 服务器迁移工具
将现有的应用服务器配置从一个发行版本迁移到另一个版本,是一项复杂的任务。要计划和执行成功迁移,不仅需要完全了解当前的服务器配置,还要了解目标服务器配置的功能和更改。使用手动迁移时,您通常复制并编辑多个配置文件,然后进行必要的更新以在目标版本中保持相同的行为。如果这不正确,则目标服务器无法正常工作。这通常是因为目标服务器不支持一些功能。
JBoss 服务器迁移工具是一个 Java 应用程序,它可自动迁移 JBoss EAP 服务器配置最少或不需要交互。最好更新 JBoss EAP 服务器配置,使其包含 JBoss EAP 7 中的新功能和设置,同时保持现有配置。JBoss 服务器迁移工具读取您的现有源服务器配置文件,并添加任何新子系统的配置,使用新功能更新现有子系统配置,并删除任何过时的子系统配置。
JBoss 服务器迁移工具支持迁移独立服务器和受管域以实现以下配置:
- 迁移到 JBoss EAP 7.4
JBoss 服务器迁移工具附带 JBoss EAP 7.4,因此无需单独下载或安装。此工具支持从以前的产品主版本(JBoss EAP 6.4)和之前的次版本(即 JBoss EAP 7.3)迁移到 JBoss EAP 7.4。
您可以通过执行位于
EAP_HOME/bin
目录中的jboss-server-migration
脚本来运行该工具。有关如何运行该工具的更多信息,请参阅 运行 JBoss 服务器迁移工具。建议您使用此版本的 JBoss 服务器迁移工具将服务器配置迁移到 JBoss EAP 7.4,因为这个工具版本 都被支持。
- 从 WildFly 迁移到 JBoss EAP
如果要从 WildFly 服务器迁移到 JBoss EAP,则必须从 wildfly-server-migration GitHub 仓库下载 JBoss 服务器迁移工具的最新二进制分发。这一开源、独立版本的工具支持从多个版本的 WildFly 服务器迁移到 JBoss EAP。有关如何安装和运行此版本的工具的详情,请参考 JBoss 服务器迁移工具用户指南。
重要不支持 JBoss 服务器迁移工具的二进制发行版。如果您要从以前的 JBoss EAP 版本迁移,建议您使用此 支持的工具版本将 服务器配置迁移到 JBoss EAP 7.4。
1.3. 关于本文档中 EAP_HOME 的使用
在本文档中,变量 EAP_HOME
用于表示目标服务器安装的路径。将这个变量替换为服务器安装的实际路径。
EAP_HOME
是一个可替换的变量,而非环境变量。JBOSS_HOME
是脚本中使用的环境变量。
JBoss EAP 安装路径
-
如果您使用 ZIP 安装方法安装 JBoss EAP,安装目录是您解压 ZIP 存档的
jboss-eap-7.4
目录。 -
如果您使用 RPM 安装方法安装 JBoss EAP,安装目录为
/opt/rh/eap7/root/usr/share/wildfly/
。 如果您使用安装程序安装 JBoss EAP,
EAP_HOME
的默认路径为${user.home}/EAP-7.4.0
:-
对于 Red Hat Enterprise Linux、SOLARIS 和 HP-UX:
/home/USER_NAME/EAP-7.4.0/
-
对于 Microsoft Windows:
C:\Users\USER_NAME\EAP-7.4.0\
-
对于 Red Hat Enterprise Linux、SOLARIS 和 HP-UX:
如果您使用 JBoss Developer Studio 安装程序安装和配置 JBoss EAP 服务器,则
EAP_HOME
的默认路径为${user.home}/jbdev Studio/runtimes/jboss-eap
:-
对于 Red Hat Enterprise Linux:
/home/USER_NAME/jbdev Studio/runtimes/jboss-eap/
-
对于 Microsoft Windows:
C:\Users\USER_NAME\jbdev Studio\runtimes\jboss-eap
或C:\Documents 和 Settings\USER_NAME\jbdev Studio\runtimes\jboss-eap\
-
对于 Red Hat Enterprise Linux:
第 2 章 开始前
2.1. 更新目标服务器
目标服务器包含 JBoss EAP 迁移工具,并包含适用于该工具的最新错误修复。您可以使用 JBoss EAP 迁移工具将 JBoss EAP 的一个次要版本迁移到另一个次要发行本。
在迁移流程前,您必须确保 JBoss EAP 迁移工具收到最新的 JBoss EAP 更新,以防止重新引入可能已经修复的错误。您可以通过将最新的 JBoss EAP 更新应用到目标服务器来更新该工具。
例如,要将现有源服务器配置从 JBoss EAP 6.4 迁移到 JBoss EAP 7.4,那么您必须在运行该工具前应用最新的 JBoss EAP 迁移工具更新到 JBoss EAP 7.4。否则,在从 JBoss EAP 6.4 迁移到 JBoss EAP 7.4 后,您可能会向新的源服务器配置引入问题。
JBoss EAP 6.4 之前的发行版本不支持 JBoss EAP 迁移工具。如果您想在 JBoss EAP 6.4 中使用该工具,则必须升级到 JBoss EAP 6.4。此外,您必须将源配置文件从 JBoss EAP 6.0 复制到 JBoss EAP 6.4。
其他资源
- 有关如何升级服务器配置的详情,请参考 JBoss EAP 的补丁和升级指南。
2.2. 使用 Clean Target Server 安装运行
由于 JBoss 服务器迁移工具根据之前版本的配置创建配置文件,因此应该在一个干净且未配置的目标服务器安装中运行。JBoss 服务器迁移工具通过在文件名中添加 .beforeMigration
来创建目标服务器配置文件的备份。然后,它会使用源服务器的配置文件为目标服务器创建所有新配置文件,并将配置迁移到目标服务器配置中运行。
运行 JBoss 服务器迁移工具时,在安装和运行迁移工具时,目标服务器之间所做的所有更改都会丢失。
另外,请注意,如果您对目标服务器目录运行该工具一次,则后续运行将覆盖首次运行工具时备份的原始目标配置文件。这是因为,每次运行该工具都会通过附加 .beforeMigration
来备份配置文件,从而导致丢失了任何现有备份的配置文件。
2.3. 自定义迁移
JBoss 服务器迁移工具提供了配置日志记录、报告和执行迁移任务的能力。默认情况下,以非互动模式运行 JBoss 服务器迁移工具时,会迁移整个服务器配置。您可以配置 JBoss 服务器迁移工具来自定义日志和报告输出。您还可以将其配置为跳过您不想迁移的配置的任何部分。
有关如何配置属性来控制迁移过程的说明,请参阅配置 JBoss 服务器迁移工具。
第 3 章 运行 JBoss 服务器迁移工具
您可以通过以下任一方式运行 JBoss 服务器迁移工具。
- 交互模式:此模式 是默认模式,允许您准确选择要迁移的配置。
- 非互动模式 : 此模式 允许您在不提示的情况下运行该工具。
在运行 JBoss 服务器迁移工具前,您必须停止源和目标 JBoss EAP 服务器。
3.1. 以互动模式运行 JBoss 服务器迁移工具
默认情况下,JBoss 服务器迁移工具以交互方式运行。此模式允许您准确选择要迁移的服务器配置。
交互模式不允许选择要迁移的子系统。有关如何在子系统或任务级别上配置该工具的信息,请参阅 配置由 JBoss 服务器迁移工具执行的迁移任务。
以下是为最小的迁移执行的基本步骤。如果您要迁移的服务器包含自定义配置,如部署,或者缺少默认资源,工具会提供额外的提示。
要以交互模式运行该工具,请导航到目标服务器安装目录并运行以下命令,提供
源参数作为源
服务器安装的路径。$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME
您需要将源服务器的单机配置(位于
EAP_PREVIOUS_HOME/standalone/configuration/
目录中)迁移到目标服务器的单机配置,该配置位于EAP_HOME/standalone/configuration/
目录中。Migrate the source's standalone server? yes/no? yes
如果没有响应,则
会跳过单机服务器迁移,且不会迁移单机服务器配置文件。如果使用
yes
做出响应,您会看到以下提示。Migrate all configurations? yes/no? yes
使用
yes
来迁移所有源服务器的单机服务器配置文件。不回答
每个独立独立*.xml
配置文件提示。接下来,系统会提示您确定源服务器的托管域配置(位于
EAP_PREVIOUS_HOME/domain/configuration/
目录中)到目标服务器的托管域配置,该配置位于EAP_HOME/domain/configuration/
目录中。Migrate the source's managed domain? yes/no? yes
如果您回答
没有,则
会跳过受管域迁移,并且不会迁移任何受管域配置文件。如果使用
yes
做出响应,则工具将开始迁移源服务器的受管域内容。密码的存储库用于存储由源服务器托管域和主机配置引用的数据,如部署和部署覆盖。由于源和目标服务器使用相似的内容存储库,该工具只是将源服务器中的数据复制到目标服务器,并将结果输出到控制台和服务器日志。INFO [ServerMigrationTask#397] Migrating domain content found: [22/caa450a9ba3b84eaf5a15b6da418b92ce6c98e/content, 23/b62a37ba8a4830622bfcdb960280577cc6796e/content] INFO [ServerMigrationTask#398] Resource with path /EAP_HOME/domain/data/content/22/caa450a9ba3b84eaf5a15b6da418b92ce6c98e/content migrated. INFO [ServerMigrationTask#399] Resource with path /EAP_HOME/domain/data/content/23/b62a37ba8a4830622bfcdb960280577cc6796e/content migrated.
接下来,迁移工具会扫描源服务器以获取受管域配置文件,将结果打印到控制台,并提供以下提示符。
Migrate all configurations? yes/no? yes
使用
yes
来响应,以迁移所有源服务器的受管域配置文件。若无任何响应,则
收到每个单独的受管域配置文件的提示。接下来,迁移工具会扫描源服务器的主机配置文件,将结果打印到控制台,并提供以下提示符。
INFO [ServerMigrationTask#457] Retrieving source's host configurations... INFO [ServerMigrationTask#457] /jboss-eap-6.4/domain/configuration/host-master.xml INFO [ServerMigrationTask#457] /jboss-eap-6.4/domain/configuration/host-slave.xml INFO [ServerMigrationTask#457] /jboss-eap-6.4/domain/configuration/host.xml Migrate all configurations? yes/no? yes
使用
yes
来响应,以迁移所有源服务器的主机配置文件。若无任何响应,则
收到每个独立主机配置文件的提示。完成后,您应该在服务器控制台中看到以下消息。
Migration Result: SUCCESS
3.2. 在非互动模式下运行 JBoss 服务器迁移工具
您可以在非互动模式下运行 JBoss 服务器迁移工具。这个模式允许它在没有提示的情况下运行。
JBoss 服务器迁移工具会自动迁移所有服务器配置文件的所有子系统配置。有关如何在子系统或任务级别上配置该工具的信息,请参阅 配置由 JBoss 服务器迁移工具执行的迁移任务。
要以非互动模式运行该工具,请导航到目标服务器安装目录并运行以下命令,提供
源参数作为源
服务器安装的路径,并将--interactive
或-i
参数设置为false
。$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME --interactive false
默认情况下,该工具会自动迁移所有源服务器的独立和受管域配置文件。但是,您可以配置工具的属性来跳过特定配置的迁移。完成后,您应该在服务器控制台中看到以下消息。
Migration Result: SUCCESS
第 4 章 查看 JBoss 服务器迁移工具执行的结果
4.1. 查看迁移的配置文件
迁移完成后,请查看 EAP_HOME/standalone/configuration/ 和
目录中迁移的服务器配置文件。
EAP_HOME/
domain/configuration/
-
请注意,为迁移选择的任何原始
EAP_HOME
目标服务器配置文件都会被备份,现在附加了.beforeMigration
。 -
现在,使用从
EAP_PREVIOUS_HOME
源服务器配置迁移的内容,未附加了.beforeMigration
的EAP_HOME
目标服务器配置文件名称。 -
EAP_PREVIOUS_HOME
源服务器配置目录中的原始配置文件保持不变。 -
目标配置目录中的
logging.properties
和standalone-load-balancer.xml
文件保持不变。
如果您选择迁移所有可用配置,您应该在目标服务器目录中看到以下配置文件。
示例:目标服务器上的配置文件列表
$ ls EAP_HOME/standalone/configuration/ application-roles.properties application-roles.properties.beforeMigration application-users.properties application-users.properties.beforeMigration logging.properties mgmt-groups.properties mgmt-groups.properties.beforeMigration mgmt-users.properties mgmt-users.properties.beforeMigration standalone-full-ha.xml standalone-full-ha.xml.beforeMigration standalone-full.xml standalone-full.xml.beforeMigration standalone-ha.xml standalone-ha.xml.beforeMigration standalone-load-balancer.xml standalone-osgi.xml standalone-osgi.xml.beforeMigration standalone.xml standalone.xml.beforeMigration $ ls EAP_HOME/domain/configuration/ application-roles.properties application-roles.properties.beforeMigration application-users.properties application-users.properties.beforeMigration domain.xml domain.xml.beforeMigration host-master.xml host-master.xml.beforeMigration host-slave.xml host-slave.xml.beforeMigration host.xml host.xml.beforeMigration logging.properties mgmt-groups.properties mgmt-groups.properties.beforeMigration mgmt-users.properties mgmt-users.properties.beforeMigration
4.2. 跟踪迁移任务执行
JBoss 服务器迁移工具通过执行根任务开始每个目标服务器迁移,然后执行子任务。这些子任务随后也可以执行其他任务和子任务。在执行工具时,该工具跟踪每个迁移任务以及任何子任务,并将结果保存在稍后用于构建报告的树结构中。
每个迁移任务都被授予一个名称,它由任务名称组成,它使用以下语法与可选属性串联。
TASK_NAME(ATTRIBUTE_1_NAME=ATTRIBUTE_1_VALUE,ATTRIBUTE_2_NAME=ATTRIBUTE_2_VALUE, ...)
name 定义任务主题或类型,其属性用于区分子任务和同级任务。例如,以下所有选项都是区分 Jakarta Enterprise Beans 子系统更新任务的名称。
subsystem.ejb3.update subsystem.ejb3.update.activate-ejb3-remoting-http-connector(resource=/subsystem=ejb3) subsystem.ejb3.update.setup-default-sfsb-passivation-disabled-cache(resource=/subsystem=ejb3) subsystem.ejb3.update.add-infinispan-passivation-store-and-distributable-cache(resource=/subsystem=ejb3)
由于迁移任务可以在不同的父任务中多次执行,每个任务会使用其每个父任务名称(以 root 字符隔开)存储在树中。任务执行树用于构建迁移报告。
任务执行可能会导致以下状态之一。
状态 | 描述 |
---|---|
成功 | 该任务已成功执行。 |
skipped | 任务跳过执行,可以是不需要的,或者被配置为跳过它。 |
Fail | 任务执行失败。 |
4.3. 查看任务摘要日志
Task Summary 会被生成并输出到迁移控制台,并输出到 JBoss Server Migration Tool 日志文件。它提供了迁移结果的高级概述,按组件和子任务,作为分级列表。
一个 Task Summary 报告示例 位于本指南的附录中。
有关配置结果输出的选项,请参阅配置 Task Summary。
4.4. 查看 JBoss 服务器迁移工具报告
JBoss 服务器迁移工具在 EAP_HOME/migration/reports/
目录中生成格式化了 HTML 和 XML 报告的 HTML 和 XML 报告。这些报告提供有关迁移过程的详细分析,以及如何在迁移过程中配置目标服务器。这些报告的默认名称为 migration-report.html
和 migration-report.xml
。每个名称均可配置。有关如何配置报告的详情,请参阅为 JBoss 服务器迁移工具配置报告。
本节概述了这些报告的内容。
- JBoss 服务器迁移报告 HTML 文件。
- 服务器迁移报告 XML 文件.
4.4.1. JBoss 服务器迁移工具 HTML 报告
HTML 报告包含三个部分:
- 概述
- 本节提供执行开始时间、有关源和目标服务器的信息以及迁移的结果。
- 环境
- 本节列出了用于迁移的环境属性。
- 任务
本节包含可见子部分,提供执行迁移任务的统计信息和映射。每个任务都按名称列出,并根据任务完成的状态进行颜色编码:
- 如果成功,绿色。
- 红帽如果失败。
- 如果被跳过,则灰色。
本指南的附录中提供了 HTML 报告 示例。
有关配置 HTML 报告 的选项,以配置生成的输出。
4.4.2. JBoss 服务器迁移工具 XML 报告
XML 报告是低级报告,提供工具收集的所有迁移数据。它的格式是通过第三方电子表格或其他数据操作工具导入和操作的方式。
本指南的附录中提供了 XML 报告 示例。
有关配置 XML 报告 的选项,以配置结果输出。
第 5 章 配置 JBoss 服务器迁移工具
5.1. 配置 JBoss 服务器迁移工具属性
您可以使用属性配置 JBoss 服务器迁移工具日志记录和报告输出,并确定要迁移的组件和配置。您可以使用以下任一方法组合配置这些属性。
- 您可以配置 工具中定义的属性文件。
- 您可以在命令行中传递 用户属性。
- 您可以配置 系统环境变量。
5.1.1. 使用工具属性配置 JBoss 服务器迁移工具
您可以使用位于 EAP_HOME/migration/configuration/
目录中的 environment.properties
文件来配置 JBoss 服务器迁移工具。此标准 Java 属性文件为所有有效的属性提供默认值,可在迁移到目标服务器时配置。要更改默认值,请删除在属性前的 #
comment 字符,并将其设置为您需要的值。
5.1.2. 使用用户属性配置 JBoss 服务器迁移工具
如果您愿意,您可以创建一个标准 Java 属性文件来定义 JBoss 服务器迁移工具配置属性,并使用 --environment
或 -e
参数在命令行中传递其路径。这个路径可以是绝对路径,也可以是相对于当前目录的路径。
$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME --environment path/to/my-server-migration.properties
在命令行中使用 --environment
或 -e
参数定义的属性会覆盖 EAP_HOME/migration/configuration/environment.properties
文件中定义的文件中定义的属性。
5.1.3. 使用系统属性配置 JBoss 服务器迁移工具
您可以通过使用下列语法在命令行中传递系统属性,来配置 JBoss 服务器迁移工具:
$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME -Djboss.server.migration.PROPERTY_NAME=PROPERTY_VALUE
系统属性名称应指定为 jboss.server.migration。
与环境属性名称串联。以下示例演示了如何在启动 JBoss 服务器迁移工具时将 XML 报告的名称指定为 migration-report.xml
。
$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME -Djboss.server.migration.report.xml.fileName=migration-report.xml
命令行中指定的环境属性会覆盖用户配置属性和工具配置属性。
通过在命令行上传递系统属性配置 JBoss 服务器迁移工具目前无法实现以下属性:
-
report.html.fileName
-
report.html.maxTaskPathSizeToDisplaySubtasks
-
report.html.templateFileName
-
report.summary.maxTaskPathSizeToDisplaySubtasks
-
report.xml.fileName
这个问题的一个已知问题应在下一版本的 JBoss EAP 中解决。有关此问题的更多信息,请参阅 JBEAP-12901。
5.2. 为 JBoss 服务器迁移工具配置日志记录
JBoss 服务器迁移工具使用 JBoss Logging 框架记录迁移的进度。结果也写入到控制台,再写入名为 migration.log
的文件,它位于 EAP_HOME/migration/logs/
目录中。如果此日志文件尚不存在,则创建该日志文件,并且每次后续执行工具时其内容会被覆盖。
日志记录配置由 EAP_HOME/migration/logging.properties
文件提供。您可以修改这个配置文件,也可以使用命令行中的 logging.configuration
系统属性来指定备选日志配置文件。
$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME -Dlogging.configuration=file:EAP_PREVIOUS_HOME/migration/configuration/my-alternate-logging.properties
5.3. 配置模块迁移
只要目标服务器上还没有安装该模块,JBoss 服务器迁移工具可在源服务器中安装的任何模块。模块迁移可以通过请求来显式完成,或隐式,因为另一个模块或迁移的服务器配置依赖于它。
5.3.1. 模块环境属性
您可以使用 modules.include 和 module .excludes 环境属性控制是否应该迁移模块
。模块 ID 的语法是
name:slot
。:slot
是可选的,如果未指定,则默认为 主
。
-
modules.excludes
环境属性引用 ID 的模块从未迁移。 -
模块
.includes
环境属性引用的模块始终被迁移,除非被modules.excludes
环境属性引用。
5.3.2. 配置模块属性
可使用以下任一方法配置用于迁移模块的环境属性:
您可以在工具的
EAP_HOME/migration/configuration/environment.properties
文件中配置属性。modules.includes=com.example.moduleA,com.example.moduleB modules.excludes=com.example.moduleC
您可以在自己的自定义属性文件中包括以上属性,然后使用
--environment
参数在命令行中传递属性文件名。$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME --environment PATH_TO_MY_PROPERTIES_FILE
您可以使用系统属性在命令行中传递信息。环境属性名称必须带有
jboss.server.migration.
前缀,例如:$ EAP_HOME/bin/jboss-server-migration.sh --source EAP_PREVIOUS_HOME -Djboss.server.migration.modules.includes="com.example.moduleA" -Djboss.server.migration.modules.excludes="com.example.moduleC,com.example.moduleD"
JBoss 服务器迁移工具不会验证源模块是否与目标服务器兼容。不兼容的迁移模块可能会导致目标服务器出现故障或根本无法正常工作。模块可能会因为依赖于源和目标服务器上安装的模块而不兼容,但包含或公开各个资源的不同资源。
5.4. 为 JBoss 服务器迁移工具配置报告
5.4.1. 配置任务摘要日志
您可以使用以下环境属性自定义 Task Summary 的生成。
属性名称 | 类型 | 属性描述和默认值 |
---|---|---|
report.summary.maxTaskPathSizeToDisplaySubtasks | 整数 | 在摘要中包含迁移的子任务,该级别小于或等于指定的整数。
默认为 |
5.4.2. 配置 HTML 报告
您可以使用以下环境属性自定义 HTML 报告。
属性名称 | 类型 | 属性描述和默认值 |
---|---|---|
report.html.fileName | 字符串 | HTML 报告文件的名称。如果没有设置,则不会生成报告。
默认为 |
report.html.maxTaskPathSizeToDisplaySubtasks | 整数 | 在摘要中包含迁移的子任务,该级别小于或等于指定的整数。
默认值为 |
report.html.templateFileName | 字符串 | HTML 报告模板文件名。
默认为 |
5.4.3. 配置 XML 报告
您可以使用以下环境属性自定义 XML 报告:
属性名称 | 类型 | 属性描述和默认值 |
---|---|---|
report.xml.fileName | 字符串 | XML 报告文件的名称。如果没有设置,则不会生成报告。
默认为 |
5.5. 配置独立服务器配置的迁移
您可以配置 JBoss 服务器迁移工具以完全跳过独立服务器的迁移,以提供您要迁移的配置文件名称,或为源或目标服务器的基本和配置目录提供备用路径。
您可以使用以下环境属性自定义单机服务器配置的迁移。
属性名称 | 属性描述 |
---|---|
standalone.skip |
如果设置为 |
server.source.standalone.serverDir |
定义源服务器独立目录的替代路径,默认为源服务器的 |
server.source.standalone.configDir |
定义源服务器独立配置目录的替代路径,默认为源服务器的 |
server.source.standalone.configFiles | 要迁移的源服务器的独立配置列表,以逗号分隔的列表。 |
server.target.standalone.serverDir |
定义目标服务器的单机目录的替代路径,默认为目标服务器的 |
server.target.standalone.configDir |
定义目标服务器的单机配置目录的替代路径,默认为目标服务器的 |
有关如何使用这些属性配置 JBoss 服务器迁移工具的详情,请参考 配置 JBoss 服务器迁移工具。
5.6. 配置受管域配置的迁移
您可以将 JBoss 服务器迁移工具配置为完全跳过受管域的迁移,以提供您要迁移的配置文件名称,或为源或目标服务器的基本和配置目录提供备用路径。
您可以使用以下环境属性自定义受管域配置的迁移。
属性名称 | 属性描述 |
---|---|
domain.skip |
如果设置为 |
server.source.domain.domainDir |
定义源服务器的受管域目录的替代路径,默认为源服务器的 |
server.source.domain.configDir |
定义源服务器的受管域配置目录的替代路径,默认为源服务器的 |
server.source.domain.domainConfigFiles | 要迁移的源服务器的受管域配置文件的逗号分隔列表。 |
server.source.domain.hostConfigFiles | 要迁移的源服务器主机配置文件的逗号分隔列表。 |
server.target.domain.domainDir |
定义目标服务器的受管域目录的替代路径,默认为目标服务器的 |
server.target.domain.configDir |
定义目标服务器的受管域配置目录的替代路径,默认为目标服务器的 |
有关如何使用这些属性配置 JBoss 服务器迁移工具的详情,请参考 配置 JBoss 服务器迁移工具。
5.7. 配置 JBoss 服务器迁移工具执行的迁移任务
默认情况下,JBoss 服务器迁移工具会自动迁移每个单机服务器、受管域和主机配置的所有组件和子系统。您可以使用环境属性自定义由工具执行的特定任务和子任务的执行。例如,您可以配置该工具跳过删除不支持的子系统或跳过部署迁移。工具执行的任务取决于服务器配置的类型和您要从中迁移的源服务器的版本。
有关如何配置环境属性以自定义 JBoss 服务器迁移工具执行的任务的详情,请参考以下部分。
第 6 章 将 JBoss EAP 6.4 配置迁移到 JBoss EAP 7.4
6.1. 将 JBoss EAP 6.4 单机服务器迁移到 JBoss EAP 7.4
默认情况下,JBoss 服务器迁移工具在将单机服务器配置从 JBoss EAP 6.4 迁移到 JBoss EAP 7.4 时执行以下任务。
- 删除任何不支持的子系统。
- 迁移任何引用的模块。
- 迁移任何引用的路径。
-
迁移
jacorb
子系统。 -
迁移
Web
子系统。 -
迁移
messaging
子系统。 -
更新
infinispan
子系统。 -
更新
ee
子系统。 - 更新 Jakarta Enterprise Beans 子系统。
-
更新
jgroups
子系统。 -
更新
远程
子系统。 -
更新
transactions
子系统。 -
更新
undertow
子系统。 -
更新
messaging-activemq
子系统。 -
添加
batch-jberet
子系统。 -
添加
core-management
子系统。 -
添加
发现
子系统。 -
添加
ee-security
子系统。 -
添加
elytron
子系统。 -
添加
request-controller
子系统。 -
添加
security-manager
子系统。 -
添加
singleton
子系统。 - 设置 HTTP 升级管理。
- 设置专用接口。
- 添加套接字绑定端口表达式。
- 迁移兼容的安全域。
-
将默认 SSL 服务器身份添加到
ApplicationRealm
。 - 迁移部署。
6.1.1. 删除 Unsupported 子系统
JBoss EAP 7.4 不支持以下 JBoss EAP 6.4 子系统:
子系统名称 | 配置命名空间 | 扩展模块 |
---|---|---|
cmp | urn:jboss:domain:cmp:* | org.jboss.as.cmp |
configadmin | urn:jboss:domain:configadmin:* | org.jboss.as.configadmin |
JAXR | urn:jboss:domain:jaxr:* | org.jboss.as.jaxr |
osgi | urn:jboss:domain:osgi:* | org.jboss.as.osgi |
threads | urn:jboss:domain:threads:* | org.jboss.as.threads |
JBoss 服务器迁移工具从迁移的服务器配置中移除所有不支持的子系统配置和扩展。在删除时,工具会将每个子系统和扩展记录到其日志文件和控制台。
要跳过删除不支持的子系统,请将 subsystem .remove-unsupported-subsystems.skip
环境属性设置为 true
。
您可以覆盖 JBoss 服务器迁移工具的默认行为,并使用以下环境属性指定在迁移期间应包含或排除哪些子系统和扩展。
属性名称 | 属性描述 |
---|---|
|
不应迁移的模块名称列表,如 |
|
应始终迁移的扩展模块名称列表,如 |
|
子系统命名空间列表,即从未迁移的版本列表,例如:urn: |
|
子系统命名空间列表,包括应始终迁移的版本,如 |
6.1.2. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移单机服务器配置所引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
-
由
数据源子系统
配置引用的模块被迁移为数据源驱动程序模块。 -
由
ee
子系统配置引用的模块将迁移为全局模块。 -
由
naming
子系统配置引用的模块被迁移为对象工厂模块。 -
由
messaging
子系统配置引用的模块被迁移为 Jakarta Messaging bridge 模块。 - 由 vault 配置引用的模块迁移到新配置。
- 所有在目标配置中安装的扩展都会迁移到目标服务器配置中。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
6.1.3. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
6.1.4. 迁移 Jacorb 子系统
jacorb
子系统在 JBoss EAP 7.4 中已弃用,被 iiop-openjdk
子系统替代。默认情况下,JBoss 服务器迁移工具会自动将 jacorb
子系统配置迁移到其替换 iiop-openjdk
子系统配置,并将结果记录到其日志文件和控制台。
要跳过自动迁移到 iiop-openjdk
子系统配置,将 subsystem.jacorb.migrate.skip
环境属性值设置为 true
。
6.1.5. 迁移 Web 子系统
Web
子系统在 JBoss EAP 7.4 中已弃用,被 undertow
子系统替代。默认情况下,JBoss 服务器迁移工具会自动将 Web 子系统配置
迁移到其替换 undertow
子系统配置,并将结果记录到其日志文件和控制台。
要跳过 Web
子系统的自动迁移,请将 subsystem.web.migrate.skip
环境属性值设置为 true
。
6.1.6. 迁移 Messaging 子系统
messaging
子系统在 JBoss EAP 7.4 中已弃用,被 messaging-activemq
子系统替代。JBoss 服务器迁移工具自动将 messaging
子系统配置迁移到其替换 messaging-activemq
子系统配置,并将结果记录到其日志文件和控制台。
要跳过消息传递子系统的自动迁移,请将 subsystem.
环境属性值设置为 messaging
.migrate.skiptrue
。
6.1.7. 更新 Infinispan 子系统
JBoss 服务器迁移工具更新 infinispan
子系统配置,以更好地与默认的 JBoss EAP 7.4 配置保持一致。
- 它将 Jakarta Enterprise Beans 缓存容器(存在于 JBoss EAP 7.4 默认配置中)添加到尚未包含的配置。
- 它添加了服务器缓存容器,该容器存在于 JBoss EAP 7.4 默认配置中。
- 它将更新 Hibernate 缓存容器配置中的模块名称。
- 它将并发缓存添加到 web 缓存容器,该容器存在于 JBoss EAP 7.4 默认配置中。
JBoss 服务器迁移工具会自动更新 infinispan
子系统配置,并将结果记录到其日志文件和控制台。
您可以通过设置以下环境属性来自定义 infinispan
系统的更新。
属性名称 | 属性描述 |
---|---|
subsystem.infinispan.update.skip |
如果设置为 |
subsystem.infinispan.update.add-infinispan-ejb-cache.skip <<<<<<< HEAD |
如果设置为 |
如果设置为 | subsystem.infinispan.update.add-infinispan-server-cache.skip |
如果设置为 | subsystem.infinispan.update.fix-hibernate-cache-module-name.skip |
如果设置为 | subsystem.infinispan.update-infinispan-web-cache |
6.1.8. 更新 EE 子系统
JBoss 服务器迁移工具更新 ee
子系统,以配置 JBoss EAP 7.4 中支持的 Jakarta EE 功能。
- 它配置 Jakarta EE 并发实用程序的实例,如容器管理的 executors,它们存在于 JBoss EAP 7.4 默认配置中,并将结果记录到其日志文件和控制台。
它定义默认资源,如默认数据源,它们位于默认的 JBoss EAP 6.4 配置中。如果没有找到资源,该工具将列出配置中所有可用资源,然后提供从列表中选择资源或提供应设置为默认值的资源的 Java 命名和目录接口地址的提示。
注意假定指定的 Java 命名和目录接口名称有效。工具不会验证 Java 命名和目录接口名称。
JBoss 服务器迁移工具会自动更新 ee
子系统配置,并将结果记录到其日志文件和控制台。
您可以通过设置以下环境属性来自定义 ee
系统的更新。
属性名称 | 属性描述 |
---|---|
subsystem.ee.update.skip |
如果设置为 |
subsystem.ee.update.setup-ee-concurrency-utilities.skip |
如果设置为 |
subsystem.ee.update.setup-javaee7-default-bindings.skip |
如果设置为 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceName | 指定源配置中要查找的默认数据源名称。 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceJndiName | 指定默认数据源的 Java 命名和目录接口名称。 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryName | 指定默认 Jakarta Messaging 连接工厂的名称。 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryJndiName | 指定默认的 Jakarta 消息传递连接工厂的 Java 命名和目录接口名称。 |
在 EE 子系统中配置 Concurrency Utilities
如果您选择配置 Jakarta EE 并发实用程序,则工具会自动配置默认 JBoss EAP 7.4 配置中出现的实例,并将结果记录到其日志文件和控制台。
INFO [ServerMigrationTask#49] Default ContextService added to EE subsystem configuration. INFO [ServerMigrationTask#49] Default ManagedThreadFactory added to EE subsystem configuration. INFO [ServerMigrationTask#49] Default ManagedExecutorService added to EE subsystem configuration. INFO [ServerMigrationTask#49] Default ManagedScheduledExecutorService added to EE subsystem configuration.
在 EE 子系统中配置默认资源
在定义 Jakarta EE 默认资源时,该工具会自动选择默认 JBoss EAP 7.4 配置中存在的资源。
INFO [ServerMigrationTask#50] Java EE Default Datasource configured with Java Naming and Directory Interface and name java:jboss/datasources/ExampleDS.
如果没有找到默认资源,该工具会列出配置中所有可用的资源,然后提供选择默认资源或提供应设置为默认值的资源的 Java Naming 和 Directory Interface 地址提示。
以下是迁移带有 ExampleDS
数据源的配置文件时出现的交互示例。
INFO [ServerMigrationTask#22] Default datasource not found. 0. ExampleDS 1. Unconfigured data source, I want to enter the Java Naming and Directory Interface name... Please select Java EE's Default Datasource: (0): 0 INFO [ServerMigrationTask#22] Java EE Default Datasource configured with Java Naming and Directory Interface name java:jboss/datasources/ExampleDS. Save this Java EE Default Datasource Java Naming and Directory Interface name and use it when migrating other config files? yes/no? y
如果您以非互动模式运行 JBoss 服务器迁移工具以及预期的 JBoss EAP 6.4 默认资源(如默认的 Jakarta Messaging 连接工厂)不可用,则该工具不会配置这些资源。
6.1.9. 更新 Jakarta Enterprise Beans 子系统
JBoss 服务器迁移工具对 Jakarta Enterprise Beans 子系统进行以下更新,以更好地与默认的 JBoss EAP 7.4 配置保持一致。
- 它更新远程服务配置来引用 HTTP 连接器。
-
它将
default-sfsb-passivation-disabled-cache
属性配置为使用default-sfsb-cache
。 - 它将传统的 passivation 存储和缓存配置替换为 JBoss EAP 7.4 默认值。
JBoss 服务器迁移工具会自动更新 Jakarta Enterprise Beans 子系统配置,并将结果记录到其日志文件和控制台。
在成功更新 Jakarta Enterprise Beans 子系统配置后,JBoss 服务器迁移工具会将结果记录到其日志文件和控制台。
INFO Subsystem ejb3 updated.
您可以通过设置以下环境属性来自定义 Jakarta Enterprise Beans 子系统的更新:
属性名称 | 属性描述 |
---|---|
subsystem.ejb3.update.skip |
如果设置为 |
subsystem.ejb3.update.add-infinispan-passivation-store-and-distributable-cache.skip |
如果设置为 |
subsystem.ejb3.update.setup-default-sfsb-passivation-disabled-cache.skip |
如果设置为 |
subsystem.ejb3.update.activate-ejb3-remoting-http-connector.skip |
如果设置为 |
6.1.10. 更新 JGroups 子系统
JBoss 服务器迁移工具更新 jgroups
子系统,使其与 JBoss EAP 7.4 配置保持一致。
-
它将
MERGE2
协议替换为MERGE3
。 -
它使用
FD
_ALL -
它将
pbcast.NAKACK
协议替换为pbcast.NAKACK2
。 -
它将
UNICAST2
协议替换为UNICAST3
。 -
它将删除
RSVP
协议。 -
它用
FRAG3
协议替换FRAG2
协议。
在成功迁移 jgroups
子系统配置后,JBoss 服务器迁移工具会将结果记录到其日志文件和控制台。
INFO Subsystem jgroups updated.
要跳过 jgroups
子系统的自动迁移,请将 subsystem.jgroups.update.skip
环境属性设置为 true
。
6.1.11. 更新 remoting subsystem
JBoss EAP 7.4 包括一个 HTTP 连接器,它用单一端口替换所有传统的 remoting 协议和端口。JBoss 服务器迁移工具会自动更新 remoting
子系统以使用 HTTP 连接器。
要跳过对 remoting
子系统配置的自动更新,请将 subsystem.remoting.update.skip
环境属性设置为 true
。
6.1.12. 更新 Transactions 子系统
JBoss 服务器迁移工具使用 JBoss EAP 7.4 服务器所需的配置更改更新 transactions
子系统。
JBoss 服务器迁移工具从 事务
子系统中删除 路径和
相对属性,并将其替换为对应的对象存储- path 和
属性。
object-store
- relative-to
要跳过 事务
子系统配置的自动更新,请将 subsystem.transactions.update-xml-object-store-paths.skip
环境属性设置为 true
。
6.1.13. 更新 Undertow 子系统
除了迁移 JBoss EAP 7.4 的 web
子系统外,JBoss 服务器迁移工具也会更新其替换 undertow
子系统,以添加它支持的功能。
- 它设置默认 HTTP 侦听器重定向套接字。
- 它增加了对 Jakarta WebSockets 的支持。
- 它设置默认 HTTPS 侦听器。
- 它添加了对 HTTP2 的支持。
-
它将删除
服务器响应
标头。 -
它会删除
X-Powered-By
响应标头。 -
它设置默认 HTTP
Invoker
。
JBoss 服务器迁移工具会自动更新 undertow
子系统配置,并将结果记录到其日志文件和控制台。
在成功迁移了 undertow
子系统配置后,JBoss 服务器迁移工具会将结果记录到其日志文件和控制台。
INFO Subsystem undertow updated.
您可以通过设置以下环境属性来自定义 undertow
系统的更新:
属性名称 | 属性描述 |
---|---|
subsystem.undertow.update.skip |
如果设置为 |
subsystem.undertow.update.set-default-http-listener-redirect-socket.skip |
如果设置为 |
subsystem.undertow.update.add-undertow-websockets.skip |
如果设置为 |
subsystem.undertow.update.add-undertow-https-listener.skip |
如果设置为 |
subsystem.undertow.update.enable-http2.skip |
如果设置为 |
subsystem.undertow.update.add-response-header.server-header.skip |
如果设置为 |
subsystem.undertow.update.add-response-header.x-powered-by-header.skip |
如果设置为 |
subsystem.undertow.update.add-http-invoker.skip |
如果设置为 |
6.1.14. 更新 Messaging-ActiveMQ 子系统
除了迁移 JBoss EAP 7.4 的 messaging
子系统外,JBoss 服务器迁移工具也会更新其替换 messaging-activemq
子系统来添加它支持的新功能。
- 它添加了默认的 HTTP 连接器和接收器,以启用基于 HTTP 的远程消息传递客户端。
JBoss 服务器迁移工具会自动更新 messaging-activemq
子系统配置,并将结果记录到其日志文件和控制台。
要跳过 messaging-activemq
子系统的自动更新,请将 subsystem. messaging-activemq.update.skip
环境属性设置为 true
。
6.1.15. 添加 Batch JBeret 子系统
JBoss EAP 7.4 batch-jberet
子系统为 Jakarta Batch 1.0 规范 提供支持。JBoss 服务器迁移工具会自动将默认的 batch-jberet
子系统配置添加到迁移的配置。
要跳过添加 batch-jberet
子系统配置,请将 subsystem.batch-jberet.add.skip
环境属性设置为 true
。
6.1.16. 添加核心管理子系统
JBoss EAP 7.4 core-management
子系统提供与管理相关的资源,这些资源之前是在管理核心服务中配置的。这些资源的示例包括能够查看对服务器进行配置更改的历史记录,以及监控服务器生命周期事件的能力。JBoss 服务器迁移工具会自动将默认 核心管理
子系统配置添加到迁移的配置文件中。
要跳过添加 core-management
子系统配置,请将 subsystem.core-management.add.skip
环境属性设置为 true
。
6.1.17. 添加 Discovery subsystem
JBoss 服务器迁移工具会自动将默认 发现
子系统配置添加到迁移的配置文件中。
要跳过添加 discovery
子系统配置,请将 subsystem.discovery.add.skip
环境属性设置为 true
。
6.1.18. 添加 EE 安全子系统
JBoss EAP 7.4 ee-security
子系统为 Jakarta 安全性 提供支持和合规性。JBoss 服务器迁移工具会自动将默认的 ee-security
子系统配置添加到迁移的配置文件中。
要跳过添加 ee-security
子系统配置,请将 subsystem.ee-security.add.skip
环境属性设置为 true
。
6.1.19. 添加 Elytron 子系统
JBoss EAP 7.4 elytron
子系统提供了一个统一的安全框架,可以管理并配置单机服务器和受管域的访问。它还可用来为部署到 JBoss EAP 服务器的应用程序配置安全访问。JBoss 服务器迁移工具会自动将默认的 elytron
子系统配置添加到迁移的配置文件中。
要跳过添加 elytron
子系统配置,请将 subsystem.elytron.add.skip
环境属性设置为 true
。
6.1.20. 添加 健康
子系统
JBoss EAP 7.4 健康
子系统提供对服务器健康功能的支持。JBoss 服务器迁移工具会自动将默认的 健康
子系统配置添加到迁移的配置文件中。
要跳过添加 健康
子系统配置,请将 subsystem.health.add.skip
环境属性设置为 true
。
将 health
子系统添加到 JBoss EAP 7.4 后,您将在 web 控制台中看到以下消息:
INFO Subsystem health added.
6.1.21. 添加 指标子系统
JBoss EAP 7.4 指标子系统支持服务器 的指标
功能。JBoss 服务器迁移工具会自动将默认 指标子系统
配置添加到迁移的配置文件中。
要跳过添加指标子系统配置,请将 subsystem.
环境属性设置为 metrics
.add.skiptrue
。
将 指标子系统
添加到 JBoss EAP 7.4 后,您将在 web 控制台中看到以下消息:
INFO Subsystem metrics added.
6.1.22. 添加 Request Controller subsystem
JBoss EAP 7.4 request-controller
子系统提供拥塞控制和安全关闭功能。JBoss 服务器迁移工具会自动将默认的 request-controller
子系统配置添加到迁移的配置文件中。
要跳过 add request-controller
子系统配置,将 subsystem.request-controller.add.skip
环境属性设置为 true
。
6.1.23. 添加安全管理器子系统
JBoss EAP 7.4 security-manager
子系统提供对 Jakarta 安全权限的支持。JBoss 服务器迁移工具会自动将默认的 security-manager
子系统配置添加到迁移的配置文件中。
要跳过 add security-manager
子系统配置,请将 subsystem.security-manager.add.skip
环境属性设置为 true
。
6.1.24. 添加 Singleton 子系统
JBoss EAP 7.4 singleton
子系统提供单例功能。JBoss 服务器迁移工具会自动将默认的 单例
子系统配置添加到迁移的配置文件中。
要跳过添加 单例
子系统配置,请将 subsystem.singleton.add.skip
环境属性设为 true
。
6.1.25. 设置 HTTP 升级管理
在 JBoss EAP 7.4 中添加 Undertow,增加了 HTTP 升级,允许通过单一端口多协议进行多路复用。这意味着管理客户端可以通过 HTTP 进行初始连接,但会发送请求来将那个连接升级到另一个协议。JBoss 服务器迁移工具会自动更新配置来支持 HTTP 升级管理。
要跳过 HTTP 升级管理的配置,请将 management.setup-http-upgrade.skip
环境属性设置为 true
。
6.1.26. 设置私有接口
JBoss EAP 7.4 默认配置使用 all jgroups
套接字绑定上的专用接口。JBoss 服务器迁移工具会自动更新迁移的 jgroups
套接字绑定,以使用相同的配置。
要跳过专用接口的配置,请将 interface. private.setup.skip 环境
属性设为 true
。
6.1.27. 添加套接字绑定端口表达式
JBoss EAP 7.4 默认配置将值表达式用于以下套接字绑定的 port 属性:
-
ajp
-
http
-
https
JBoss 服务器迁移工具会自动将这些值表达式添加到迁移的服务器配置中。
要跳过套接字绑定端口表达式的更新,请将 socket-bindings.add-port-expressions.skip
环境属性设置为 true
。
6.1.28. 添加套接字绑定多播地址表达式
JBoss EAP 7.4 默认配置使用 mod_cluster 套接字绑定的 multicast-address
属性中的值表达式。JBoss 服务器迁移工具会自动将这些值表达式添加到迁移的配置文件中。
要跳过这些表达式的添加,请将 socket-bindings.multicast-address.add-expressions.skip
环境属性设置为 true
。
6.1.29. 迁移兼容的安全性 Realms
由于 JBoss EAP 7.4 安全域配置与 JBoss EAP 6.4 安全域配置完全兼容,因此它们不需要通过 JBoss 服务器迁移工具进行更新。但是,如果 application-users.properties
、application-roles.properties
、mgmt-users.properties
和 mgmt-groups.properties
文件不会被引用,工具会使用迁移的配置文件预期的路径。
要跳过安全域迁移,请将 security-realms.migrate-properties.skip 环境
属性设置为 true
。
6.1.30. 将默认 SSL 服务器身份添加到 ApplicationRealm
JBoss EAP 7.4 默认配置包含默认的 ApplicationRealm
安全域的 SSL 服务器身份。JBoss 服务器迁移工具自动将此身份添加到迁移的配置文件中。
要跳过这个身份的添加,请将 security-realm.ApplicationRealm.add-ssl-server-identity.skip
环境属性设置为 true
。
6.1.31. 迁移部署
JBoss 服务器迁移工具可迁移以下类型的独立服务器部署配置:
部署迁移包括在目标服务器上安装相关的 file 资源,并可能需要更新迁移的配置。
JBoss 服务器迁移工具已预先配置为在非互动模式中运行时默认跳过部署。要启用部署迁移,请将 deployments.migrate-deployments.skip
environment 属性设置为 false
。
请注意,当您以互动模式运行 JBoss 服务器迁移工具并输入无效的输入时,结果行为取决于 deployments.migrate-deployments
环境属性值。
-
如果
deployments.migrate-deployments.skip
设为false
,并且您输入无效的输入,则工具将尝试迁移部署。 -
如果
deployments.migrate-deployments.skip
设为true
,并且您输入无效的输入,则该工具将跳过部署迁移。
要启用特定类型的部署迁移,请参阅以下部分。
JBoss 服务器迁移工具并不决定部署的资源是否与目标服务器兼容。这意味着,应用程序或资源可能无法按预期工作,或者可能根本无法正常工作。另请注意,JBoss EAP 6.4 *-jms.xml
配置文件等工件在没有修改的情况下复制,并可能导致 JBoss EAP 服务器使用错误引导。
红帽建议您使用 Migration Toolkit for Applications(MTA)来分析部署,以确定不同 JBoss EAP 服务器之间的兼容性。如需更多信息,请参阅 Migration Toolkit for Applications 的产品文档。
6.1.31.1. 迁移永久部署
要在非互动模式下运行时启用持久性部署迁移,请将 deployments.migrate-persistent-deployments.skip
environment 属性设置为 false
。
JBoss 服务器迁移工具可搜索任何永久部署参考,并将其列出到控制台。
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移永久部署
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移持久部署。只有在 deployments.migrate-deployments.skip
和 deployments.migrate-persistent-deployments.skip
属性都设为 false
时,才会迁移持久性部署。
在互动模式中迁移永久部署
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的持久部署后,您会看到以下提示。
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration? yes/no?
-
使用
yes
来跳过持续部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all persistent deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
使用
6.1.31.2. 迁移部署扫描器
部署扫描程序仅用于单机服务器配置,监控新文件的目录,以及自动或通过特殊部署标志文件管理其部署。
要在非互动模式中运行时,启用位于由部署扫描程序监视的目录中的部署迁移,请将 deployments.migrate-deployment-deployments.skip
环境属性设置为 false
。
迁移独立服务器配置时,JBoss 服务器迁移工具首先搜索任何配置的部署扫描程序。对于发现的每个扫描程序,它会搜索其监控目录以查找标记为部署的部署,并将结果打印到控制台。
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移部署扫描器
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移部署扫描程序部署。只有 deployments.migrate-deployments.skip
和 deployments.migrate-deployment-scanner-deployments.skip
属性都设为 false
时,才会迁移部署扫描器部署。
在互动模式中迁移部署扫描器
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的部署扫描程序部署后,您会看到以下提示。
This tool is not able to assert if the scanner's deployments found are compatible with the target server, skip scanner's deployments migration? yes/no?
-
使用
yes
来跳过部署扫描器部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all scanner's deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate scanner's deployment 'helloworld02.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#69] Resource with path EAP_HOME/standalone/deployments/helloworld02.war migrated.
-
使用
6.1.31.3. 迁移部署覆盖
部署覆盖的迁移是一个完全自动化的过程。如果您已通过将 deployments.migrate-deployments.skip
环境属性设置为 false
来启用部署迁移,则 JBoss 服务器迁移工具会搜索在链接到迁移部署的独立服务器配置中引用的部署覆盖。它会自动迁移找到、删除未引用的那些未引用的对象,并将结果记录到其日志文件和控制台。
6.2. 将 JBoss EAP 6.4 受管域迁移到 JBoss EAP 7.4
使用 JBoss 服务器迁移工具时,在迁移主机前迁移域控制器以确保域控制器必须在与主机使用的版本进行比较时,使用更新的 EAP 版本。例如,EAP 7.3 上运行的域控制器无法处理 EAP 7.4 上运行的主机。
复习 配置 JBoss EAP 7.x 域控制器,以便在 JBoss EAP 配置指南 中管理 JBoss EAP 6 实例。请特别注意标题为 获取 JBoss EAP 7 更新中的 JBoss EAP 6 实例的部分。
有关支持的配置的更多信息,请参阅 JBoss EAP 配置指南中的 管理多个 JBoss EAP 版本。
默认情况下,JBoss 服务器迁移工具在将托管域配置从 JBoss EAP 6.4 迁移到 JBoss EAP 7.4 时执行以下任务。
- 删除任何不支持的子系统。
- 迁移任何引用的模块。
- 迁移任何引用的路径。
-
迁移
jacorb
子系统。 -
迁移
Web
子系统。 -
迁移
messaging
子系统。 -
更新
infinispan
子系统。 -
更新
ee
子系统。 - 更新 Jakarta Enterprise Beans 子系统。
-
更新
jgroups
子系统。 -
更新
远程
子系统。 -
更新
transactions
子系统。 -
更新
undertow
子系统。 -
更新
messaging-activemq
子系统。 -
添加
batch-jberet
子系统。 -
添加
core-management
子系统。 -
添加
elytron
子系统。 -
添加
request-controller
子系统。 -
添加
security-manager
子系统。 -
添加
singleton
子系统。 -
更新
unsecure
接口。 - 设置专用接口。
- 添加套接字绑定端口表达式。
- 添加套接字绑定多播地址表达式。
- 添加负载均衡器配置集。
- 添加主机排除配置。
-
从 JVM 配置中删除
PermGen
属性。 - 迁移部署。
6.2.1. 删除 Unsupported 子系统
JBoss EAP 7.4 不支持以下 JBoss EAP 6.4 子系统:
子系统名称 | 配置命名空间 | 扩展模块 |
---|---|---|
cmp | urn:jboss:domain:cmp:* | org.jboss.as.cmp |
configadmin | urn:jboss:domain:configadmin:* | org.jboss.as.configadmin |
JAXR | urn:jboss:domain:jaxr:* | org.jboss.as.jaxr |
osgi | urn:jboss:domain:osgi:* | org.jboss.as.osgi |
threads | urn:jboss:domain:threads:* | org.jboss.as.threads |
JBoss 服务器迁移工具从迁移的服务器配置中移除所有不支持的子系统配置和扩展。在删除时,工具会将每个子系统和扩展记录到其日志文件和控制台。
要跳过删除不支持的子系统,请将 subsystem .remove-unsupported-subsystems.skip
环境属性设置为 true
。
您可以覆盖 JBoss 服务器迁移工具的默认行为,并使用以下环境属性指定在迁移期间应包含或排除哪些子系统和扩展。
属性名称 | 属性描述 |
---|---|
|
不应迁移的模块名称列表,如 |
|
应始终迁移的扩展模块名称列表,如 |
|
子系统命名空间列表,即从未迁移的版本列表,例如:urn: |
|
子系统命名空间列表,包括应始终迁移的版本,如 |
6.2.2. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移由受管域配置引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
-
由
数据源子系统
配置引用的模块被迁移为数据源驱动程序模块。 -
由
ee
子系统配置引用的模块将迁移为全局模块。 -
由
naming
子系统配置引用的模块被迁移为对象工厂模块。 -
由
messaging
子系统配置引用的模块被迁移为 Jakarta Messaging bridge 模块。 - 由 vault 配置引用的模块迁移到新配置。
- 所有在目标配置中安装的扩展都会迁移到目标服务器配置中。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
6.2.3. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
6.2.4. 迁移 Jacorb 子系统
jacorb
子系统在 JBoss EAP 7.4 中已弃用,被 iiop-openjdk
子系统替代。默认情况下,JBoss 服务器迁移工具会自动将 jacorb
子系统配置迁移到其替换 iiop-openjdk
子系统配置,并将结果记录到其日志文件和控制台。
要跳过自动迁移到 iiop-openjdk
子系统配置,将 subsystem.jacorb.migrate.skip
环境属性值设置为 true
。
6.2.5. 迁移 Web 子系统
Web
子系统在 JBoss EAP 7.4 中已弃用,被 undertow
子系统替代。默认情况下,JBoss 服务器迁移工具会自动将 Web 子系统配置
迁移到其替换 undertow
子系统配置,并将结果记录到其日志文件和控制台。
要跳过 Web
子系统的自动迁移,请将 subsystem.web.migrate.skip
环境属性值设置为 true
。
6.2.6. 迁移 Messaging 子系统
messaging
子系统在 JBoss EAP 7.4 中已弃用,被 messaging-activemq
子系统替代。JBoss 服务器迁移工具自动将 messaging
子系统配置迁移到其替换 messaging-activemq
子系统配置,并将结果记录到其日志文件和控制台。
要跳过消息传递子系统的自动迁移,请将 subsystem.
环境属性值设置为 messaging
.migrate.skiptrue
。
6.2.7. 更新 Infinispan 子系统
JBoss 服务器迁移工具更新 infinispan
子系统配置,以更好地与默认的 JBoss EAP 7.4 配置保持一致。
- 它将 Jakarta Enterprise Beans 缓存容器(存在于 JBoss EAP 7.4 默认配置中)添加到尚未包含的配置。
- 它添加了服务器缓存容器,该容器存在于 JBoss EAP 7.4 默认配置中。
- 它将更新 Hibernate 缓存容器配置中的模块名称。
- 它将并发缓存添加到 web 缓存容器,该容器存在于 JBoss EAP 7.4 默认配置中。
JBoss 服务器迁移工具会自动更新 infinispan
子系统配置,并将结果记录到其日志文件和控制台。
您可以通过设置以下环境属性来自定义 infinispan
系统的更新。
属性名称 | 属性描述 |
---|---|
subsystem.infinispan.update.skip |
如果设置为 |
subsystem.infinispan.update.add-infinispan-ejb-cache.skip <<<<<<< HEAD |
如果设置为 |
如果设置为 | subsystem.infinispan.update.add-infinispan-server-cache.skip |
如果设置为 | subsystem.infinispan.update.fix-hibernate-cache-module-name.skip |
如果设置为 | subsystem.infinispan.update-infinispan-web-cache |
6.2.8. 更新 EE 子系统
JBoss 服务器迁移工具更新 ee
子系统,以配置 JBoss EAP 7.4 中支持的 Jakarta EE 功能。
- 它配置 Jakarta EE 并发实用程序的实例,如容器管理的 executors,它们存在于 JBoss EAP 7.4 默认配置中,并将结果记录到其日志文件和控制台。
它定义默认资源,如默认数据源,它们位于默认的 JBoss EAP 6.4 配置中。如果没有找到资源,该工具将列出配置中所有可用资源,然后提供从列表中选择资源或提供应设置为默认值的资源的 Java 命名和目录接口地址的提示。
注意假定指定的 Java 命名和目录接口名称有效。工具不会验证 Java 命名和目录接口名称。
JBoss 服务器迁移工具会自动更新 ee
子系统配置,并将结果记录到其日志文件和控制台。
您可以通过设置以下环境属性来自定义 ee
系统的更新。
属性名称 | 属性描述 |
---|---|
subsystem.ee.update.skip |
如果设置为 |
subsystem.ee.update.setup-ee-concurrency-utilities.skip |
如果设置为 |
subsystem.ee.update.setup-javaee7-default-bindings.skip |
如果设置为 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceName | 指定源配置中要查找的默认数据源名称。 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceJndiName | 指定默认数据源的 Java 命名和目录接口名称。 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryName | 指定默认 Jakarta Messaging 连接工厂的名称。 |
subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryJndiName | 指定默认的 Jakarta 消息传递连接工厂的 Java 命名和目录接口名称。 |
在 EE 子系统中配置 Concurrency Utilities
如果您选择配置 Jakarta EE 并发实用程序,则工具会自动配置默认 JBoss EAP 7.4 配置中出现的实例,并将结果记录到其日志文件和控制台。
INFO [ServerMigrationTask#49] Default ContextService added to EE subsystem configuration. INFO [ServerMigrationTask#49] Default ManagedThreadFactory added to EE subsystem configuration. INFO [ServerMigrationTask#49] Default ManagedExecutorService added to EE subsystem configuration. INFO [ServerMigrationTask#49] Default ManagedScheduledExecutorService added to EE subsystem configuration.
在 EE 子系统中配置默认资源
在定义 Jakarta EE 默认资源时,该工具会自动选择默认 JBoss EAP 7.4 配置中存在的资源。
INFO [ServerMigrationTask#50] Java EE Default Datasource configured with Java Naming and Directory Interface and name java:jboss/datasources/ExampleDS.
如果没有找到默认资源,该工具会列出配置中所有可用的资源,然后提供选择默认资源或提供应设置为默认值的资源的 Java Naming 和 Directory Interface 地址提示。
以下是迁移带有 ExampleDS
数据源的配置文件时出现的交互示例。
INFO [ServerMigrationTask#22] Default datasource not found. 0. ExampleDS 1. Unconfigured data source, I want to enter the Java Naming and Directory Interface name... Please select Java EE's Default Datasource: (0): 0 INFO [ServerMigrationTask#22] Java EE Default Datasource configured with Java Naming and Directory Interface name java:jboss/datasources/ExampleDS. Save this Java EE Default Datasource Java Naming and Directory Interface name and use it when migrating other config files? yes/no? y
如果您以非互动模式运行 JBoss 服务器迁移工具以及预期的 JBoss EAP 6.4 默认资源(如默认的 Jakarta Messaging 连接工厂)不可用,则该工具不会配置这些资源。
6.2.9. 更新 Jakarta Enterprise Beans 子系统
JBoss 服务器迁移工具对 Jakarta Enterprise Beans 子系统进行以下更新,以更好地与默认的 JBoss EAP 7.4 配置保持一致。
- 它更新远程服务配置来引用 HTTP 连接器。
-
它将
default-sfsb-passivation-disabled-cache
属性配置为使用default-sfsb-cache
。 - 它将传统的 passivation 存储和缓存配置替换为 JBoss EAP 7.4 默认值。
JBoss 服务器迁移工具会自动更新 Jakarta Enterprise Beans 子系统配置,并将结果记录到其日志文件和控制台。
在成功更新 Jakarta Enterprise Beans 子系统配置后,JBoss 服务器迁移工具会将结果记录到其日志文件和控制台。
INFO Subsystem ejb3 updated.
您可以通过设置以下环境属性来自定义 Jakarta Enterprise Beans 子系统的更新:
属性名称 | 属性描述 |
---|---|
subsystem.ejb3.update.skip |
如果设置为 |
subsystem.ejb3.update.add-infinispan-passivation-store-and-distributable-cache.skip |
如果设置为 |
subsystem.ejb3.update.setup-default-sfsb-passivation-disabled-cache.skip |
如果设置为 |
subsystem.ejb3.update.activate-ejb3-remoting-http-connector.skip |
如果设置为 |
6.2.10. 更新 JGroups 子系统
JBoss 服务器迁移工具更新 jgroups
子系统,使其与 JBoss EAP 7.4 配置保持一致。
-
它将
MERGE2
协议替换为MERGE3
。 -
它使用
FD
_ALL -
它将
pbcast.NAKACK
协议替换为pbcast.NAKACK2
。 -
它将
UNICAST2
协议替换为UNICAST3
。 -
它将删除
RSVP
协议。 -
它用
FRAG3
协议替换FRAG2
协议。
在成功迁移 jgroups
子系统配置后,JBoss 服务器迁移工具会将结果记录到其日志文件和控制台。
INFO Subsystem jgroups updated.
要跳过 jgroups
子系统的自动迁移,请将 subsystem.jgroups.update.skip
环境属性设置为 true
。
6.2.11. 更新 remoting subsystem
JBoss EAP 7.4 包括一个 HTTP 连接器,它用单一端口替换所有传统的 remoting 协议和端口。JBoss 服务器迁移工具会自动更新 remoting
子系统以使用 HTTP 连接器。
要跳过对 remoting
子系统配置的自动更新,请将 subsystem.remoting.update.skip
环境属性设置为 true
。
6.2.12. 更新 Transactions 子系统
JBoss 服务器迁移工具使用 JBoss EAP 7.4 服务器所需的配置更改更新 transactions
子系统。
JBoss 服务器迁移工具从 事务
子系统中删除 路径和
相对属性,并将其替换为对应的对象存储- path 和
属性。
object-store
- relative-to
要跳过 事务
子系统配置的自动更新,请将 subsystem.transactions.update-xml-object-store-paths.skip
环境属性设置为 true
。
6.2.13. 更新 Undertow 子系统
除了迁移 JBoss EAP 7.4 的 web
子系统外,JBoss 服务器迁移工具也会更新其替换 undertow
子系统,以添加它支持的功能。
- 它设置默认 HTTP 侦听器重定向套接字。
- 它增加了对 Jakarta WebSockets 的支持。
- 它设置默认 HTTPS 侦听器。
- 它添加了对 HTTP2 的支持。
-
它将删除
服务器响应
标头。 -
它会删除
X-Powered-By
响应标头。 -
它设置默认 HTTP
Invoker
。
JBoss 服务器迁移工具会自动更新 undertow
子系统配置,并将结果记录到其日志文件和控制台。
在成功迁移了 undertow
子系统配置后,JBoss 服务器迁移工具会将结果记录到其日志文件和控制台。
INFO Subsystem undertow updated.
您可以通过设置以下环境属性来自定义 undertow
系统的更新:
属性名称 | 属性描述 |
---|---|
subsystem.undertow.update.skip |
如果设置为 |
subsystem.undertow.update.set-default-http-listener-redirect-socket.skip |
如果设置为 |
subsystem.undertow.update.add-undertow-websockets.skip |
如果设置为 |
subsystem.undertow.update.add-undertow-https-listener.skip |
如果设置为 |
subsystem.undertow.update.enable-http2.skip |
如果设置为 |
subsystem.undertow.update.add-response-header.server-header.skip |
如果设置为 |
subsystem.undertow.update.add-response-header.x-powered-by-header.skip |
如果设置为 |
subsystem.undertow.update.add-http-invoker.skip |
如果设置为 |
6.2.14. 更新 Messaging-ActiveMQ 子系统
除了迁移 JBoss EAP 7.4 的 messaging
子系统外,JBoss 服务器迁移工具也会更新其替换 messaging-activemq
子系统来添加它支持的新功能。
- 它添加了默认的 HTTP 连接器和接收器,以启用基于 HTTP 的远程消息传递客户端。
JBoss 服务器迁移工具会自动更新 messaging-activemq
子系统配置,并将结果记录到其日志文件和控制台。
要跳过 messaging-activemq
子系统的自动更新,请将 subsystem. messaging-activemq.update.skip
环境属性设置为 true
。
6.2.15. 添加 Batch JBeret 子系统
JBoss EAP 7.4 batch-jberet
子系统为 Jakarta Batch 1.0 规范 提供支持。JBoss 服务器迁移工具会自动将默认的 batch-jberet
子系统配置添加到迁移的配置。
要跳过添加 batch-jberet
子系统配置,请将 subsystem.batch-jberet.add.skip
环境属性设置为 true
。
6.2.16. 添加核心管理子系统
JBoss EAP 7.4 core-management
子系统提供与管理相关的资源,这些资源之前是在管理核心服务中配置的。这些资源的示例包括能够查看对服务器进行配置更改的历史记录,以及监控服务器生命周期事件的能力。JBoss 服务器迁移工具会自动将默认 核心管理
子系统配置添加到迁移的配置文件中。
要跳过添加 core-management
子系统配置,请将 subsystem.core-management.add.skip
环境属性设置为 true
。
6.2.17. 添加 Discovery subsystem
JBoss 服务器迁移工具会自动将默认 发现
子系统配置添加到迁移的配置文件中。
要跳过添加 discovery
子系统配置,请将 subsystem.discovery.add.skip
环境属性设置为 true
。
6.2.18. 添加 EE 安全子系统
JBoss EAP 7.4 ee-security
子系统为 Jakarta 安全性 提供支持和合规性。JBoss 服务器迁移工具会自动将默认的 ee-security
子系统配置添加到迁移的配置文件中。
要跳过添加 ee-security
子系统配置,请将 subsystem.ee-security.add.skip
环境属性设置为 true
。
6.2.19. 添加 Elytron 子系统
JBoss EAP 7.4 elytron
子系统提供了一个统一的安全框架,可以管理并配置单机服务器和受管域的访问。它还可用来为部署到 JBoss EAP 服务器的应用程序配置安全访问。JBoss 服务器迁移工具会自动将默认的 elytron
子系统配置添加到迁移的配置文件中。
要跳过添加 elytron
子系统配置,请将 subsystem.elytron.add.skip
环境属性设置为 true
。
6.2.20. 添加 Request Controller subsystem
JBoss EAP 7.4 request-controller
子系统提供拥塞控制和安全关闭功能。JBoss 服务器迁移工具会自动将默认的 request-controller
子系统配置添加到迁移的配置文件中。
要跳过 add request-controller
子系统配置,将 subsystem.request-controller.add.skip
环境属性设置为 true
。
6.2.21. 添加安全管理器子系统
JBoss EAP 7.4 security-manager
子系统提供对 Jakarta 安全权限的支持。JBoss 服务器迁移工具会自动将默认的 security-manager
子系统配置添加到迁移的配置文件中。
要跳过 add security-manager
子系统配置,请将 subsystem.security-manager.add.skip
环境属性设置为 true
。
6.2.22. 添加 Singleton 子系统
JBoss EAP 7.4 singleton
子系统提供单例功能。JBoss 服务器迁移工具会自动将默认的 单例
子系统配置添加到迁移的配置文件中。
要跳过添加 单例
子系统配置,请将 subsystem.singleton.add.skip
环境属性设为 true
。
6.2.23. 更新 Unsecure 接口
JBoss 服务器迁移工具会自动更新 不安全的
接口配置,使其与 JBoss EAP 7.4 默认配置保持一致。
要跳过 未安全
接口的配置,请将 interface.unsecure.update.skip
环境属性设置为 true
。
6.2.24. 设置私有接口
JBoss EAP 7.4 默认配置使用 all jgroups
套接字绑定上的专用接口。JBoss 服务器迁移工具会自动更新迁移的 jgroups
套接字绑定,以使用相同的配置。
要跳过专用接口的配置,请将 interface. private.setup.skip 环境
属性设为 true
。
6.2.25. 添加套接字绑定端口表达式
JBoss EAP 7.4 默认配置将值表达式用于以下套接字绑定的 port 属性:
-
ajp
-
http
-
https
JBoss 服务器迁移工具会自动将这些值表达式添加到迁移的服务器配置中。
要跳过套接字绑定端口表达式的更新,请将 socket-bindings.add-port-expressions.skip
环境属性设置为 true
。
6.2.26. 添加套接字绑定多播地址表达式
JBoss EAP 7.4 默认配置使用 mod_cluster 套接字绑定的 multicast-address
属性中的值表达式。JBoss 服务器迁移工具会自动将这些值表达式添加到迁移的配置文件中。
要跳过这些表达式的添加,请将 socket-bindings.multicast-address.add-expressions.skip
环境属性设置为 true
。
6.2.27. 添加 Load Balancer Profile
JBoss EAP 7.4 包括为充当负载平衡器的主机量身定制的默认配置集。JBoss 服务器迁移工具自动添加并配置此配置集到所有迁移的受管域配置。
要跳过添加此配置集,请将 profile.load-balancer.add.skip
环境属性设置为 true
。
6.2.28. 添加主机 Excludes
JBoss EAP 7.4 域控制器可能包含在较旧版本的服务器上运行的主机不支持的功能。host-exclude
配置指定应该从那些较老版本隐藏的资源。
迁移域控制器配置时,JBoss 服务器迁移工具会添加内容,或将源服务器的 host-exclude
配置替换为目标 JBoss EAP 7.4 服务器配置。
JBoss 服务器迁移工具会自动更新 host-exclude
配置,并将结果记录到其日志文件和控制台。
INFO Host-excludes configuration added.
6.2.29. 从 JVM 配置中删除 PermGen Attributes
在 JBoss EAP 7 中弃用了 JVM 配置中的 PermGen
属性。JBoss 服务器迁移工具会自动从所有服务器组的所有 JVM 配置中删除。
要跳过删除 PermGen
属性,请将 jvms.remove-permgen-attributes.skip
环境属性值设置为 true
。
6.2.30. 迁移部署
JBoss 服务器迁移工具可迁移以下类型的受管域部署配置:
部署迁移包括在目标服务器上安装相关的 file 资源,并可能需要更新迁移的配置。
JBoss 服务器迁移工具已预先配置为在非互动模式中运行时默认跳过部署。要启用部署迁移,请将 deployments.migrate-deployments.skip
environment 属性设置为 false
。
请注意,当您以互动模式运行 JBoss 服务器迁移工具并输入无效的输入时,结果行为取决于 deployments.migrate-deployments
环境属性值。
-
如果
deployments.migrate-deployments.skip
设为false
,并且您输入无效的输入,则工具将尝试迁移部署。 -
如果
deployments.migrate-deployments.skip
设为true
,并且您输入无效的输入,则该工具将跳过部署迁移。
要启用特定类型的部署迁移,请参阅以下部分。
JBoss 服务器迁移工具并不决定部署的资源是否与目标服务器兼容。这意味着,应用程序或资源可能无法按预期工作,或者可能根本无法正常工作。另请注意,JBoss EAP 6.4 *-jms.xml
配置文件等工件在没有修改的情况下复制,并可能导致 JBoss EAP 服务器使用错误引导。
红帽建议您使用 Migration Toolkit for Applications(MTA)来分析部署,以确定不同 JBoss EAP 服务器之间的兼容性。如需更多信息,请参阅 Migration Toolkit for Applications 的产品文档。
6.2.30.1. 迁移永久部署
要在非互动模式下运行时启用持久性部署迁移,请将 deployments.migrate-persistent-deployments.skip
environment 属性设置为 false
。
JBoss 服务器迁移工具可搜索任何永久部署参考,并将其列出到控制台。
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移永久部署
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移持久部署。只有在 deployments.migrate-deployments.skip
和 deployments.migrate-persistent-deployments.skip
属性都设为 false
时,才会迁移持久性部署。
在互动模式中迁移永久部署
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的持久部署后,您会看到以下提示。
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration? yes/no?
-
使用
yes
来跳过持续部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all persistent deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
使用
6.2.30.2. 迁移部署覆盖
部署覆盖的迁移是一个完全自动化的过程。如果您已通过将 deployments.migrate-deployments.skip
环境属性设置为 false
来启用部署迁移,则 JBoss 服务器迁移工具会搜索在链接到迁移部署的独立服务器配置中引用的部署覆盖。它会自动迁移找到、删除未引用的那些未引用的对象,并将结果记录到其日志文件和控制台。
6.3. 将 JBoss EAP 6.4 主机配置迁移到 JBoss EAP 7.4
默认情况下,JBoss 服务器迁移工具在将主机服务器配置从 JBoss EAP 6.4 迁移到 JBoss EAP 7.4 时执行以下任务。
6.3.1. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移由主机服务器配置引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
6.3.2. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
6.3.3. 添加核心管理子系统
JBoss EAP 7.4 core-management
子系统提供与管理相关的资源,这些资源之前是在管理核心服务中配置的。这些资源的示例包括能够查看对服务器进行配置更改的历史记录,以及监控服务器生命周期事件的能力。JBoss 服务器迁移工具会自动将默认 核心管理
子系统配置添加到迁移的配置文件中。
要跳过添加 core-management
子系统配置,请将 subsystem.core-management.add.skip
环境属性设置为 true
。
6.3.4. 添加 Elytron 子系统
JBoss EAP 7.4 elytron
子系统提供了一个统一的安全框架,可以管理并配置单机服务器和受管域的访问。它还可用来为部署到 JBoss EAP 服务器的应用程序配置安全访问。JBoss 服务器迁移工具会自动将默认的 elytron
子系统配置添加到迁移的配置文件中。
要跳过添加 elytron
子系统配置,请将 subsystem.elytron.add.skip
环境属性设置为 true
。
6.3.5. 将 JMX subsystem 添加到主机配置中
JBoss EAP 7.4 jmx
子系统提供管理和监控系统的功能。JBoss 服务器迁移工具会自动将这个子系统添加到迁移的配置文件中。
要跳过添加 jmx
子系统配置,请将 subsystem.jmx.add.skip
环境属性设置为 true
。
6.3.6. 删除不安全的接口
JBoss 服务器迁移工具自动删除与 JBoss EAP 7.4 默认配置一致的 非安全
接口配置。
要跳过删除 未安全
接口,将 interface.unsecure.remove.skip
环境属性设置为 true
。
6.3.7. 设置 HTTP 升级管理
在 JBoss EAP 7.4 中添加 Undertow,增加了 HTTP 升级,允许通过单一端口多协议进行多路复用。这意味着管理客户端可以通过 HTTP 进行初始连接,但会发送请求来将那个连接升级到另一个协议。JBoss 服务器迁移工具会自动更新配置来支持 HTTP 升级管理。
要跳过 HTTP 升级管理的配置,请将 management.setup-http-upgrade.skip
环境属性设置为 true
。
6.3.8. 从 JVM 配置中删除 PermGen Attributes
在 JBoss EAP 7 中弃用了 JVM 配置中的 PermGen
属性。JBoss 服务器迁移工具会自动从所有服务器组的所有 JVM 配置中删除。
要跳过删除 PermGen
属性,请将 jvms.remove-permgen-attributes.skip
环境属性值设置为 true
。
6.3.9. 迁移兼容的安全性 Realms
由于 JBoss EAP 7.4 安全域配置与 JBoss EAP 6.4 安全域配置完全兼容,因此它们不需要通过 JBoss 服务器迁移工具进行更新。但是,如果 application-users.properties
、application-roles.properties
、mgmt-users.properties
和 mgmt-groups.properties
文件不会被引用,工具会使用迁移的配置文件预期的路径。
要跳过安全域迁移,请将 security-realms.migrate-properties.skip 环境
属性设置为 true
。
6.3.10. 将默认 SSL 服务器身份添加到 ApplicationRealm
JBoss EAP 7.4 默认配置包含默认的 ApplicationRealm
安全域的 SSL 服务器身份。JBoss 服务器迁移工具自动将此身份添加到迁移的配置文件中。
要跳过这个身份的添加,请将 security-realm.ApplicationRealm.add-ssl-server-identity.skip
环境属性设置为 true
。
第 7 章 将 JBoss EAP 7.3 配置迁移到 JBoss EAP 7.4
7.1. 将 JBoss EAP 7.3 Standalone Server 迁移到 JBoss EAP 7.4
默认情况下,JBoss 服务器迁移工具在将单机服务器配置从 JBoss EAP 7.3 迁移到 JBoss EAP 7.4 时执行以下任务。
7.1.1. 删除 Unsupported 子系统
JBoss 服务器迁移工具从迁移的服务器配置中移除所有不支持的子系统配置和扩展。在删除时,工具会将每个子系统和扩展记录到其日志文件和控制台。
- 注意
- JBoss EAP 7.3 中不支持的任何子系统,但由管理员添加到该服务器,也不支持 JBoss EAP 7.4,并将被删除。
要跳过删除不支持的子系统,请将 subsystem .remove-unsupported-subsystems.skip
环境属性设置为 true
。
您可以覆盖 JBoss 服务器迁移工具的默认行为,并使用以下环境属性指定在迁移期间应包含或排除哪些子系统和扩展。
属性名称 | 属性描述 |
---|---|
|
不应迁移的模块名称列表,如 |
|
应始终迁移的扩展模块名称列表,如 |
|
子系统命名空间列表,即从未迁移的版本列表,例如:urn: |
|
子系统命名空间列表,包括应始终迁移的版本,如 |
7.1.2. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移单机服务器配置所引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
-
由
数据源子系统
配置引用的模块被迁移为数据源驱动程序模块。 -
由
ee
子系统配置引用的模块将迁移为全局模块。 -
由
naming
子系统配置引用的模块被迁移为对象工厂模块。 -
由
messaging
子系统配置引用的模块被迁移为 Jakarta Messaging bridge 模块。 - 由 vault 配置引用的模块迁移到新配置。
- 所有在目标配置中安装的扩展都会迁移到目标服务器配置中。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
7.1.3. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
7.1.4. 添加 健康
子系统
JBoss EAP 7.4 健康
子系统提供对服务器健康功能的支持。JBoss 服务器迁移工具会自动将默认的 健康
子系统配置添加到迁移的配置文件中。
要跳过添加 健康
子系统配置,请将 subsystem.health.add.skip
环境属性设置为 true
。
将 health
子系统添加到 JBoss EAP 7.4 后,您将在 web 控制台中看到以下消息:
INFO Subsystem health added.
7.1.5. 添加 指标子系统
JBoss EAP 7.4 指标子系统支持服务器 的指标
功能。JBoss 服务器迁移工具会自动将默认 指标子系统
配置添加到迁移的配置文件中。
要跳过添加指标子系统配置,请将 subsystem.
环境属性设置为 metrics
.add.skiptrue
。
将 指标子系统
添加到 JBoss EAP 7.4 后,您将在 web 控制台中看到以下消息:
INFO Subsystem metrics added.
7.1.6. 迁移兼容的安全性 Realms
由于 JBoss EAP 7.4 安全域配置与 JBoss EAP 7.3 安全域配置完全兼容,因此它们不需要通过 JBoss 服务器迁移工具进行更新。但是,如果 application-users.properties
、application-roles.properties
、mgmt-users.properties
和 mgmt-groups.properties
文件不会被引用,工具会使用迁移的配置文件预期的路径。
要跳过安全域迁移,请将 security-realms.migrate-properties.skip 环境
属性设置为 true
。
7.1.7. 迁移部署
JBoss 服务器迁移工具可迁移以下类型的独立服务器部署配置:
部署迁移包括在目标服务器上安装相关的 file 资源,并可能需要更新迁移的配置。
JBoss 服务器迁移工具已预先配置为在非互动模式中运行时默认跳过部署。要启用部署迁移,请将 deployments.migrate-deployments.skip
environment 属性设置为 false
。
请注意,当您以互动模式运行 JBoss 服务器迁移工具并输入无效的输入时,结果行为取决于 deployments.migrate-deployments
环境属性值。
-
如果
deployments.migrate-deployments.skip
设为false
,并且您输入无效的输入,则工具将尝试迁移部署。 -
如果
deployments.migrate-deployments.skip
设为true
,并且您输入无效的输入,则该工具将跳过部署迁移。
要启用特定类型的部署迁移,请参阅以下部分。
JBoss 服务器迁移工具并不决定部署的资源是否与目标服务器兼容。这意味着,应用程序或资源可能无法按预期工作,或者可能根本无法正常工作。另请注意,JBoss EAP 7.3 *-jms.xml
配置文件等工件在没有修改的情况下复制,并可能导致 JBoss EAP 服务器使用错误引导。
红帽建议您使用 Migration Toolkit for Applications(MTA)来分析部署,以确定不同 JBoss EAP 服务器之间的兼容性。如需更多信息,请参阅 Migration Toolkit for Applications 的产品文档。
7.1.7.1. 迁移永久部署
要在非互动模式下运行时启用持久性部署迁移,请将 deployments.migrate-persistent-deployments.skip
environment 属性设置为 false
。
JBoss 服务器迁移工具可搜索任何永久部署参考,并将其列出到控制台。
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移永久部署
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移持久部署。只有在 deployments.migrate-deployments.skip
和 deployments.migrate-persistent-deployments.skip
属性都设为 false
时,才会迁移持久性部署。
在互动模式中迁移永久部署
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的持久部署后,您会看到以下提示。
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration? yes/no?
-
使用
yes
来跳过持续部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all persistent deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
使用
7.1.7.2. 迁移部署扫描器
部署扫描程序仅用于单机服务器配置,监控新文件的目录,以及自动或通过特殊部署标志文件管理其部署。
要在非互动模式中运行时,启用位于由部署扫描程序监视的目录中的部署迁移,请将 deployments.migrate-deployment-deployments.skip
环境属性设置为 false
。
迁移独立服务器配置时,JBoss 服务器迁移工具首先搜索任何配置的部署扫描程序。对于发现的每个扫描程序,它会搜索其监控目录以查找标记为部署的部署,并将结果打印到控制台。
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移部署扫描器
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移部署扫描程序部署。只有 deployments.migrate-deployments.skip
和 deployments.migrate-deployment-scanner-deployments.skip
属性都设为 false
时,才会迁移部署扫描器部署。
在互动模式中迁移部署扫描器
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的部署扫描程序部署后,您会看到以下提示。
This tool is not able to assert if the scanner's deployments found are compatible with the target server, skip scanner's deployments migration? yes/no?
-
使用
yes
来跳过部署扫描器部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all scanner's deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate scanner's deployment 'helloworld02.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#69] Resource with path EAP_HOME/standalone/deployments/helloworld02.war migrated.
-
使用
7.1.7.3. 迁移部署覆盖
部署覆盖的迁移是一个完全自动化的过程。如果您已通过将 deployments.migrate-deployments.skip
环境属性设置为 false
来启用部署迁移,则 JBoss 服务器迁移工具会搜索在链接到迁移部署的独立服务器配置中引用的部署覆盖。它会自动迁移找到、删除未引用的那些未引用的对象,并将结果记录到其日志文件和控制台。
7.2. 将 JBoss EAP 7.3 受管域迁移到 JBoss EAP 7.4
使用 JBoss 服务器迁移工具时,在迁移主机前迁移域控制器以确保域控制器必须在与主机使用的版本进行比较时,使用更新的 EAP 版本。例如,EAP 7.3 上运行的域控制器无法处理 EAP 7.4 上运行的主机。
有关支持的配置的更多信息,请参阅 JBoss EAP 配置指南中的 管理多个 JBoss EAP 版本。
默认情况下,JBoss 服务器迁移工具在将托管域配置从 JBoss EAP 7.3 迁移到 JBoss EAP 7.4 时执行以下任务。
7.2.1. 删除 Unsupported 子系统
JBoss 服务器迁移工具从迁移的服务器配置中移除所有不支持的子系统配置和扩展。在删除时,工具会将每个子系统和扩展记录到其日志文件和控制台。
- 注意
- JBoss EAP 7.3 中不支持的任何子系统,但由管理员添加到该服务器,也不支持 JBoss EAP 7.4,并将被删除。
要跳过删除不支持的子系统,请将 subsystem .remove-unsupported-subsystems.skip
环境属性设置为 true
。
您可以覆盖 JBoss 服务器迁移工具的默认行为,并使用以下环境属性指定在迁移期间应包含或排除哪些子系统和扩展。
属性名称 | 属性描述 |
---|---|
|
不应迁移的模块名称列表,如 |
|
应始终迁移的扩展模块名称列表,如 |
|
子系统命名空间列表,即从未迁移的版本列表,例如:urn: |
|
子系统命名空间列表,包括应始终迁移的版本,如 |
7.2.2. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移由受管域配置引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
-
由
数据源子系统
配置引用的模块被迁移为数据源驱动程序模块。 -
由
ee
子系统配置引用的模块将迁移为全局模块。 -
由
naming
子系统配置引用的模块被迁移为对象工厂模块。 -
由
messaging
子系统配置引用的模块被迁移为 Jakarta Messaging bridge 模块。 - 由 vault 配置引用的模块迁移到新配置。
- 所有在目标配置中安装的扩展都会迁移到目标服务器配置中。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
7.2.3. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
7.2.4. 添加主机 Excludes
JBoss EAP 7.4 域控制器可能包含在较旧版本的服务器上运行的主机不支持的功能。host-exclude
配置指定应该从那些较老版本隐藏的资源。
迁移域控制器配置时,JBoss 服务器迁移工具会添加内容,或将源服务器的 host-exclude
配置替换为目标 JBoss EAP 7.4 服务器配置。
JBoss 服务器迁移工具会自动更新 host-exclude
配置,并将结果记录到其日志文件和控制台。
INFO Host-excludes configuration added.
7.2.5. 迁移部署
JBoss 服务器迁移工具可迁移以下类型的受管域部署配置:
部署迁移包括在目标服务器上安装相关的 file 资源,并可能需要更新迁移的配置。
JBoss 服务器迁移工具已预先配置为在非互动模式中运行时默认跳过部署。要启用部署迁移,请将 deployments.migrate-deployments.skip
environment 属性设置为 false
。
请注意,当您以互动模式运行 JBoss 服务器迁移工具并输入无效的输入时,结果行为取决于 deployments.migrate-deployments
环境属性值。
-
如果
deployments.migrate-deployments.skip
设为false
,并且您输入无效的输入,则工具将尝试迁移部署。 -
如果
deployments.migrate-deployments.skip
设为true
,并且您输入无效的输入,则该工具将跳过部署迁移。
要启用特定类型的部署迁移,请参阅以下部分。
JBoss 服务器迁移工具并不决定部署的资源是否与目标服务器兼容。这意味着,应用程序或资源可能无法按预期工作,或者可能根本无法正常工作。另请注意,JBoss EAP 7.3 *-jms.xml
配置文件等工件在没有修改的情况下复制,并可能导致 JBoss EAP 服务器使用错误引导。
红帽建议您使用 Migration Toolkit for Applications(MTA)来分析部署,以确定不同 JBoss EAP 服务器之间的兼容性。如需更多信息,请参阅 Migration Toolkit for Applications 的产品文档。
7.2.5.1. 迁移永久部署
要在非互动模式下运行时启用持久性部署迁移,请将 deployments.migrate-persistent-deployments.skip
environment 属性设置为 false
。
JBoss 服务器迁移工具可搜索任何永久部署参考,并将其列出到控制台。
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
然后,处理工作流取决于您是否 在交互模式中 运行工具,还是在 非交互模式 中运行,如下所述。
在非互动模式中迁移永久部署
如果您以非互动模式运行该工具,该工具使用预配置的属性来确定是否迁移持久部署。只有在 deployments.migrate-deployments.skip
和 deployments.migrate-persistent-deployments.skip
属性都设为 false
时,才会迁移持久性部署。
在互动模式中迁移永久部署
如果您以交互模式运行该工具,JBoss Server Migration Tool 会提示您使用以下工作流进行每次部署。
在打印到控制台的持久部署后,您会看到以下提示。
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration? yes/no?
-
使用
yes
来跳过持续部署的迁移。所有部署引用都会从迁移的配置中删除,您最终会作为迁移过程的一部分删除。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,请查看以下提示。
Migrate all persistent deployments found? yes/no?
-
使用
yes
来自动迁移所有部署,并在迁移过程中结束这一部分。 -
快速响应
,不
继续迁移。
-
使用
如果您选择继续,您会收到提示确认每个引用的部署迁移。
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
使用
yes
做出迁移部署的响应。 响应时
没有从
迁移的配置中移除部署。INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
使用
7.2.5.2. 迁移部署覆盖
部署覆盖的迁移是一个完全自动化的过程。如果您已通过将 deployments.migrate-deployments.skip
环境属性设置为 false
来启用部署迁移,则 JBoss 服务器迁移工具会搜索在链接到迁移部署的独立服务器配置中引用的部署覆盖。它会自动迁移找到、删除未引用的那些未引用的对象,并将结果记录到其日志文件和控制台。
7.3. 将 JBoss EAP 7.3 主机配置迁移到 JBoss EAP 7.4
默认情况下,JBoss 服务器迁移工具在将主机服务器配置从 JBoss EAP 6.4 迁移到 JBoss EAP 7.4 时执行以下任务。
7.3.1. 迁移参考模块
从源服务器迁移到目标服务器的配置可能会引用或依赖目标服务器上未安装的模块。JBoss 服务器迁移工具可检测并自动迁移所引用的模块,以及它们的依赖模块(从源服务器到目标服务器)。
使用以下步骤迁移由主机服务器配置引用的模块。
- 由安全域配置引用的模块将迁移为插件模块。
控制台会记录一个信息,指出迁移的任何模块的模块 ID。通过在 modules.excludes
环境属性中指定模块 ID,可以排除特定模块的迁移。如需更多信息 ,请参阅配置模块迁移。
7.3.2. 迁移参考路径
从源服务器迁移到目标服务器的配置可能会引用或依赖必须迁移到目标服务器的文件路径和目录。JBoss 服务器迁移工具不会迁移绝对路径参考。它只会迁移配置为相对于源配置的文件和目录。控制台会记录一条消息,指出迁移的每个路径。
JBoss 服务器迁移工具自动迁移以下路径参考:
- Vault 密钥存储和加密的文件的目录。
要跳过引用路径的迁移,请将 path .migrate-paths-requested-by-configuration.vault.skip
环境属性设置为 true
。
7.3.3. 迁移兼容的安全性 Realms
由于 JBoss EAP 7.4 安全域配置与 JBoss EAP 7.3 安全域配置完全兼容,因此它们不需要通过 JBoss 服务器迁移工具进行更新。但是,如果 application-users.properties
、application-roles.properties
、mgmt-users.properties
和 mgmt-groups.properties
文件不会被引用,工具会使用迁移的配置文件预期的路径。
要跳过安全域迁移,请将 security-realms.migrate-properties.skip 环境
属性设置为 true
。
附录 A. 参考资料
A.1. 任务摘要报告示例
以下是 Task Summary 报告的示例。
------------- Task Summary ------------- server ............................................................................................................ SUCCESS standalone ....................................................................................................... SUCCESS standalone-configurations ....................................................................................... SUCCESS standalone-configuration(source=/home/username/jboss-eap-6.4/standalone/configuration/standalone-full-ha.xml) .. SUCCESS standalone-configuration(source=/home/username/jboss-eap-6.4/standalone/configuration/standalone-full.xml) ..... SUCCESS standalone-configuration(source=/home/username/jboss-eap-6.4/standalone/configuration/standalone-ha.xml) ....... SUCCESS standalone-configuration(source=/home/username/jboss-eap-6.4/standalone/configuration/standalone-osgi.xml) ..... SUCCESS standalone-configuration(source=/home/username/jboss-eap-6.4/standalone/configuration/standalone.xml) .......... SUCCESS domain ........................................................................................................... SUCCESS domain-configurations ........................................................................................... SUCCESS domain-configuration(source=/home/username/jboss-eap-6.4/domain/configuration/domain.xml) ...................... SUCCESS host-configurations ............................................................................................. SUCCESS host-configuration(source=/home/username/jboss-eap-6.4/domain/configuration/host-master.xml) ................... SUCCESS host-configuration(source=/home/username/jboss-eap-6.4/domain/configuration/host-slave.xml) .................... SUCCESS host-configuration(source=/home/username/jboss-eap-6.4/domain/configuration/host.xml) .......................... SUCCESS -------------------------- Migration Result: SUCCESS --------------------------
A.2. HTML 报告示例
以下是 JBoss 服务器迁移 HTML 报告的示例。
图 A.1. 示例:部分概述
图 A.2. 示例:任务详情页面
A.3. XML 报告示例
以下是 JBoss 服务器迁移 XML 报告的示例:
<?xml version="1.0" ?> <server-migration-report xmlns="urn:jboss:server-migration:1.0" start-time="Mon, 30 Oct 2017 16:13:30 UTC"> <servers> <source name="EAP" version="6.4.0.GA" base-dir="/home/username/tools/jboss-eap-6.4"/> <target name="JBoss EAP" version="7.1.0.GA" base-dir="/home/username/tools/jboss-eap-7.1"/> </servers> <environment> <property name="baseDir" value="/home/username/tools/jboss-eap-7.1/migration"/> <property name="deployments.migrate-deployment-scanner-deployments.processedDeploymentScannerDirs" value="/home/username/tools/jboss-eap-6.4/standalone/deployments"/> <property name="report.html.fileName" value="migration-report.html"/> <property name="report.html.maxTaskPathSizeToDisplaySubtasks" value="4"/> <property name="report.html.templateFileName" value="migration-report-template.html"/> <property name="report.summary.maxTaskPathSizeToDisplaySubtasks" value="3"/> <property name="report.xml.fileName" value="migration-report.xml"/> <property name="subsystem.ee.update.setup-javaee7-default-bindings.defaultDataSourceName" value="ExampleDS"/> <property name="subsystem.ee.update.setup-javaee7-default-bindings.defaultJmsConnectionFactoryName" value="hornetq-ra"/> <property name="subsystem.logging.update.remove-console-handler.skip" value="true"/> </environment> <task number="1" name="server"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#1"/> <result status="SUCCESS"/> <subtasks> <task number="2" name="modules.migrate-modules-requested-by-user"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#2"/> <result status="SKIPPED"/> </task> <task number="3" name="standalone"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#3"/> <result status="SUCCESS"/> <subtasks> <task number="4" name="contents.standalone.migrate-content-dir"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#4"/> <result status="SKIPPED"/> </task> <task number="5" name="standalone-configurations"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#5"/> <result status="SUCCESS"/> <subtasks> <task number="6" name="standalone-configuration(source=/home/username/tools/jboss-eap-6.4/standalone/configuration/standalone-full-ha.xml)"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#6"/> <result status="SUCCESS"/> <subtasks> <task number="7" name="subsystems.remove-unsupported-subsystems"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#7"/> <result status="SUCCESS"/> <subtasks> <task number="8" name="subsystems.remove-unsupported-subsystems.remove-unsupported-extension(module=org.jboss.as.cmp)"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#8"/> <result status="SUCCESS"/> </task> </substasks> </task> ... <task number="644" name="hosts"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#644"/> <result status="SUCCESS"/> ... <subtasks> ... <task number="645" name="host(name=master)"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#645"/> <result status="SUCCESS"/> <subtasks> ... <task number="661" name="security-realms.migrate-properties"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#661"/> <result status="SUCCESS"/> <subtasks> <task number="662" name="security-realm.ManagementRealm.migrate-properties"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#662"/> <result status="SUCCESS"/> </task> <task number="663" name="security-realm.ApplicationRealm.migrate-properties"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#663"/> <result status="SUCCESS"/> </task> </subtasks> </task> <task number="664" name="security-realm.ApplicationRealm.add-ssl-server-identity"> <logger logger="org.jboss.migration.core.task.ServerMigrationTask#664"/> <result status="SUCCESS"/> </task> </subtasks> </task> </subtasks> </task> </subtasks> </task> </subtasks> </task> </subtasks> </task> </subtasks> </task> </server-migration-report>
更新于 2024-02-08